靜態測試的和動態測試淺析
根據程序是否運行,測試可以分為靜態測試和動態測試。靜態測試就是靜態分析,對模塊的源代碼進行研讀,查找錯誤或收集一些度量數據,并不需要對代碼進行編譯和仿真運行。靜態測試采用人工檢測和計算機輔助靜態分析手段進行檢測,只進行特性分析。
. 人工檢測:人工檢測是指不依靠計算機而完全靠人工審查或評審軟件。人工檢測這種方法可以有效地發現邏輯設計和編碼錯誤,發現計算機不易發現的問題。
· 計算機輔助靜態分析:利用靜態分析工具對被測程序進行特性分析,從程序中提取一些信息,以便檢查程序邏輯的各種缺陷和可疑的程序構造。如用錯的局部變量和全局變量,不匹配的參數,潛在的死循環等。靜態分析中還可以用符號代替數值求得程序結果,阻便對程序進行運算規律的檢驗。
靜態測試包括對軟件產品的設計規格說明書的審查,對程序代碼的閱讀、審查等。靜態分析的查錯和分析功能是其他方法所不能替代的.已被當做一種自動化的代碼校驗方法。
動態測試是通過觀察代碼運行時的動作,來提供執行跟蹤、時間分析,以及測試覆蓋度方面的信息。動態測試通過真正運行程序發現錯誤。通過有效的測試用例,對應的輸入腳出關系來分析被測程序的運行情況。
不同的測試方法各自的目標和側重點不一樣,在實際工作中。應將這兩種方法結合起來運用.以達到更完美的效果。
以上的測試方法各有所長,每種方法都可設計出一組有用的例子,用這組測試用例可以比較容易地發現某種類型的錯誤,卻不易發現另一種類型的錯誤。因此在實際測試中,應結合各種測試方法,形成綜合策略。在單元測試主要用白盒測試;在系統測試時主要用黑盒測試,或者以黑盒測試為主要測試方法,白盒測試為輔助方法等。