黑盒測(cè)試 白盒測(cè)試 原理分析
更新時(shí)間:2008年09月26日 18:01:08 作者:
今天無(wú)意看到了黑盒測(cè)試 白盒測(cè)試,不懂有什么意義,特整理一下
1.黑盒測(cè)試(Black-box Tesing)
黑盒測(cè)試又稱(chēng)功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)格說(shuō)明書(shū)的測(cè)試。注重于測(cè)試軟件的功能性需求。
采用這種測(cè)試方法,測(cè)試者把被測(cè)程序看成一個(gè)黑盒子,完全不要考慮程序的內(nèi)部結(jié)構(gòu)和特性,只知道該程序輸入和輸出之間的關(guān)系或程序功能,依靠能夠反映這一關(guān)系和程序功能的需求規(guī)格說(shuō)明書(shū),來(lái)自確定測(cè)試用例和推斷測(cè)試結(jié)果的正確性。例如:Windows計(jì)算其程序,我們?nèi)绻斎?.14159并按sqrt鍵,就會(huì)得到結(jié)果1.772453102341。使用黑盒子測(cè)試方式,不管軟件計(jì)算圓周率的平方根要經(jīng)歷多少?gòu)?fù)雜運(yùn)算,只關(guān)心他的運(yùn)行結(jié)果。
2.白盒測(cè)試(White-box Tesing)
白盒測(cè)試又稱(chēng)結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于程序本身的測(cè)試。測(cè)試者把被測(cè)程序看成一個(gè)盒子,而這個(gè)盒子是打開(kāi)著的,以程序的內(nèi)容來(lái)設(shè)計(jì)測(cè)試數(shù)據(jù)。采用這種測(cè)試方法,測(cè)試人員對(duì)被測(cè)試程序的內(nèi)部結(jié)構(gòu)是清楚的。從程序的內(nèi)部邏輯結(jié)構(gòu)入手,按照一定的原則設(shè)計(jì)測(cè)試用例,對(duì)軟件的邏輯路徑進(jìn)行測(cè)試,在程序的不同點(diǎn)檢查程序的狀態(tài),來(lái)判定其實(shí)際情況是否和預(yù)期的狀態(tài)相一致。
白盒測(cè)試要求對(duì)某些程序的結(jié)構(gòu)特性做到一定程度的覆蓋,或者說(shuō)是“基于覆蓋率的測(cè)試”,并以此為目標(biāo),引導(dǎo)我們朝著提高覆蓋覆蓋率的方向努力,找出那些已被忽視的程序錯(cuò)誤。最常見(jiàn)的程序結(jié)構(gòu)覆蓋有:
1)語(yǔ)句覆蓋:程序中每一條語(yǔ)句至少被執(zhí)行一次,這是最弱的邏輯覆蓋準(zhǔn)則。
2)分支覆蓋或判斷覆蓋:程序中的每一個(gè)分支至少走查一次,即每一條分支語(yǔ)句的真值執(zhí)行一次,假值也執(zhí)行一次。
3)條件覆蓋:當(dāng)判定式中含有多個(gè)條件時(shí),要求每個(gè)條件的取值均得到檢驗(yàn)。
4)判斷/條件覆蓋:同時(shí)考慮條件的組合及判定結(jié)果的檢驗(yàn)。
5)路徑覆蓋:使程序延所有可能的路徑執(zhí)行。
黑盒測(cè)試又稱(chēng)功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)格說(shuō)明書(shū)的測(cè)試。注重于測(cè)試軟件的功能性需求。
采用這種測(cè)試方法,測(cè)試者把被測(cè)程序看成一個(gè)黑盒子,完全不要考慮程序的內(nèi)部結(jié)構(gòu)和特性,只知道該程序輸入和輸出之間的關(guān)系或程序功能,依靠能夠反映這一關(guān)系和程序功能的需求規(guī)格說(shuō)明書(shū),來(lái)自確定測(cè)試用例和推斷測(cè)試結(jié)果的正確性。例如:Windows計(jì)算其程序,我們?nèi)绻斎?.14159并按sqrt鍵,就會(huì)得到結(jié)果1.772453102341。使用黑盒子測(cè)試方式,不管軟件計(jì)算圓周率的平方根要經(jīng)歷多少?gòu)?fù)雜運(yùn)算,只關(guān)心他的運(yùn)行結(jié)果。
2.白盒測(cè)試(White-box Tesing)
白盒測(cè)試又稱(chēng)結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于程序本身的測(cè)試。測(cè)試者把被測(cè)程序看成一個(gè)盒子,而這個(gè)盒子是打開(kāi)著的,以程序的內(nèi)容來(lái)設(shè)計(jì)測(cè)試數(shù)據(jù)。采用這種測(cè)試方法,測(cè)試人員對(duì)被測(cè)試程序的內(nèi)部結(jié)構(gòu)是清楚的。從程序的內(nèi)部邏輯結(jié)構(gòu)入手,按照一定的原則設(shè)計(jì)測(cè)試用例,對(duì)軟件的邏輯路徑進(jìn)行測(cè)試,在程序的不同點(diǎn)檢查程序的狀態(tài),來(lái)判定其實(shí)際情況是否和預(yù)期的狀態(tài)相一致。
白盒測(cè)試要求對(duì)某些程序的結(jié)構(gòu)特性做到一定程度的覆蓋,或者說(shuō)是“基于覆蓋率的測(cè)試”,并以此為目標(biāo),引導(dǎo)我們朝著提高覆蓋覆蓋率的方向努力,找出那些已被忽視的程序錯(cuò)誤。最常見(jiàn)的程序結(jié)構(gòu)覆蓋有:
1)語(yǔ)句覆蓋:程序中每一條語(yǔ)句至少被執(zhí)行一次,這是最弱的邏輯覆蓋準(zhǔn)則。
2)分支覆蓋或判斷覆蓋:程序中的每一個(gè)分支至少走查一次,即每一條分支語(yǔ)句的真值執(zhí)行一次,假值也執(zhí)行一次。
3)條件覆蓋:當(dāng)判定式中含有多個(gè)條件時(shí),要求每個(gè)條件的取值均得到檢驗(yàn)。
4)判斷/條件覆蓋:同時(shí)考慮條件的組合及判定結(jié)果的檢驗(yàn)。
5)路徑覆蓋:使程序延所有可能的路徑執(zhí)行。
您可能感興趣的文章:
- JavaWeb實(shí)戰(zhàn)之編寫(xiě)單元測(cè)試類(lèi)測(cè)試數(shù)據(jù)庫(kù)操作
- Java高并發(fā)測(cè)試框架JCStress詳解
- 分享我的第一次java Selenium自動(dòng)化測(cè)試框架開(kāi)發(fā)過(guò)程
- Java進(jìn)行Appium自動(dòng)化測(cè)試的實(shí)現(xiàn)
- Java基于Javafaker生成測(cè)試數(shù)據(jù)
- Java調(diào)用WebService接口作測(cè)試
- Java Unsafe類(lèi)實(shí)現(xiàn)原理及測(cè)試代碼
- Java Testcontainers庫(kù)實(shí)現(xiàn)測(cè)試功能
- Java程序測(cè)試上傳Maven工程代碼示例解析
- java測(cè)試框架的方法
- Java黑盒測(cè)試之nextDate函數(shù)測(cè)試
相關(guān)文章
217個(gè)電腦知識(shí)和實(shí)用問(wèn)題解決集錦
217個(gè)電腦知識(shí)和實(shí)用問(wèn)題解決集錦...2007-02-02