指的是實際運行被測程序,不使用用戶界面,通過程序的源代碼進行測試。這類測試需要從代碼語法中發現內碼在算法、溢出、路徑、條件等方面的不足或錯誤,然後加以改正。
黑盒測試:
也稱為功能測試、黑盒測試或基於規範的測試,是在不檢查程序源代碼,也不清楚軟件的源代碼程序是如何設計的情況下,使用整個軟件或某個軟件功能進行嚴格測試。測試人員可以通過輸入他們的數據並查看輸出結果來理解軟件是如何工作的。應該更適合測試網頁遊戲。
區別壹:根據定義。
白盒測試需要從代碼語法中發現內部代碼在算法、溢出、路徑、條件等方面的不足或錯誤,然後進行修正。黑盒測試側重於測試軟件功能,不涉及程序的內部結構和內容特征。黑盒測試不能代替白盒測試,它是與白盒測試互補的測試方法,很可能發現白盒測試中不易發現的其他類型的錯誤。
區別二:從測試的目的來說。
黑盒測試的目的是檢測是否有不正確或缺失的功能;就數據或參數而言,輸入是否能被正確接收;是否存在數據結構錯誤或外部信息訪問錯誤;性能是否能滿足要求;是否存在初始化或終止錯誤。白盒測試的目的是通過檢查程序在不同點的狀態來確定實際狀態是否與預期狀態壹致,而不考慮其功能。
區別三:檢測方法
白盒測試是窮舉路徑測試,黑盒測試是窮舉輸入測試。這兩種方法基於完全不同的觀點,反映了事物的兩個極端。它們各有側重,各有優勢,但不能互相替代。在現代測試理念中,這兩種測試方法並不是完全分離的,而是交替使用的。
擴展數據
白盒測試的優勢:
1.能仔細考慮軟件的實現。
2.妳能檢測出代碼中的每個分支和路徑嗎?
3.揭示隱藏在代碼中的錯誤。
4.徹底測試代碼。
白盒測試的缺點:
1.昂貴的
2.無法檢測代碼中的缺失路徑和數據敏感性錯誤。
3.不驗證規格的正確性
黑盒測試的優勢:
1.對於子系統甚至系統,效率比白盒測試更高。
2.測試人員不需要知道實現的細節(特定的編程語言)
3.測試人員和程序員是相互獨立的?
站在用戶的角度,很容易理解和接受測試。
5.有助於暴露規範中不壹致或含糊之處的問題?
6.測試用例可以在規範完成後立即進行。
黑盒測試的缺點:?
1.只測試了壹小部分輸入,所以幾乎不可能測試所有可能的輸入。
2.沒有清晰簡潔的規格說明,很難設計測試用例。
3.如果測試人員沒有被告知開發人員已經執行的用例,測試數據中就會有不必要的重復。
4.許多程序路徑尚未經過測試。
5.不能直接測試具體的程序段,可能會比較復雜,可能會隱藏更多的問題。
6.大多數與研究相關的測試都是針對白盒測試的。
參考資料:
百度百科-黑盒測試白盒測試