靜態測試方法
動態測試方法
1)按照產生測試數據(測試用例)以及判斷測試充分性的方法
結構性測試:旨在充分地覆蓋軟件的結構,并以軟件中的某些元素是否都已得到測試為準則來判斷軟件測試的充分性
排錯性測試:旨在排除軟件中包含某類錯誤的可能性,并根據一個測試數據集排除軟件錯誤可能性的能力來度量其測試的充分性
分域測試:通過對軟件的實現和/或軟件需求進行分析,將軟件的輸入空間劃分為一系列子空間,然后在每一個子空間內選擇一個或多個測試用例
功能測試:根據軟件所需的功能或/和所顯示的功能選擇測試數據,分析測試的充分性
2)按照測試數據所根據的信息來源
以程序為基礎的測試
以需求和功能規約為基礎的測試
程序和需求相結合的測試
可靠性測試:以驗證和評估軟件的可靠性為目的,并不關心測試過程中所發現的錯誤。
排錯性測試:該測試是以排除軟件錯誤為目的的,一旦測試發現錯誤,就立即予以排除。
一般來說,排錯性測試用于軟件測試的早期階段,并以白盒測試為主要的測試手段,而可靠性測試用于軟件測試的末尾階段,一般以黑盒測試為主要測試手段。
軟件測試工具
1)測試設計工具:邏輯設計工具和物理設計工具。
2)測試管理工具:幫助完成測試計劃,跟蹤測試運行結果等的工具。
3)靜態分析工具:靜態分析工具直接對代碼進行分析,不需要運行代碼,也不需要對代碼編譯鏈接,聲稱可執行文件。靜態分析工具一般是對代碼進行語法掃描,找出不符合編碼規范的地方,根據某種質量模型評價代碼的質量,生成系統的調用關系圖。靜態分析工具,代表的有Telelogic公司的Logiscope,PR公司的PRQA軟件,Reasoning公司的Illuma軟件。
4)動態分析工具:動態分析工具一般采用“插樁”的方式,向代碼生成的可執行文件中插入一些監測代碼,用來統計程序運行時的數據。其與靜態分析工具最大的不同是動態分析工具要求被測試系統實際運行。其代表有Compuware公司的DevPartner和Rational公司的Purify
5)覆蓋測試工具:大量用于單元測試中
6)負載和性能測試工具
7)GUI測試驅動和捕捉/回放工具
8)基于故障的測試工具
原文轉自:http://www.anti-gravitydesign.com