摘 要:本文重點(diǎn)介紹了現(xiàn)階段軍用軟件開發(fā)過程中基本的測(cè)試技術(shù):軟件測(cè)試常用分類、軟件測(cè)試過程模型、軟件測(cè)試常用工具;并結(jié)合我軍軟件測(cè)試現(xiàn)狀提出相關(guān)改進(jìn)意見。
關(guān)鍵詞:軍用軟件軟件測(cè)試
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1674-098X(2011)09(a)-0023-01
引言
在現(xiàn)代科學(xué)技術(shù)迅猛發(fā)展的今天,武器裝備系統(tǒng)尤其是其控制系統(tǒng)大量采用了各類微處理器及相應(yīng)的控制軟件,而且規(guī)模越來越大、結(jié)構(gòu)越來越復(fù)雜。軟件及軟件密集系統(tǒng)的廣泛使用,大大提高了武器裝備的性能,使其作戰(zhàn)效能倍增,改變了作戰(zhàn)模式,軟件已成為現(xiàn)代武器系統(tǒng)的靈魂。而軍用軟件又不同于普通的民用軟件,其最顯著的特點(diǎn)之一便是:如果出現(xiàn)故障或缺陷,輕則造成巨大經(jīng)濟(jì)損失,重則導(dǎo)致人員傷亡。所以,軍用軟件在研發(fā)過程中必須根據(jù)標(biāo)準(zhǔn)實(shí)施,在交付使用之前必須經(jīng)過嚴(yán)格的測(cè)試。
1 軟件測(cè)試技術(shù)基本概念及常用的軟件測(cè)試方法
1.1 軟件測(cè)試基本概念
所謂軟件測(cè)試,是通過對(duì)源程序及其實(shí)際執(zhí)行所產(chǎn)生的結(jié)果進(jìn)行檢查分析,以找出程序中可能隱藏的錯(cuò)誤的過程,即為了發(fā)現(xiàn)程序錯(cuò)誤而執(zhí)行程序的過程[1]。它是軟件開發(fā)過程中一個(gè)非常關(guān)鍵的環(huán)節(jié),在軟件的生存周期中占有重要的位置,通過測(cè)試可以確認(rèn)軟件產(chǎn)品是否達(dá)到了指標(biāo)和可靠性要求,并了解軟件的實(shí)際水平。
1.2 軟件測(cè)試常見的分類
1.2.1 黑盒測(cè)試與白盒測(cè)試[1]
軟件測(cè)試一般分為靜態(tài)測(cè)試方法和動(dòng)態(tài)測(cè)試方法,其中動(dòng)態(tài)測(cè)試方法根據(jù)測(cè)試用例設(shè)計(jì)方法不同,分為黑盒測(cè)試和白盒測(cè)試兩類。
軟件的黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,是最常用的測(cè)試方法,主要用于軟件系統(tǒng)測(cè)試和確認(rèn)測(cè)試。具體的測(cè)試方法有:等價(jià)類劃分、正交試驗(yàn)設(shè)計(jì)法、因果圖,邊值分析、判定表驅(qū)動(dòng)法、功能測(cè)試等,功能測(cè)試在進(jìn)行通過測(cè)試時(shí),實(shí)際上是確認(rèn)系統(tǒng)能做什么,而不會(huì)去考驗(yàn)其能力如何。只運(yùn)用最簡(jiǎn)單、最直觀的測(cè)試案例。
白盒測(cè)試的叫法有很多,結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試、透明盒測(cè)試或玻璃盒測(cè)試都是白盒測(cè)試的同義詞,是相對(duì)于黑盒測(cè)試來說的,主要用在單元測(cè)試階段。白盒測(cè)試是在了解產(chǎn)品內(nèi)部工作過程的基礎(chǔ)上進(jìn)行的,是為了檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照編程人員編程思路正常進(jìn)行而制定的,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作,而不顧它的功能。所以在使用這一方法時(shí),測(cè)試者必須清楚的了解系統(tǒng)內(nèi)部的結(jié)構(gòu)和工作原理,設(shè)計(jì)適合的測(cè)試用例,從檢查程序的邏輯著手,得出測(cè)試數(shù)據(jù)。白盒測(cè)試法通常使用語句覆蓋、判定覆蓋、條件覆蓋、判定條件測(cè)試、條件組合覆蓋、路徑覆蓋6中邏輯覆蓋法進(jìn)行測(cè)試。
1.2.2 按測(cè)試階段分類
按測(cè)試階段分類,測(cè)試可分4個(gè)主要階段:單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試。這是一種“從小到大”、“循序漸進(jìn)”的測(cè)試過程。其中單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試是以開發(fā)方為主的測(cè)試,而驗(yàn)收測(cè)試是以需求方為主的測(cè)試。
2 結(jié)合我軍軟件測(cè)試現(xiàn)狀提出幾點(diǎn)改進(jìn)建議
2.1 規(guī)范化軍用軟件開發(fā),建立軍用軟件測(cè)試體系
目前,軍用軟件的開發(fā)大多由軍事院校、科研院所及相關(guān)技術(shù)部完成。這些單位中,相當(dāng)部分未建立完善的軟件質(zhì)量保證體系,有些則通過IS09001或CMM認(rèn)證的單位,也僅是為了認(rèn)證而認(rèn)證,并未真正地通過認(rèn)證過程,規(guī)范其研發(fā)流程,保障有序正規(guī)的測(cè)試[3]。不少軍用軟件承制方采用“手工作坊”式的開發(fā)方式,重視個(gè)人技術(shù),對(duì)技術(shù)高手個(gè)人的依賴性很大,開發(fā)透明度差,開發(fā)者自己設(shè)汁、自己編程、自己測(cè)試、自己維護(hù)。實(shí)踐證明、采用這種方式開發(fā)軟件是無法保證軟件測(cè)試的相對(duì)獨(dú)立性和測(cè)試質(zhì)量的,必然導(dǎo)致軟件質(zhì)量的不可靠。最主要的一點(diǎn)是規(guī)范化,好多的軟件不合格都是沒有規(guī)范化的結(jié)果。按軟件工程要求,規(guī)范軍用軟件產(chǎn)品生產(chǎn)全過程,使軟件的生產(chǎn)工業(yè)化,實(shí)現(xiàn)軟件的需求分析、開發(fā)、測(cè)試、運(yùn)行、維護(hù)整個(gè)過程的規(guī)范化。按照要求建立軍用軟件產(chǎn)品的開發(fā)庫(kù)、受控庫(kù)、產(chǎn)品庫(kù),并嚴(yán)格出入庫(kù)審查。
許多軍用軟件承制方很重視軟件測(cè)試,但由于其開發(fā)過程不規(guī)范,往往導(dǎo)致測(cè)試,尤其是模塊級(jí)的黑盒測(cè)試與白盒測(cè)試難以正常開展。例如,缺少詳細(xì)的設(shè)計(jì)文檔以及對(duì)應(yīng)于各模塊代碼的流程圖與接入關(guān)系,導(dǎo)致測(cè)試如同盲人摸象,而僅靠讀程序是看不出程序本身是否與需求、設(shè)計(jì)思想致的。要提高軟件測(cè)試質(zhì)量,建立獨(dú)立的總部、軍區(qū)、地區(qū)軟件測(cè)評(píng)中心,為全軍軟件測(cè)試提供支持。各項(xiàng)目組在項(xiàng)目研制之初,按軟件工程要求建立獨(dú)立于開發(fā)組與需求組的軟件測(cè)試組,按照標(biāo)準(zhǔn)和規(guī)范實(shí)施有計(jì)劃、有組織的測(cè)試工作,通過標(biāo)準(zhǔn)和規(guī)范來約束軟件開發(fā)中各個(gè)階段單元測(cè)試、部件測(cè)試、配置項(xiàng)測(cè)試、系統(tǒng)測(cè)試等環(huán)節(jié),做好測(cè)試記錄和測(cè)試文檔,減少軍用軟件產(chǎn)品的缺陷和故障。
2.2 加強(qiáng)相關(guān)軟件測(cè)試技術(shù)的研究與應(yīng)用
軟件工程領(lǐng)域技術(shù)日新月異,敏捷開發(fā)、極限編程是目前的一個(gè)研究熱點(diǎn),其中強(qiáng)調(diào)的一種敏捷方法即測(cè)試驅(qū)動(dòng)開發(fā)(Test-Driver Development),其基本思想就是通過測(cè)試來推動(dòng)整個(gè)開發(fā)過程進(jìn)行,即在開發(fā)功能代碼之前,先編寫測(cè)試代碼,其目的也是為應(yīng)對(duì)不斷變化的需求,降低軟件缺陷和減少Bug,保證軟件質(zhì)量與可靠性。軍用軟件承制單位跟蹤和掌握軟件測(cè)試相關(guān)技術(shù)的最新研究與進(jìn)展,并將其結(jié)合實(shí)際應(yīng)用,將有效提高軍用軟件測(cè)試水平與能力。
2.3 建立專業(yè)的軍用軟件測(cè)試檢測(cè)隊(duì)伍
由于軟件測(cè)試在軟件的開發(fā)中占有重要的地位,因此對(duì)軟件的測(cè)試人員提出了很高的要求,一般來說軟件測(cè)試檢驗(yàn)人員的水平不能比設(shè)計(jì)人員的水平低。目前相當(dāng)一部分軟件測(cè)試檢驗(yàn)人員,由于知識(shí)結(jié)構(gòu)等原因,在軟件的研制、開發(fā)中常常感到“心有余而力不足”,因此必須及早培養(yǎng)和提高軟件檢測(cè)人員的能力和水平,建立高水平的軟件測(cè)試檢驗(yàn)隊(duì)伍,才能對(duì)裝備的軟件質(zhì)量進(jìn)行有效的監(jiān)督和控制。目前,按專業(yè)化的水平培養(yǎng)高層次的軍用軟件測(cè)試人才,是搞好軍用軟件測(cè)試工作,提高軍用軟件質(zhì)量的重要舉措。軍用軟件測(cè)試人員必須具備較強(qiáng)的專業(yè)知識(shí)、計(jì)算機(jī)知識(shí)及軟件檢測(cè)經(jīng)驗(yàn)和能力。應(yīng)依托各種渠道培養(yǎng)和造就大批合格的軟件檢測(cè)人員,組建軟件專檢隊(duì)伍和機(jī)構(gòu)。
3 結(jié)語
加強(qiáng)軍用軟件測(cè)試的正規(guī)化和科學(xué)性,是提高軍用軟件系統(tǒng)質(zhì)量的根本保證。必須正視目前影響軍用軟件測(cè)試有效實(shí)施的主要因素,深人研究軍用軟件測(cè)試的特點(diǎn)與規(guī)律,建立和完善軍用軟件測(cè)試的手段和方法,提高軍用軟件產(chǎn)品的質(zhì)量和可靠性,以保障我軍軍事裝備系統(tǒng)作戰(zhàn)效能的充分發(fā)揮。
參考文獻(xiàn)
[1]周予濱,姚靜,譯.Ron Piton軟件測(cè)試[M].北京:機(jī)械工業(yè)出版社.2002.
[2]孫義婷.軟件測(cè)試模型的應(yīng)用研究及改進(jìn)[J].電腦知識(shí)與技術(shù),2008.
[3]姚有文.軍用軟件質(zhì)量及其測(cè)試的探討,艦船電子工程,2005.
[4]鄭人杰等.實(shí)用軟件工程[M].清華大學(xué)山版社,2005.