本文如有紕漏請指正。 有一天遇到一個問題,判斷觀點是否正確:白盒測試有可能是靜態測試;黑盒有可能是靜態測試....,這個問題需要弄清楚黑白盒,動靜態測試的根本區別是什么。 黑盒測試,白盒測試的區別:代碼是否可見(也就是你是否要查看代碼)。 黑盒測試:是基于規格說明(需求文檔)的測試。測試人員不考慮/不關心軟件內部結構,只關心程序的功能是否符合他的功能說明。又被稱為功能測試(黑盒只是功能測試的一部分2017-7-27 16:50:08)、數據驅動測試。 白盒測試:基于設計文檔(結構)的測試。關注軟件內部結構和程序的設計實現。又稱為結構測試或邏輯驅動測試。 靜態測試,動態測試的區別:程序是否運行。 靜態測試:靜態測試是指不運行被測程序本身,通過分析或檢查源程序的語法、結構、過程、接口等來檢查程序的正確性。靜態測試主要包括各階段的評審、代碼檢查、程序分析、軟件質量度量等,用于對被測程序進行特性分析。 動態測試:通過運行被測程序來檢查運行結果與預期結果的差異,并分析運行效率和健壯性等指標;這種方法包括三部分:構造測試用例、執行程序、分析程序的輸出結果。 這個地方還是讓自己聯想了一下V模型,最開始的時候我狹隘的認為只有V模型左側的才是靜態測試,但是實際上,V模型左側只是靜態測試的一部分,V模型右側同樣也會有靜態測試(程序不運行),而在想到在V模型左側(需求,設計,開發階段)進行測試的時候,這也就會聯想到W模型。進而這些都是貫穿在一起的。 所以在項目里同一個測試,既有可能屬于黑盒測試,也有可能屬于動態測試;既有可能屬于靜態測試,也有可能屬于白盒測試。而且它們之間還有 包括交叉的關系,總結以下4句話: 黑盒測試有可能是動態測試(運行程序,只看輸入和輸出),也有可能是靜態測試(不運行程序,只是查看界面) 白盒測試有可能是動態測試(運行程序,并分析代碼結構),也有可能是靜態測試(不運行程序,只是靜態查看代碼) 動態測試有可能是黑盒測試(運行程序,只看輸入和輸出),也有可能是白盒測試(運行程序,并分析代碼結構) 靜態測試有可能是黑盒測試(不運行程序,只是查看界面),也有可能是白盒測試(不運行程序,只是靜態查看代碼) |
|
來自: stevin_lib > 《MBD》