鄭宣佩,李 丹
?
艦船電力推進(jìn)逆變器軟件測(cè)試模型的構(gòu)建與實(shí)現(xiàn)
鄭宣佩,李 丹
(武漢船用電力推進(jìn)裝置研究所,武漢 430064)
本文分析了艦船電力推進(jìn)逆變器軟件的特點(diǎn),討論了經(jīng)典軟件測(cè)試模型的特點(diǎn)和優(yōu)缺點(diǎn),提出了一種適用于艦船電力推進(jìn)逆變器軟件的新型測(cè)試模型;通過(guò)在艦船電力推進(jìn)逆變器軟件開(kāi)發(fā)的三種模型中的應(yīng)用,應(yīng)用結(jié)果表明,此軟件測(cè)試模型相對(duì)于經(jīng)典模型能更好的適用于艦船電力推進(jìn)逆變器軟件開(kāi)發(fā)、測(cè)試活動(dòng),更早地發(fā)現(xiàn)問(wèn)題,提高軟件的開(kāi)發(fā)效率。
艦船電力推進(jìn)逆變器軟件 軟件測(cè)試模型
艦船電力推進(jìn)逆變器通過(guò)改變電機(jī)定子電流的頻率來(lái)實(shí)現(xiàn)電機(jī)調(diào)速[1],由逆變橋、控制電路、濾波電路組成。逆變器軟件是逆變器的核心,是一組燒寫(xiě)在逆變器各組件控制器上的監(jiān)控軟件,用于監(jiān)視并控制逆變器,使其按實(shí)際需求進(jìn)行電機(jī)調(diào)速。
艦船電力推進(jìn)逆變器軟件具有采集精度高、層次多、算法復(fù)雜、可靠性安全性要求高、開(kāi)發(fā)周期短等特點(diǎn),軟件測(cè)試的效率和有效性直接影響到艦船電力推進(jìn)逆變器的質(zhì)量和研制進(jìn)度。
軟件測(cè)試和軟件開(kāi)發(fā)都應(yīng)遵循軟件工程原理,遵循管理學(xué)原理[2]。對(duì)于軟件測(cè)試模型的探討從未間斷,目前已產(chǎn)生了一些經(jīng)典的測(cè)試模型,這些模型對(duì)測(cè)試活動(dòng)進(jìn)行了抽象,明確了測(cè)試與開(kāi)發(fā)之間的關(guān)系,成為軟件測(cè)試活動(dòng)的理論依據(jù)[3]。一個(gè)好的軟件測(cè)試模型,應(yīng)具有以下特征:
1) 它將測(cè)試計(jì)劃、測(cè)試用例設(shè)計(jì)、測(cè)試執(zhí)行、還有測(cè)試結(jié)果收集與分析結(jié)合在一起;
2) 不同的測(cè)試技術(shù),應(yīng)用于不同的時(shí)間點(diǎn);
3) 使軟件設(shè)計(jì)中的錯(cuò)誤盡可能早地暴露[4]。
結(jié)合艦船電力推進(jìn)逆變器軟件特點(diǎn),本文提出一種艦船電力推進(jìn)逆變器軟件測(cè)試模型。通過(guò)在艦船電力推進(jìn)逆變器軟件開(kāi)發(fā)、測(cè)試中的應(yīng)用并比對(duì)經(jīng)典測(cè)試模型,得出本文提出的測(cè)試模型能更好的適用于艦船電力推進(jìn)逆變器軟件開(kāi)發(fā)、測(cè)試活動(dòng),更早地發(fā)現(xiàn)問(wèn)題,提高開(kāi)發(fā)、測(cè)試效率。
經(jīng)典測(cè)試模型主要有V模型、W模型、H模型。
V模型又叫RAD模型是軟件測(cè)試模型中廣泛應(yīng)用的一種模型,反映了測(cè)試活動(dòng)與軟件分析和軟件設(shè)計(jì)之間的關(guān)系,如圖1所示,描述了軟件需求分析、軟件概要設(shè)計(jì)、軟件詳細(xì)設(shè)計(jì)、編碼等基本開(kāi)發(fā)過(guò)程和驗(yàn)收測(cè)試、系統(tǒng)測(cè)試、集成測(cè)試、單元測(cè)試等測(cè)試行為及開(kāi)發(fā)與測(cè)試級(jí)間對(duì)應(yīng)關(guān)系[5]。
圖1 V模型
W模型如圖2所示,在V模型基礎(chǔ)上進(jìn)行了改進(jìn),相對(duì)于V模型,增加了軟件開(kāi)發(fā)各階段中同步進(jìn)行的驗(yàn)證和確認(rèn)活動(dòng)。W模型的核心在于測(cè)試伴隨著整個(gè)軟件開(kāi)發(fā)周期,測(cè)試對(duì)象不僅有代碼,文檔、設(shè)計(jì)同樣需要測(cè)試。測(cè)試與開(kāi)發(fā)是并行的。
圖2 W模型
H模型如圖3,相對(duì)于V模型和W模型,將測(cè)試活動(dòng)完全獨(dú)立,形成一個(gè)完全獨(dú)立的流程。
圖3 H模型
相比較而言,V模型的優(yōu)點(diǎn)在于結(jié)構(gòu)清晰,測(cè)試過(guò)程和開(kāi)發(fā)過(guò)程各階段一一對(duì)應(yīng);局限性是各階段順序執(zhí)行不可跨越,編碼后直接進(jìn)入單元測(cè)試,無(wú)法測(cè)出由需求、設(shè)計(jì)輸入的缺陷,導(dǎo)致缺陷發(fā)現(xiàn)時(shí)機(jī)過(guò)晚。待系統(tǒng)測(cè)試階段測(cè)試人員測(cè)出需求問(wèn)題,開(kāi)發(fā)人員修復(fù)缺陷、進(jìn)行單元測(cè)試、集成測(cè)試,測(cè)試人員進(jìn)行回歸測(cè)試,工作量大增,風(fēng)險(xiǎn)極高。適合于需求明確,技術(shù)成熟的項(xiàng)目。
W模型的優(yōu)點(diǎn)在于將測(cè)試活動(dòng)作為開(kāi)發(fā)活動(dòng)的一部分,在各個(gè)階段將開(kāi)發(fā)活動(dòng)與測(cè)試活動(dòng)并行,從而發(fā)現(xiàn)能盡早發(fā)現(xiàn)缺陷;局限性在于每個(gè)階段的測(cè)試輸入不明,應(yīng)交付的產(chǎn)品不明,與V模型類(lèi)似,階段不可跨越。適合于開(kāi)發(fā)周期較長(zhǎng)的項(xiàng)目。
H模型的優(yōu)點(diǎn)在于測(cè)試活動(dòng)獨(dú)立,一旦測(cè)試條件準(zhǔn)備到位就可以開(kāi)始測(cè)試,從而加快項(xiàng)目進(jìn)度;局限性在于未明確測(cè)試活動(dòng)的切入點(diǎn),如何與開(kāi)發(fā)協(xié)調(diào)。適合于測(cè)試保障到位、對(duì)資源要求不高的項(xiàng)目。
艦船電力推進(jìn)逆變器軟件測(cè)試有其專業(yè)特殊性,經(jīng)典測(cè)試模型直接移植到艦船電力推進(jìn)逆變器軟件測(cè)試并不完全適用,必須結(jié)合軍用軟件測(cè)試要求,并將軍用軟件測(cè)試流程、測(cè)試輸出結(jié)合到軟件測(cè)試模型中。在軟件測(cè)試過(guò)程中,必須與艦船電力推進(jìn)逆變器軟件開(kāi)發(fā)模型進(jìn)行融合,而艦船電力推進(jìn)逆變器軟件開(kāi)發(fā)模型分通用模型、簡(jiǎn)化模型和增量模型。因此,艦船電力推進(jìn)逆變器軟件測(cè)試模型會(huì)根據(jù)軟件開(kāi)發(fā)模型的不同輸出略有不同,具體體現(xiàn)在簡(jiǎn)化模型時(shí),配置項(xiàng)測(cè)試階段和系統(tǒng)測(cè)試階段合并,文檔只輸出一次;其他兩個(gè)模型,配置項(xiàng)測(cè)試階段和系統(tǒng)測(cè)試階段分別獨(dú)立,文檔分別輸出。但共同點(diǎn)是:測(cè)試活動(dòng)有獨(dú)立于開(kāi)發(fā)模型的完全、獨(dú)立的流程和準(zhǔn)則,在項(xiàng)目成立之初平行介入項(xiàng)目開(kāi)發(fā)各個(gè)階段,在介入后,在各個(gè)階段明確地對(duì)代碼、文檔、設(shè)計(jì)進(jìn)行測(cè)試,并形成結(jié)論、閉環(huán)。每個(gè)階段均有明確的輸入、輸出和確認(rèn)準(zhǔn)則。依據(jù)測(cè)試流程和準(zhǔn)則如圖4所示,在開(kāi)發(fā)的每個(gè)階段,進(jìn)行測(cè)試活動(dòng),是一種基于H模型和W模型的測(cè)試模型。
艦船電力推進(jìn)逆變器軟件開(kāi)發(fā)模型分通用模型、簡(jiǎn)化模型和增量模型。
通用模型如圖5所示,其開(kāi)發(fā)活動(dòng)按順序執(zhí)行。在需求規(guī)格說(shuō)明評(píng)審后,開(kāi)始進(jìn)行軟硬件集成測(cè)試計(jì)劃的策劃及輸出文檔的編寫(xiě)。此階段結(jié)束后,進(jìn)入軟件設(shè)計(jì)階段,針對(duì)設(shè)計(jì)進(jìn)行單元測(cè)試級(jí)、集成測(cè)試級(jí)的測(cè)試策劃、測(cè)試用例設(shè)計(jì),形成單元測(cè)試文檔,而編碼活動(dòng)和測(cè)試活動(dòng)可以同步開(kāi)始。編碼完成后,依次執(zhí)行單元測(cè)試、集成測(cè)試、軟硬件集成測(cè)試、系統(tǒng)測(cè)試等測(cè)試活動(dòng)。
通用模型中,必選的里程碑有兩個(gè),分別為需求里程碑和軟件發(fā)布里程碑,其余可選里程碑時(shí)間點(diǎn)可根據(jù)項(xiàng)目的實(shí)際情況自行定義。
簡(jiǎn)化模型是對(duì)通用模型的簡(jiǎn)化,主要思想是簡(jiǎn)化通用模型,提高開(kāi)發(fā)交付速度。簡(jiǎn)化模型中只需針對(duì)軟件非復(fù)用部分進(jìn)行可行性分析與設(shè)計(jì),必選的里程碑有兩個(gè),分別為需求里程碑和軟件發(fā)布里程碑,其余可選里程碑時(shí)間點(diǎn)可根據(jù)項(xiàng)目的實(shí)際情況自行定義。簡(jiǎn)化模型流程圖見(jiàn)圖6所示。
增量模型是增量式地進(jìn)行分析、設(shè)計(jì)、實(shí)現(xiàn)的軟件開(kāi)發(fā)模型。其特點(diǎn)在于,需求一旦明確一點(diǎn)便可進(jìn)行設(shè)計(jì)、編碼、單元測(cè)試形成構(gòu)件,隨著需求的逐步明確,構(gòu)件分步完成,最終形成組件成軟件系統(tǒng)。增量模型具有過(guò)程漸進(jìn)性。
增量模型開(kāi)發(fā)過(guò)程中,無(wú)需等待所有需求都確認(rèn),只要某個(gè)增量已得到確認(rèn)且滿足進(jìn)入下一個(gè)階段的條件,就可以進(jìn)行下一階段的工作。后一個(gè)增量所在的開(kāi)發(fā)階段可能滯后于前一個(gè)增量的開(kāi)發(fā)階段,例如:后一個(gè)增量可能正處于需求分析階段,而前一個(gè)增量已經(jīng)進(jìn)入設(shè)計(jì)階段。所以,各個(gè)增量的開(kāi)發(fā)階段可能存在進(jìn)度不同或重疊的情況。但是在提交集成測(cè)試前,需要將所有增量產(chǎn)生的代碼進(jìn)行整合。
增量模型的必選的里程碑有兩個(gè),分別為需求里程碑和產(chǎn)品發(fā)布里程碑,其余可選里程碑時(shí)間點(diǎn)可根據(jù)項(xiàng)目的實(shí)際情況自行定義。增量模型見(jiàn)圖7所示。
圖5 通用模型流程圖
艦船電力推進(jìn)逆變器軟件開(kāi)發(fā)模型雖然分為通用模型、簡(jiǎn)化模型、增量模型三種,但本質(zhì)上均基于瀑布開(kāi)發(fā)模型進(jìn)行簡(jiǎn)化和階段內(nèi)局部增量,因此屬于瀑布開(kāi)發(fā)模型。而瀑布開(kāi)發(fā)模型的特點(diǎn)在于各階段按線性序列組織,每個(gè)階段有確認(rèn)、入口和出口標(biāo)準(zhǔn)[6]。結(jié)合測(cè)試模型,軟件生命周期分六個(gè)階段,分別是系統(tǒng)分析階段、軟件需求分析階段、軟件設(shè)計(jì)階段、軟件實(shí)現(xiàn)和單元測(cè)試階段、軟硬件集成測(cè)試階段和系統(tǒng)測(cè)試階段。其中,軟件實(shí)現(xiàn)和單元測(cè)試階段集合了軟件單元測(cè)試與集成測(cè)試,軟硬件集成測(cè)試階段的測(cè)試對(duì)應(yīng)配置項(xiàng)測(cè)試,而系統(tǒng)測(cè)試對(duì)應(yīng)于驗(yàn)收測(cè)試。
系統(tǒng)分析階段,測(cè)試人員參與到軟件研制任務(wù)書(shū)的制定。工程方面,測(cè)試人員參與到利益相關(guān)方與項(xiàng)目負(fù)責(zé)人間的需求溝通,從測(cè)試的角度,對(duì)軟件研制任務(wù)書(shū)的編制,提供源頭上的對(duì)需求的理解一致性。在系統(tǒng)分析階段各工程文檔的評(píng)審中,依據(jù)測(cè)試規(guī)程,按文檔審查要求,從測(cè)試的角度對(duì)需求漏洞進(jìn)行檢查并提交,問(wèn)題未閉環(huán)不得轉(zhuǎn)階段。
軟件需求分析階段,測(cè)試人員工程方面,測(cè)試人員參與到項(xiàng)目負(fù)責(zé)人與軟件項(xiàng)目負(fù)責(zé)人間的需求溝通。由于測(cè)試人員直接從源頭開(kāi)始跟蹤需求,從測(cè)試的角度,對(duì)軟件需求規(guī)格說(shuō)明的編制,進(jìn)一步提供對(duì)需求的理解一致性。與系統(tǒng)分析階段一樣,測(cè)試人員依據(jù)測(cè)試規(guī)程,按文檔審查要求,從測(cè)試的角度對(duì)需求漏洞、需求一致性進(jìn)行檢查并提交問(wèn)題,問(wèn)題未閉環(huán)不得轉(zhuǎn)階段。管理方面,測(cè)試人員參與軟件項(xiàng)目的WBS分解,工作量估算,關(guān)鍵路徑的確認(rèn)等,將測(cè)試管理活動(dòng)與軟件開(kāi)發(fā)活動(dòng)從計(jì)劃的制定開(kāi)始融合。有效的梳理整個(gè)軟件生命周期的流程,確定最優(yōu)的關(guān)鍵路徑。從而減少需求變更率,同時(shí)提高SPI。
圖6 簡(jiǎn)化模型流程圖
圖7 增量模型流程圖
軟件設(shè)計(jì)階段,測(cè)試人員在工程文檔方面的作用與前兩個(gè)階段一樣,從文檔上對(duì)設(shè)計(jì)進(jìn)行漏洞檢查。不同點(diǎn)在于,此階段末,進(jìn)行配置項(xiàng)級(jí)測(cè)試策劃,并形成策劃的輸出,明確測(cè)試需求、測(cè)試項(xiàng)、測(cè)試方法及測(cè)試進(jìn)度等。
軟件實(shí)現(xiàn)和單元測(cè)試階段,按傳統(tǒng)瀑布開(kāi)發(fā)模型需要等到編碼完成進(jìn)行單元測(cè)試、集成測(cè)試。而測(cè)試模型在編碼過(guò)程中介入,每個(gè)單元邊編碼,邊測(cè)試,邊回歸。單元一旦達(dá)到組合條件,進(jìn)入集成測(cè)試。一旦編碼與測(cè)試活動(dòng)完畢,版本受控,便可進(jìn)入下一階段,軟硬件集成測(cè)試階段。
軟硬件集成測(cè)試階段和系統(tǒng)測(cè)試階段是獨(dú)立的測(cè)試活動(dòng)。此二階段均開(kāi)始與對(duì)前期工程文檔和數(shù)據(jù)的文檔審查,但測(cè)試側(cè)重點(diǎn)依據(jù)測(cè)試規(guī)程不同。后續(xù)的活動(dòng)按測(cè)試流程,進(jìn)行測(cè)試策劃、測(cè)試設(shè)計(jì)、測(cè)試執(zhí)行和測(cè)試結(jié)論。具體活動(dòng)與H模型同,此處不一一分解。
通過(guò)具體實(shí)踐,H模型無(wú)法直接移植到艦船電力推進(jìn)逆變器軟件測(cè)試活動(dòng)中,艦船電力推進(jìn)逆變器軟件測(cè)試模型相對(duì)于單純的W模型節(jié)省軟件實(shí)現(xiàn)和單元測(cè)試階段的時(shí)間,通過(guò)測(cè)試與開(kāi)發(fā)并行,節(jié)省時(shí)間近三分之一。后續(xù)的測(cè)試活動(dòng)按H模型,極大地提高了軟件研發(fā)周期。
此測(cè)試模型在簡(jiǎn)化模型和增量模型中應(yīng)用,進(jìn)一步節(jié)省原型、成熟項(xiàng)目的開(kāi)發(fā)時(shí)間。其中,增量模型的測(cè)試模型由于設(shè)計(jì)、編碼、測(cè)試活動(dòng)的進(jìn)一步整合,開(kāi)發(fā)周期相對(duì)于瀑布開(kāi)發(fā)模型進(jìn)一步提高近四分之一。
艦船電力推進(jìn)逆變器軟件測(cè)試模型相對(duì)于經(jīng)典模型能更好的適用于艦船電力推進(jìn)逆變器軟件開(kāi)發(fā)、測(cè)試活動(dòng),更早地發(fā)現(xiàn)問(wèn)題,提高軟件的開(kāi)發(fā)效率。
[1] R. Krishnan. 永磁無(wú)刷電機(jī)及其驅(qū)動(dòng)技術(shù)[M]. 柴鳳,譯. 2013.
[2] Pressman R S. 軟件工程:實(shí)踐者的研究方向[M]. 鄭人杰,馬素霞,譯. 7版. 北京: 機(jī)械工業(yè)出版社, 2011.
[3] 王建強(qiáng),楊欣,張鼎周. 指揮信息系統(tǒng)軟件測(cè)試模型構(gòu)建與應(yīng)用[J]. 指揮信息系統(tǒng)與技術(shù), 2014,(4): 85-90.
[4] 孟慶鑫, 張龍. 軟件測(cè)試模型的探討[J]. 計(jì)算機(jī)與網(wǎng)絡(luò), 2014,(5): 66-69.
[5] 柳純錄. 軟件評(píng)測(cè)師教程[M]. 北京:清華大學(xué)出版社, 2005.
[6] Kan S H. 軟件質(zhì)量工程的度量與模型[M]. 王振宇,陳利, 余揚(yáng), 譯. 北京: 機(jī)械工業(yè)出版社, 2003.
Construction and Realization of Software Testing Model for the Inverter of Electric Propulsion Ship
Zheng Xuanpei, Li Dan
(Wuhan Institute of Marine Electric Propulsion, Wuhan 430064, China)
TM351 TP216
A
1003-4862(2016)10-0001-04
2016-05-06
鄭宣佩(1974-),男,高級(jí)工程師。主要研究方向:質(zhì)量管理。