魏銀英,王煥章,皮建軍,于彥偉
(陜西凌云電器集團(tuán)有限公司設(shè)計(jì)所,陜西寶雞 721006)
與軟件開發(fā)有過程模型類似,軟件測試過程也有模型。軟件測試模型是軟件測試工作的依據(jù),描述了軟件測試過程要開展的主要活動,及彼此之間的相互關(guān)系等。另外,由于軟件測試是軟件開發(fā)過程的一個生存周期階段,因此軟件測試模型還需要描述軟件測試各項(xiàng)活動與軟件開發(fā)過程各項(xiàng)活動之間的相互關(guān)系。依據(jù)測試模型,可以了解測試的相關(guān)內(nèi)容[1]。
V模型是常用和容易被接收的軟件測試模型,也適用于GJB5000A二級過程域中所使用的測試模型。V模型由PaulRook在80年代后期提出,它將測試過程分為不同階段進(jìn)行,分別對應(yīng)軟件開發(fā)的各個階段。如:單元測試階段檢查軟件代碼是否符合設(shè)計(jì)階段的詳細(xì)設(shè)計(jì)要求;集成測試檢查各集成部件是否符合概要設(shè)計(jì)要求;配置項(xiàng)合格性測試階段檢查CSCI是否符合軟件需求分析階段的軟件需求規(guī)格說明的要求,每個測試階段在通過評審后才能進(jìn)入下一個測試階段。V 模型圖如圖1所示[2]。
圖1 V模型
在GJB5000A二級的貫標(biāo)實(shí)施過程中,軟件測試過程可以使用基于V模型的軟件測試模型開展。在GJB5000A過程體系中基于V模型的軟件測試流程如圖2所示。
圖2所示,(1)在軟件需求規(guī)格說明發(fā)布后,軟件測試人員開始軟件配置項(xiàng)合格性測試策劃,但策劃到何種程度,檢查軟件配置項(xiàng)合格性測試策劃文檔的初稿依據(jù),文檔內(nèi)容質(zhì)量的要求,測試用例設(shè)計(jì)的進(jìn)度等均未明確。(2)在執(zhí)行單元和集成測試時,若被測試軟件是由匯編語言等實(shí)現(xiàn)的,由于沒有合適的測試工具只能進(jìn)行靜態(tài)分析、審查,則單元和集成測試是否可合并到配置項(xiàng)合格性測試階段執(zhí)行?(3)對于測試過程中發(fā)現(xiàn)的測試問題及形成的測試用例應(yīng)如何管理?測試問題報(bào)告單和測試用例集是否可以單獨(dú)納入配置管理?(4)測試問題是否由軟件設(shè)計(jì)師一人決定或解決?不能解決或確認(rèn)不解決且沒有影響的問題應(yīng)該執(zhí) 行什么樣的處理流程?
圖2 GJB5000A過程體系中基于V模型的軟件測試流程
因此軟件測試流程管理并不規(guī)范,為提升軟件測試效率,達(dá)到提高軟件產(chǎn)品質(zhì)量的目的,改善上述軟件測試流程是必要的。
根據(jù)以上對GJB5000A過程體系中基于V模型的軟件測試流程的介紹和分析,文中對GJB5000A體系中基于V模型的軟件測試流程進(jìn)行了改進(jìn),發(fā)掘其流程中存在的不足,同時考慮測試過程的合理性和可控性,改進(jìn)后的測試流程如圖3所示。
圖3 改進(jìn)后的GJB5000A過程體系中基于V模型的軟件測試流程
圖3所示:(1)針對配置項(xiàng)合格性測試文檔初稿 制定了檢查單,明確了配置項(xiàng)合格性測試文檔應(yīng)完成的工作。(2)明確非C/C++語言實(shí)現(xiàn)的軟件代碼可以把單元及集成測試合并到軟件配置項(xiàng)合格性測試階段進(jìn)行。而軟件源代碼和目標(biāo)碼的入受控庫時機(jī)則由原來的單元測試結(jié)束后改為軟件源代碼同行評審后。(3)針對測試問題和測試用例的管理問題,把測試用例形成測試用例集進(jìn)行入受控庫管理操作,把測試問題報(bào)告單入受控庫管理。(4)針對測試問題的處理流程,明確不予解決的測試問題通知利益相關(guān)方。
儀表著陸功能軟件是某型飛機(jī)通信導(dǎo)航識別(CNI)功能子系統(tǒng)儀表著陸(ILS)功能的處理軟件。它能為飛機(jī)進(jìn)場著陸提供方位﹑下滑引導(dǎo),性能滿足Ⅱ類著陸要求,當(dāng)引導(dǎo)信號不正?;虿豢煽繒r能產(chǎn)生告警信息[3-5]。
儀表著陸功能軟件開發(fā)小組共4名成員,采用結(jié)構(gòu)化開發(fā)方法進(jìn)行項(xiàng)目開發(fā),而采用改進(jìn)后的GJB5000A過程體系中基于V模型的軟件測試流程進(jìn)行軟件測試。即軟件測試人員在軟件需求規(guī)格說明發(fā)布后開始軟件配置項(xiàng)合格性測試策劃工作,并接受項(xiàng)目SQA人員使用檢查單進(jìn)行審查,確保軟件配置項(xiàng)合格性測試策劃工作開展的規(guī)范性和有效性;對于C語言實(shí)現(xiàn)的DSP軟件,在軟件編碼完成后開展單元測試工作,對于測試中發(fā)現(xiàn)的問題經(jīng)與軟件項(xiàng)目主管和軟件設(shè)計(jì)師溝通后,對于確認(rèn)不解決的問題由項(xiàng)目經(jīng)理、主管所領(lǐng)導(dǎo)和軍代表簽字后在單元測試結(jié)束時同軟件問題報(bào)告單一起入受控庫,并將測試用例或測試代碼也一同入受控庫,如此流程開展軟件集成測試,直到軟件配置項(xiàng)合格性測試結(jié)束,對于VHDL語言實(shí)現(xiàn)的FPGA存儲器軟件,則在代碼同行評審后把軟件源代碼和目標(biāo)碼入受控庫,直接轉(zhuǎn)入軟件配置項(xiàng)合格性測試階段,但要求軟件配置項(xiàng)合格性測試必須進(jìn)行軟件文檔和代碼審查工作[6]。儀表著陸功能軟件在項(xiàng)目組4個成員近3個月的共同努力下,圓滿完成了開發(fā)及測試任務(wù)。表1為收集的該項(xiàng)目使用改進(jìn)后的軟件測試流程前后進(jìn)行軟件測試所產(chǎn)生的平均成效數(shù)據(jù)。
表1 實(shí)施成效
通過表1數(shù)據(jù)可看出,在GJB5000A體系執(zhí)行過程中,使用改進(jìn)后的基于V模型的軟件測試流程,不僅可節(jié)約軟件的開發(fā)成本、提高軟件的生產(chǎn)效率、提升軟件產(chǎn)品的質(zhì)量,且可提升用戶的滿意度和軟件產(chǎn)品的可維護(hù)性。這表明在執(zhí)行GJB5000A過程體系時,使用改進(jìn)后的V模型軟件測試流程與改進(jìn)前的軟件測試流程相比具有很多的優(yōu)越性。
分析介紹了軟件測試模型中常用的V模型及在GJB5000A過程體系中基于V模型的軟件測試流程,在此基礎(chǔ)上提出了一種更合理有效的軟件測試流程,并應(yīng)用于無線電軍用航空領(lǐng)域某型儀表著陸軟件測試中,在實(shí)踐中取得了良好的效果。
[1]黃龍水,黃誠學(xué).軟件測試模型介紹[J].艦船電子工程,2004,24(3):35 -38.
[2]劉超.基于擴(kuò)展V模型的軟件測試[J].玉林師范學(xué)院學(xué)報(bào),2006,5(10):26.
[3]陜西凌云電器集團(tuán)有限公司.某型飛機(jī)通信導(dǎo)航識別(CNI)功能子系統(tǒng)儀表著陸(ILS)功能軟件研制任務(wù)書[S].寶雞:陜西凌云電器集團(tuán)有限公司,2012.
[4]余俊,張菊萍,趙莉.嵌入式軟件測試過程中的并行工程應(yīng)用[J].電子科技,2008,21(8):57 -60.
[5]黃麗芬.軟件測試數(shù)據(jù)自動生成算法的仿真研究[J].計(jì)算機(jī)仿真,2012,29(10):245 -247,382.
[6]孟祥豐.軟件測試模型及其改進(jìn)方案[J].電子設(shè)計(jì)工程,2012,20(23):380 -340.