白盒和黑盒測試才能達到最完美的測試效果 單元測試工具
黑盒測試:從用戶角度出發,根據規格說明設計測試用例,并不涉及程序的內部特性和內部結構,只依靠被測程序輸入和輸出之間的關系或程序的功能設計測試用例。黑盒測試有兩個顯著特點:
(1)黑盒測試與軟件的具體實現過程無關,在軟件實現的過程發生變化時,測試用例仍然可以用。
(2)黑盒測試用例的設計可以和軟件實現同時進行,這樣能夠壓縮總的開發時間。
黑盒測試主要是為了發現以下幾類錯誤:
1、是否有不正確、遺漏或額外的功能實現?
2、在接口上,輸入是否能正確的接受?能否輸出正確的結果?
3、是否有數據結構錯誤或外部信息(例如數據文件)訪問錯誤?
4、性能上是否能夠滿足要求?
5、是否有初始化或終止性錯誤?
白盒測試:已知程序的內部結構,檢查內部操作是否按規定執行。主要對程序細節進行嚴密檢驗,針對特定條件和循環設計測試用例,對程序的邏輯路徑進行測試。通過在程序的不同點檢查程序狀態,確定實際狀態是否與預期的狀態一致。
白盒測試主要是想對程序模塊進行如下檢查:
1、程序的所有語句至少執行一次。
2、對所有的邏輯條件都能至少執行一次。
3、在循環的邊界和運行的界限內執行循環體。
4、測試內部數據結構的有效性,等等。 軟件測試
從以上可以看出就算執行了完美的黑盒測試也是無法測試程序內部特定部位,另外當規格說明本身有誤,也不能發現問題。而白盒測試能對程序的內部特定部位進行覆蓋測試,所以黑盒和白盒測試為互補關系,結合起來進行測試用例的設計更為合理。
經驗表明,通常在進行單元測試時采用白盒測試方法,集成測試采用灰盒測試方法,系統測試采用黑盒測試方法。