一種基于fog數(shù)據(jù)的軟件驗證方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機軟件程序開發(fā)的測試驗證的技術(shù)領(lǐng)域,特別涉及一種基于FOG數(shù)據(jù)的軟件驗證方法及裝置。
【背景技術(shù)】
[0002]目前在軟件開發(fā)的周期中,對開發(fā)軟件代碼的驗證方法一般通過評審和測試來進行,會在每個階段結(jié)束時進行評審和測試,分階段對開發(fā)的程序代碼進行驗證。
[0003]現(xiàn)行的評審方法和流程是,通過評審會對文檔進行評審,找出問題并給出評審意見。根據(jù)評審意見,再結(jié)合代碼測試進行驗證。
[0004]由此可見,一方面,代碼的測試往往處于軟件開發(fā)周期的后半階段,在此階段需要修改,則必須通過嚴格的變更流程,修改過程中的影響分析以及修改后的重驗證等成本都遠遠大于在研發(fā)階段前期發(fā)現(xiàn)問題的代價;另一方面,文檔的評審主要以評審會的形式為主,在短短的會議期間內(nèi),無法對文檔進行全面的檢查,尤其是需求條目和設(shè)計條目,無法保證評審后的每一條需求或者設(shè)計條目都能達到所有的質(zhì)量要求,如:可追蹤性、可驗證性、無歧義性等;再者,不是所有的文檔都需要評審,某些未經(jīng)過評審驗證的文件,可能由于自身存在的缺陷而影響后續(xù)軟件數(shù)據(jù)的質(zhì)量;最后,由于評審的對象是文檔,因此只能在文檔全部完成以后進行,無法對先完成的部分進行驗證,從而影響軟件開發(fā)的進度。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的內(nèi)容是提供一種基于FOG數(shù)據(jù)的軟件驗證方法及裝置,以克服現(xiàn)有技術(shù)中以文檔為粒度進行評審測試,且只能在軟件生命周期后半階段進行評審測試的缺點。
[0006]為解決上述技術(shù)問題,本發(fā)明提供一種基于FOG數(shù)據(jù)的軟件驗證方法及裝置是這樣實現(xiàn)的:
[0007]—種基于FOG數(shù)據(jù)的軟件驗證裝置,在軟件開發(fā)過程分階段評審前對評審文檔中的FOG數(shù)據(jù)進行逐條核查驗證,包括:
[0008]FOG數(shù)據(jù)核查項配置模塊,根據(jù)需要核查的核查項,對所述FOG數(shù)據(jù)核查項的軟件等級屬性進行配置,建立所述FOG數(shù)據(jù)核查項的軟件等級屬性與需要核查的所述核查項的關(guān)耳關(guān)關(guān)系;
[0009]核查任務(wù)分配模塊,根據(jù)所述核查項的內(nèi)容和關(guān)聯(lián)的所述FOG數(shù)據(jù),分配核查任務(wù)給各角色,根據(jù)核查任務(wù)中關(guān)聯(lián)的所述FOG數(shù)據(jù)、核查項、角色建立核查凍結(jié),并檢查所述核查任務(wù)分配的合理性,包括任務(wù)對象合理性、任務(wù)時間合理性、任務(wù)操作合理性中的一項或多項;
[0010]核查任務(wù)執(zhí)行模塊,依據(jù)所述核查任務(wù)的分配信息,各角色在權(quán)限下執(zhí)行所述核查任務(wù),使用所述核查項對所述FOG數(shù)據(jù)進行相應(yīng)核查模式的核查,并生成核查報告。
[0011]還具有權(quán)限設(shè)置模塊,用于對用戶進行角色分配,根據(jù)各角色對應(yīng)的等級不同,進行相應(yīng)的權(quán)限設(shè)置;各角色在權(quán)限限定的范圍內(nèi)可查看到分配的核查項配置任務(wù)或FOG數(shù)據(jù)驗證任務(wù)。
[0012]所述核查任務(wù)執(zhí)行模塊的所述核查模式包括:非條目化FOG數(shù)據(jù)核查、高層需求核查、設(shè)計核查、測試用例及規(guī)程核查、源代碼核查的一種或多種。
[0013]所述核查任務(wù)執(zhí)行模塊針對未通過核查的FOG數(shù)據(jù),形成問題報告,并自動將問題來源定位到所述核查任務(wù);對于由同個問題導(dǎo)致的多個不同核查項不通過,所述核查任務(wù)執(zhí)行模塊提供關(guān)聯(lián)功能,將未通過的核查項關(guān)聯(lián)到已提出的問題上,并自動更新被關(guān)聯(lián)的問題報告中的問題來源。
[0014]所述核查任務(wù)執(zhí)行模塊在核查任務(wù)提交后進行核查任務(wù)審核和自動校驗,包括:檢查核查是否執(zhí)行完畢,未通過的核查項是否關(guān)聯(lián)問題,是否所有FOG數(shù)據(jù)都經(jīng)過了審核中的一項或多項。
[0015]所述驗證任務(wù)以FOG數(shù)據(jù)為單位進行;將建立所述核查凍結(jié)的所述FOG數(shù)據(jù)作為所述核查任務(wù)的基準,并進行存儲。
[0016]一種基于FOG數(shù)據(jù)的軟件驗證方法,包括:
[0017]FOG數(shù)據(jù)核查項配置步驟,根據(jù)用戶需要核查的核查項,對所述FOG數(shù)據(jù)核查項的軟件等級屬性進行配置,建立所述FOG數(shù)據(jù)核查項的軟件等級屬性與需要核查的所述核查項的關(guān)聯(lián)關(guān)系;
[0018]核查任務(wù)分配步驟,根據(jù)所述核查項的內(nèi)容和關(guān)聯(lián)的所述FOG數(shù)據(jù),分配核查任務(wù)給各角色,根據(jù)核查任務(wù)中關(guān)聯(lián)的所述FOG數(shù)據(jù)、核查項、角色建立核查凍結(jié),并檢查所述核查任務(wù)分配的合理性,包括任務(wù)對象合理性、任務(wù)時間合理性、任務(wù)操作合理性中的一項或多項;
[0019]核查任務(wù)執(zhí)行步驟,依據(jù)所述核查任務(wù)的分配信息,各角色在權(quán)限下執(zhí)行所述核查任務(wù),使用所述核查項對所述FOG數(shù)據(jù)進行相應(yīng)核查模式的核查,并生成核查報告。
[0020]還具有權(quán)限設(shè)置步驟,在驗證前對用戶進行角色分配,根據(jù)各角色對應(yīng)的等級不同,進行相應(yīng)的權(quán)限設(shè)置;各角色在權(quán)限限定的范圍內(nèi)可查看到分配的核查項配置任務(wù)或FOG數(shù)據(jù)驗證任務(wù)。
[0021]在所述核查任務(wù)執(zhí)行步驟中的所述核查模式包括:非條目化FOG數(shù)據(jù)核查、高層需求核查、設(shè)計核查、測試用例及規(guī)程核查、源代碼核查的一種或多種。
[0022]針對所述核查任務(wù)執(zhí)行過程中未通過核查的FOG數(shù)據(jù),提出問題報告,并自動將問題來源定位到所述核查任務(wù);對于由同個問題導(dǎo)致的多個不同核查項不通過時,所述核查任務(wù)執(zhí)行步驟提供關(guān)聯(lián)功能,將未通過的核查項關(guān)聯(lián)到已提出的問題上,并自動更新被關(guān)聯(lián)的問題報告中的問題來源。
[0023]所述核查任務(wù)執(zhí)行步驟在核查任務(wù)提交后,進行核查任務(wù)審核和自動校驗,包括:檢查核查項是否執(zhí)行完畢,未通過的核查項是否關(guān)聯(lián)問題,是否所有FOG數(shù)據(jù)都經(jīng)過了審核中的一項或多項。
[0024]所述驗證任務(wù)以FOG數(shù)據(jù)為單位進行;將建立所述核查凍結(jié)的所述FOG數(shù)據(jù)作為所述核查任務(wù)的基準,并進行存儲。
【附圖說明】
[0025]圖1為基于FOG數(shù)據(jù)的軟件驗證裝置框圖;
[0026]圖2為基于FOG數(shù)據(jù)的軟件驗證方法流程圖。
【具體實施方式】
[0027]本發(fā)明提供一種基于FOG數(shù)據(jù)的軟件驗證方法及裝置,在分階段評審前,針對評審文檔中的FOG數(shù)據(jù)條目進行逐條核查驗證,以期在軟件開發(fā)的前期找出缺陷,全面提升和改進軟件驗證的的質(zhì)量,減少后期由于測試導(dǎo)致的回歸成本。
[0028]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和實施方式對本發(fā)明作進一步的詳細說明。
[0029]本領(lǐng)域技術(shù)人員知道,核查驗證是由軟件驗證人員根據(jù)某個活動的輸入對活動的輸出進行驗證,判斷其是否符合相應(yīng)目標的行為。
[0030]本發(fā)明的實施例中,本發(fā)明的軟件驗證裝置和方法都是基于FOG數(shù)據(jù)進行的,所述FOG數(shù)據(jù)是指可以操作的最小粒度數(shù)據(jù),其中基于FOG數(shù)據(jù)的核查驗證活動,包括非條目化FOG數(shù)據(jù)核查、高層需求核查、設(shè)計核查、測試用例及規(guī)程核查、源代碼核查的一種或多種。其中,非條目化FOG數(shù)據(jù)是指只有單條語義描述的FOG數(shù)據(jù),以段落(非條目)形式存在。與之對應(yīng)的是條目化FOG數(shù)據(jù),是指語義描述的條數(shù)超過一個以上的FOG數(shù)據(jù),通常以條目形式出現(xiàn)。
[0031]如圖1所示的本發(fā)明基于FOG數(shù)據(jù)的軟件驗證裝置。
[0032]基于FOG數(shù)據(jù)的軟件驗證裝置包括權(quán)限設(shè)置模塊11、F0G數(shù)據(jù)核查項配置模塊12、核查任務(wù)分配模塊13、核查任務(wù)驅(qū)動模塊14和核查任務(wù)執(zhí)行模塊15。
[0033]權(quán)限設(shè)置模塊11,在進行核查前對各種用戶進行角色分配,根據(jù)各角色對應(yīng)的等級不同,進行相應(yīng)的權(quán)限設(shè)置;各角色在權(quán)限限定的范圍內(nèi)可查看到分配的核查項配置任務(wù)或FOG數(shù)據(jù)驗證任務(wù)。
[0034]FOG數(shù)據(jù)核查項配置模塊12,根據(jù)用戶需要核查的核查項,對所述FOG數(shù)據(jù)核查項的軟件等級屬性進行配置,建立所述FOG數(shù)據(jù)核查項的軟件等級屬性與需要核查的所述核查項的關(guān)聯(lián)關(guān)系;一般而言FOG數(shù)據(jù)和核查項是多對多的關(guān)系,一個核查項可以適用于多個FOG數(shù)據(jù),一個FOG數(shù)據(jù)可以關(guān)聯(lián)多個核查項。對于不同安全要求的開發(fā)軟件對于FOG數(shù)據(jù)的核查要求不同,通過軟件等級屬性來建立核查項與FOG數(shù)據(jù)的關(guān)聯(lián),標識不同軟件等級所適用的FOG數(shù)據(jù)核查項。
[0035]核查任務(wù)分配模塊13,根據(jù)所述核查項的內(nèi)容和關(guān)聯(lián)的所述FOG數(shù)據(jù),分配核查任務(wù)給各角色,根據(jù)核查任務(wù)中關(guān)聯(lián)的所述FOG數(shù)據(jù)、核查項、角色建立核查凍結(jié),并檢查所述核查任務(wù)分配的合理性,包括任務(wù)對象合理性、任務(wù)時間合理性、任務(wù)操作合理性中的一項或多項;所述核查任務(wù)包括任務(wù)編號、任務(wù)名稱、執(zhí)行角色、計劃開始時間、計劃完成時間等基本信息。在核查任務(wù)分配時以FOG數(shù)據(jù)為粒度呈現(xiàn),通過配置核查任務(wù)與數(shù)據(jù)對象的對應(yīng)關(guān)系,確保數(shù)據(jù)對象能自動匹配到對應(yīng)的活動。核查任務(wù)一旦分配,將根據(jù)每條核查任務(wù),建立核查凍結(jié),凍結(jié)中的FOG數(shù)據(jù)將作為核查的基準,不能隨意修改。
[0036]核查任務(wù)驅(qū)動模塊14,根據(jù)分配好的核查任務(wù),相應(yīng)權(quán)限的角色驅(qū)動相應(yīng)核查任務(wù)的執(zhí)行。
[0037]核查任務(wù)執(zhí)行模塊15,依據(jù)所述核查任務(wù)的分配信息,各角色在權(quán)限下執(zhí)行所述核查任務(wù),使用所述核查項對所述FOG數(shù)據(jù)進行相應(yīng)核查模式的核查,并生成核查報告。
[0038]所述核查任務(wù)執(zhí)行模塊針對未通過核查的FOG數(shù)據(jù),將形成問題報告,并自動將問題來源定位到所述核查任務(wù);對于由同個問題導(dǎo)致的多個不同核查項不通過,所述核查任務(wù)執(zhí)行模塊提供關(guān)聯(lián)功能,將未通過的核查項關(guān)聯(lián)到已提出的問題上,并自動更新被關(guān)聯(lián)的問題報告中的問題來源。且在核查任務(wù)提交后進行核查任務(wù)審核和自動校驗,包括:檢查核查是否執(zhí)行完畢,未通過的核查項是否關(guān)聯(lián)問題,是否所有FOG數(shù)據(jù)都經(jīng)過了審核中的一項或多項。
[0039]在所述核查任務(wù)執(zhí)行步驟中的所述核查模式包括的非條目化FOG數(shù)據(jù)核查是對于選中的非條目化FOG數(shù)據(jù)進行逐條相關(guān)聯(lián)核查項的核查。
[0040]所述高層需求核查是對于高層需求信息所關(guān)聯(lián)或追蹤的依賴FOG數(shù)據(jù)列表進行追蹤和核查。
[0041]所述設(shè)計核查是針對設(shè)計信息中涉及的關(guān)聯(lián)或追蹤高層次需求以及依賴FOG數(shù)據(jù)進行核查。
[0042]所述測試用例及規(guī)程核查是根據(jù)測試規(guī)程信息所關(guān)聯(lián)或追蹤的所有測試用