1. 程式人生 > >黑白盒測試,動靜態測試的區別與聯絡

黑白盒測試,動靜態測試的區別與聯絡

黑盒測試,白盒測試的區別:程式碼是否可見(也就是你是否要檢視程式碼)。
黑盒測試:是基於規格說明(需求文件)的測試。測試人員不考慮/不關心軟體內部結構,只關心程式的功能是否符合他的功能說明。又被稱為功能測試(黑盒只是功能測試的一部分)、資料驅動測試。


白盒測試:基於設計文件(結構)的測試。關注軟體內部結構和程式的設計實現。又稱為結構測試或邏輯驅動測試。

 

靜態測試,動態測試的區別:程式是否執行。
靜態測試:靜態測試是指不執行被測程式本身,通過分析或檢查源程式的語法、結構、過程、介面等來檢查程式的正確性。靜態測試主要包括各階段的評審、程式碼檢查、程式分析、軟體質量度量等,用於對被測程式進行特性分析。


動態測試:通過執行被測程式來檢查執行結果與預期結果的差異,並分析執行效率和健壯性等指標;這種方法包括三部分:構造測試用例、執行程式、分析程式的輸出結果。

所以在專案裡同一個測試,既有可能屬於黑盒測試,也有可能屬於動態測試;既有可能屬於靜態測試,也有可能屬於白盒測試。而且它們之間還有
包括交叉的關係,總結以下4句話:
黑盒測試有可能是動態測試(執行程式,只看輸入和輸出),也有可能是靜態測試(不執行程式,只是檢視介面)
白盒測試有可能是動態測試(執行程式,並分析程式碼結構),也有可能是靜態測試(不執行程式,只是靜態檢視程式碼)
動態測試有可能是黑盒測試(執行程式,只看輸入和輸出),也有可能是白盒測試(執行程式,並分析程式碼結構)
靜態測試有可能是黑盒測試(不執行程式,只是檢視介面),也有可能是白盒測試(不執行程式,只是靜態檢視程式碼)