黑盒測試和白盒測試
黑盒測試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以進(jìn)行測試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求。
白盒測試:已知產(chǎn)品的內(nèi)部工作過程,可以進(jìn)行測試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否經(jīng)過檢查。
1. 第一認(rèn)識(shí):
黑盒測試
測試特點(diǎn):測試功能;
測試依據(jù):需求規(guī)格說明書
方法舉例:等價(jià)類劃分、邊界值測試
優(yōu)點(diǎn):能站在用戶的立場上進(jìn)行測試
缺點(diǎn):不能測試程序內(nèi)部特定部位,如程序有誤,則無法發(fā)現(xiàn)。
白盒測試
測試特點(diǎn):測試程序接口與結(jié)構(gòu)
測試依據(jù):軟件程序
方法舉例:邏輯覆蓋
優(yōu)點(diǎn):對(duì)程序內(nèi)部特定部位進(jìn)行覆蓋測試。
缺點(diǎn):無法檢驗(yàn)程序外部特性。
2.第二認(rèn)識(shí):
黑盒測試把程序看作一個(gè)不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,針對(duì)“軟件界面”和”軟件功能“進(jìn)行測試,只檢查功能是否符合需求規(guī)格說明書能正常使用。因此黑盒測試又叫功能測試或數(shù)據(jù)驅(qū)動(dòng)測試。
白盒測試是對(duì)軟件的過程性細(xì)節(jié)做細(xì)致的檢查。這種方法是把測試對(duì)象看作一個(gè)打開的盒子,他允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測試用例,對(duì)程序所有邏輯路徑進(jìn)行測試。通過在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測試又稱為”結(jié)構(gòu)測試“或”邏輯驅(qū)動(dòng)測試“。白盒測試是按照程序內(nèi)部的結(jié)構(gòu)來測試程序,通過測試檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說明書的要求正常進(jìn)行,檢驗(yàn)程序中的每條通道是否都按照規(guī)定正常工作。
3.第三認(rèn)識(shí):
黑盒測試主要是為了發(fā)現(xiàn)以下錯(cuò)誤:
。1)是否有不正確或者遺漏了的功能;
。2)在接口上,輸入能否正確的接受?能否輸出正確的結(jié)果?
(3)是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)庫文件)訪問錯(cuò)誤?
(4)性能上是否能夠滿足要求?
。5)是否有初始化或終止性錯(cuò)誤?
黑盒的測試用例技術(shù)設(shè)計(jì)有三種:邊界值分析、等價(jià)類劃分、錯(cuò)誤推測法。
白盒測試主要是想對(duì)程序模塊進(jìn)行以下檢查:
。1)對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測試一遍;
。2)對(duì)所有的邏輯判定,取”真“與”假“的兩種情況都能至少測一遍;
。3)在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體;
。4)測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等;
。5)靜態(tài)白盒測試 :即代碼審查,正式審查和檢驗(yàn)設(shè)計(jì)和程序代碼;
(6)動(dòng)態(tài)白盒測試 利用查看代碼功能和實(shí)現(xiàn)方式得到的信息來設(shè)計(jì)和執(zhí)行測試,也叫結(jié)構(gòu)測試;
白盒的測試用例技術(shù)包括:邏輯覆蓋和基本路徑測試。
邏輯覆蓋:是以程序內(nèi)在邏輯結(jié)構(gòu)為基礎(chǔ)的測試用例設(shè)計(jì)技術(shù),這一方法要求測試人員對(duì)程序的邏輯結(jié)構(gòu)有清楚的了解。
基本路徑測試:在程序控制流程圖的基礎(chǔ)