1. 黑盒、白盒、灰盒測試方法的優缺點,適用范圍分別是什么?分別舉例進行說明。
白盒測試
優點:
● 迫使測試人員去思考軟件的實現;
● 可以檢測代碼中的每條分支和路徑;
● 揭示隱藏在代碼中的錯誤;
● 對代碼的測試比較徹底;
● 最優化。
缺點:
● 昂貴;
● 無法檢測代碼中遺漏的路徑和數據敏感性錯誤;
● 不驗證規格的正確性。
黑盒測試
優點:
● 對比較大的代碼單元來說,黑盒測試比白盒測試效率要高;
● 測試人員不需要了解實現的細節,包括特定的編程語言;
● 測試人員和編碼人員是彼此獨立的;
● 從用戶的視角進行測試,很容易被理解和接受;
● 有助于暴露任何規格不一致或者有歧義的問題;
● 測試用力可以在規格完成之后馬上執行。
缺點:
● 只有一小部分可能的輸入被測試到,要測試每個可能的輸入流幾乎是不可能的;
● 沒有清洗的和簡明的規格,測試用例是很難設計的;
● 如果測試人員不被告知開發人員已經執行過的用例,在測試數據上會存在不必要的重復;
● 會有很多程序路徑沒有被測試到;
● 不能直接針對特定程序段測試,該程序段可能隱藏更多錯誤;
● 大部分和研究相關的測試都是直接針對白盒測試的。
灰盒測試
介于黑盒和白盒測試之間的一種測試。
原文轉自:http://www.anti-gravitydesign.com