2 回答

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
白盒測試:
是指實(shí)際運(yùn)行被測程序,通過程序的源代碼進(jìn)行測試而不使用用戶界面。這種類型的測試需要從代碼句法發(fā)現(xiàn)內(nèi)部代碼在算法、溢出、路徑和條件等方面的缺點(diǎn)或者錯(cuò)誤,進(jìn)而加以修正。
黑盒測試:
又稱功能測試、數(shù)據(jù)驅(qū)動(dòng)測試或基于規(guī)格說明的測試,是通過使用整個(gè)軟件或某種軟件功能來嚴(yán)格地測試,,而并沒有通過檢查程序的源代碼,或者很清楚地了解該軟件的源代碼程序具體是怎樣設(shè)計(jì)的。測試人員通過輸入他們的數(shù)據(jù)看輸出的結(jié)果,從而了解軟件怎樣工作。應(yīng)該更適合測試網(wǎng)頁游戲。
區(qū)別一:從定義上
白盒測試需要從代碼句法發(fā)現(xiàn)內(nèi)部代碼在算法,溢出,路徑,條件等等中的缺點(diǎn)或者錯(cuò)誤,進(jìn)而加以修正。而黑盒測試著重測試軟件功能,它并不涉及程序的內(nèi)部結(jié)構(gòu)和內(nèi)容特性。黑盒測試并不能取代白盒測試,它與白盒是互補(bǔ)的測試方法,它很可能發(fā)現(xiàn)白盒測試不易發(fā)現(xiàn)的其他類型錯(cuò)誤。
區(qū)別二:從測試目的上
黑盒測試的目的是檢測是否有不正確或遺漏的功能;數(shù)據(jù)或者參數(shù)上,輸入能否正確接收;是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息訪問錯(cuò)誤;性能上是否能夠滿足要求;是否有初始化或終止性錯(cuò)誤。而白盒測試的目的是通過在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致,而不顧它的功能。
區(qū)別三:檢測方式上
白盒測試是窮舉路徑測試,黑盒測試是窮舉輸入測試,這兩種方法是基于完全不同的觀點(diǎn),反應(yīng)了事物的兩個(gè)極端,它們各有側(cè)重和優(yōu)勢,但不能彼此替代。在現(xiàn)代的測試?yán)砟钪?,這兩種測試方法不是截然分開的,而是交叉使用。
向左轉(zhuǎn)|向右轉(zhuǎn)
擴(kuò)展資料
白盒測試的優(yōu)點(diǎn):
1.能仔細(xì)考慮軟件的實(shí)現(xiàn)
2.可檢測代碼中的每條分支和路徑
3.揭示隱藏在代碼中的錯(cuò)誤
4.對代碼的測試比較徹底
白盒測試的缺點(diǎn):
1.昂貴
2.無法檢測代碼中遺漏的路徑和數(shù)據(jù)敏感性錯(cuò)誤
3.不驗(yàn)證規(guī)格的正確性
黑盒測試的優(yōu)點(diǎn):
1.對于子系統(tǒng)甚至系統(tǒng)效率要比白盒測試高
2.測試人員不需要了解實(shí)現(xiàn)的細(xì)節(jié)(特定編程語言)
3.測試人員和編程人員彼此獨(dú)立
4.從用戶的角度進(jìn)行測試很容易理解和接受
5.有助于暴露規(guī)格的不一致或有歧義的問題
6.測試用例可以在規(guī)格完成后馬上進(jìn)行
黑盒測試的缺點(diǎn):
1.只有一小部分輸入被測試到,要測試每個(gè)可能的輸入幾乎不可能。
2.沒有清晰、簡明的規(guī)格,測試用例很難設(shè)計(jì)。
3.如果測試人員不被告知開發(fā)人員已經(jīng)執(zhí)行過的用例,在測試數(shù)據(jù)上會存在不必要的重復(fù)。
4.有很多程序路徑?jīng)]有被測試到。
5.不能直接針對特定程序段測試,而這些程序段可能很復(fù)雜,有可能隱藏更多的問題。
6.大部分和研究相關(guān)的測試都是直接針對白盒測試的。
- 2 回答
- 0 關(guān)注
- 4851 瀏覽
添加回答
舉報(bào)