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