1. 程式人生 > >白盒測試與黑盒測試的比較

白盒測試與黑盒測試的比較

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

白盒測試的優點
1、能仔細考慮軟體的實現。
2、可檢測程式碼中的每條分支和路徑。
3、揭示隱藏在程式碼中的錯誤。
4、對程式碼的測試比較徹底。

白盒測試的缺點
1、昂貴。
2、無法檢測程式碼中遺漏的路徑和資料敏感性錯誤。
3、不驗證規格的正確性。

黑盒測試的優點
1、對於子系統甚至系統,效率要比白盒測試高。
2、測試人員不需要了解實現的細節,包括特定的程式語言。
3、測試人員和程式設計人員彼此獨立。
4、從使用者的角度進行測試,很容易理解和接受。
5、有助於暴露規格的不一致或有歧義的問題。
6、測試用例可以在規格完成後馬上進行。

黑盒測試的缺點
1、只有一小部分輸入被測試到,要測試每個可能的輸入幾乎不可能。
2、沒有清晰、簡明的規格,測試用例很難設計。
3、如果測試人員不被告知開發人員已經執行過的用例,在測試資料上會存在不必要的重複。
4、有很多程式路徑沒有被測試到。
5、不能直接針對特定程式段測試,而這些程式段可能很複雜,有可能隱藏更多的問題。
6、大部分和研究相關的測試都是直接針對白盒測試的。