古詩詞大全網 - 成語查詢 - 什麽是白盒測試和黑盒測試?有什麽區別?

什麽是白盒測試和黑盒測試?有什麽區別?

白盒測試:

是指實際運行被測程序,通過程序的源代碼進行測試而不使用用戶界面。這種類型的測試需要從代碼句法發現內部代碼在算法、溢出、路徑和條件等方面的缺點或者錯誤,進而加以修正。

黑盒測試:

又稱功能測試、數據驅動測試或基於規格說明的測試,是通過使用整個軟件或某種軟件功能來嚴格地測試,,而並沒有通過檢查程序的源代碼,或者很清楚地了解該軟件的源代碼程序具體是怎樣設計的。測試人員通過輸入他們的數據看輸出的結果,從而了解軟件怎樣工作。應該更適合測試網頁遊戲。

區別壹:從定義上

白盒測試需要從代碼句法發現內部代碼在算法,溢出,路徑,條件等等中的缺點或者錯誤,進而加以修正。而黑盒測試著重測試軟件功能,它並不涉及程序的內部結構和內容特性。黑盒測試並不能取代白盒測試,它與白盒是互補的測試方法,它很可能發現白盒測試不易發現的其他類型錯誤。

區別二:從測試目的上

黑盒測試的目的是檢測是否有不正確或遺漏的功能;數據或者參數上,輸入能否正確接收;是否有數據結構錯誤或外部信息訪問錯誤;性能上是否能夠滿足要求;是否有初始化或終止性錯誤。而白盒測試的目的是通過在不同點檢查程序的狀態,確定實際的狀態是否與預期的狀態壹致,而不顧它的功能。

區別三:檢測方式上

白盒測試是窮舉路徑測試,黑盒測試是窮舉輸入測試,這兩種方法是基於完全不同的觀點,反應了事物的兩個極端,它們各有側重和優勢,但不能彼此替代。在現代的測試理念中,這兩種測試方法不是截然分開的,而是交叉使用。

擴展資料

白盒測試的優點:

1.能仔細考慮軟件的實現

2.可檢測代碼中的每條分支和路徑?

3.揭示隱藏在代碼中的錯誤

4.對代碼的測試比較徹底

白盒測試的缺點:

1.昂貴

2.無法檢測代碼中遺漏的路徑和數據敏感性錯誤

3.不驗證規格的正確性

黑盒測試的優點:

1.對於子系統甚至系統效率要比白盒測試高

2.測試人員不需要了解實現的細節(特定編程語言)

3.測試人員和編程人員彼此獨立?

4.從用戶的角度進行測試很容易理解和接受

5.有助於暴露規格的不壹致或有歧義的問題?

6.測試用例可以在規格完成後馬上進行

黑盒測試的缺點:?

1.只有壹小部分輸入被測試到,要測試每個可能的輸入幾乎不可能。

2.沒有清晰、簡明的規格,測試用例很難設計。

3.如果測試人員不被告知開發人員已經執行過的用例,在測試數據上會存在不必要的重復。

4.有很多程序路徑沒有被測試到。

5.不能直接針對特定程序段測試,而這些程序段可能很復雜,有可能隱藏更多的問題。

6.大部分和研究相關的測試都是直接針對白盒測試的。

參考資料:

百度百科-黑盒測試白盒測試