【學(xué)習(xí)記錄】靜態(tài)測試與隨機測試
最近學(xué)習(xí)期間,我從測試的朋友那里聽說的,
和外面交流會問到這個問題。
在此,我做個小總結(jié)。
1、靜態(tài)測試(static testing)
靜態(tài)測試是靜態(tài)地檢查程序代碼、接口或文檔中可能的錯誤,而不是實際運行被測試軟件的過程。
包括代碼測試、接口測試和文檔測試:
對于代碼測試,主要測試代碼是否符合相應(yīng)的標(biāo)準(zhǔn)和規(guī)范。
對于接口測試,主要測試軟件的實際接口是否符合需求中的說明。
對于文檔測試,主要測試用戶手冊和需求描述是否符合用戶的實際需求。
2、動態(tài)測試(dynamic testing)
動態(tài)測試是指實際運行被測程序,輸入相應(yīng)的測試數(shù)據(jù),檢查實際輸出結(jié)果是否與預(yù)期結(jié)果一致的過程。因此,判斷一個測試是動態(tài)還是靜態(tài)的唯一標(biāo)準(zhǔn)是是否運行程序。
黑盒測試可以是動態(tài)測試(運行程序,看輸入輸出),也可以是靜態(tài)測試(不運行,只看界面)。
白盒測試可以是動態(tài)測試(運行程序并分析代碼結(jié)構(gòu)),也可以是靜態(tài)測試(不運行程序,只靜態(tài)察看代碼)。
動態(tài)測試可以是黑盒測試(運行,只看輸入輸出)或白盒測試(運行并分析代碼結(jié)構(gòu))。
靜態(tài)測試可以是黑盒測試(不運行,只察看界面)或白盒測試(不運行,只察看代碼)。
3、靜態(tài)測試和動態(tài)測試之間的區(qū)別
靜態(tài)測試:通過對測試程序的靜態(tài)檢查來發(fā)現(xiàn)代碼中潛在的錯誤。
它通常是離線手動完成的,因此也稱為手動測試或代碼審查(Code Review)。也可以借助靜態(tài)分析器在機器上自動檢查,但不要求程序本身在機器上運行。
動態(tài)測試:使用和運行被測軟件,一般意義上的測試。
動態(tài)測試的對象必須是能夠真正由計算機運行的被測程序,包括黑盒測試和白盒測試。