余慧敏,徐白,周楷林,李芳芳
(上海航天電子技術(shù)研究所,上海,201109)
黑盒測(cè)試又被稱為功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于軟件需求規(guī)格說(shuō)明的測(cè)試,是通過(guò)使用整個(gè)軟件或某種軟件功能來(lái)嚴(yán)格的測(cè)試,而并沒有通過(guò)檢查程序的源代碼或者很清楚的了解該軟件的源代碼程序具體是怎么設(shè)計(jì)的[1]。在黑盒測(cè)試時(shí),軟件測(cè)試員只需知道軟件要做什么而無(wú)法看到盒子里面的軟件是如何運(yùn)行的。只要進(jìn)行一些輸入,就能得到某種輸出結(jié)果[2]。測(cè)試人員通過(guò)輸入他們的數(shù)據(jù)然后看輸出的結(jié)果從而了解軟件怎樣工作。黑盒測(cè)試方法主要有等價(jià)類劃分法、邊界值分析法、因果圖、錯(cuò)誤推測(cè)法等。
白盒測(cè)試也稱結(jié)構(gòu)測(cè)試、透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。白盒測(cè)試是通過(guò)程序的源代碼進(jìn)行測(cè)試而不使用用戶界面。它是知道產(chǎn)品內(nèi)部工作過(guò)程,可通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說(shuō)明書的規(guī)定去正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,來(lái)檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作,動(dòng)態(tài)白盒測(cè)試的測(cè)試方法主要有邏輯驅(qū)動(dòng)、基路測(cè)試等。
軟件的黑盒測(cè)試意味著測(cè)試要在軟件的接口處進(jìn)行。這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說(shuō)明書,檢查程序的功能是否符合它的功能說(shuō)明。因此黑盒測(cè)試又叫功能測(cè)試。
軟件的白盒測(cè)試是對(duì)軟件的過(guò)程性細(xì)節(jié)做細(xì)致的檢查。這種方法是把測(cè)試對(duì)象看做一個(gè)打開的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序的所有邏輯路徑進(jìn)行測(cè)試,通過(guò)在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試。白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行檢查[3]。
黑盒測(cè)試:設(shè)有一個(gè)檔案管理系統(tǒng),要求用戶輸入以年月表示的日期。假設(shè)日期限定在1990年1月~2049年12月,并規(guī)定日期由6位數(shù)字字符組成,前面4位表示年后面2位表示月。首先劃分有效等價(jià)類和無(wú)效等價(jià)類(如表1所示),然后根據(jù)等價(jià)類設(shè)計(jì)測(cè)試用例(如表2所示)。

表1 等價(jià)類表

表2 測(cè)試用例表
白盒測(cè)試:如有如下C語(yǔ)言程序段,可以使用基本路徑法保證每條路徑至少執(zhí)行一次。
if(a>b)
{c=1;}
else if(a==b)
{c=0;}
else
{c=-1;}
printf(“%d ”,c);
該程序段有3條獨(dú)立路徑,根據(jù)獨(dú)立路徑設(shè)計(jì)的3個(gè)測(cè)試用例如下表3所示。

表3 測(cè)試用例表
黑盒測(cè)試:某型號(hào)火力控制軟件要求最多接收指控系統(tǒng)8批精跟目指和8批粗跟目指給跟蹤制導(dǎo)雷達(dá),超過(guò)額度則不響應(yīng);通過(guò)指控系統(tǒng)發(fā)送如下表4中的跟蹤制導(dǎo)雷達(dá)粗跟數(shù)和精跟數(shù)查看軟件是否正常響應(yīng)。

表4 等價(jià)雷表

表5 測(cè)試用例表
白盒測(cè)試:某型號(hào)抗干擾軟件速度欺騙干擾判決功能,要求當(dāng)航跡數(shù)大于1時(shí)將速度欺騙干擾標(biāo)志置1,當(dāng)航跡數(shù)為1或0時(shí)速度欺騙干擾標(biāo)志置0。該功能有2條獨(dú)立路徑,根據(jù)獨(dú)立路徑設(shè)計(jì)的2個(gè)測(cè)試用例如下表6所示。

圖1 流程圖

表6 測(cè)試用例表
白盒測(cè)試和黑盒測(cè)試是軟件測(cè)試中兩種不同的測(cè)試方法。黑、白盒測(cè)試有著本質(zhì)區(qū)別,又是互相聯(lián)系、相輔相成的。它們從不同的角度進(jìn)行分析設(shè)計(jì),各有重點(diǎn)。在現(xiàn)代測(cè)試?yán)砟钪谐⑦@兩種方法交叉使用,以達(dá)到更好的測(cè)試效果,使應(yīng)用系統(tǒng)更加完善,產(chǎn)品的質(zhì)量更高。
參考文獻(xiàn)
[1]楊海成.航天型號(hào)軟件工程[M].中國(guó)宇航出版社,2011:100-102.
[2]張小松,王鈺,曹躍.軟件測(cè)試[M].機(jī)械工業(yè)出版社,2014:35-37.
[3]龔昌.淺談白盒測(cè)試與黑盒測(cè)試在軟件測(cè)試中的應(yīng)用[J].信息與電腦.2011(1).