總的來說,測試工具的應用可以提高測試的質量、測試的效率。但是在選擇和使用測試工具的時候,我們也應該看到,在測試過程中,并不是所有的測試工具都適合我們使用,同時,有了測試工具、會使用測試工具并不等于測試工具真正能在測試中發揮作用。因此,本文擬從測試工具的選擇和使用方面著手,講述一點本人的心得。
1、 應用測試工具的目的
應用測試工具的目的很明確,一般而言,在測試過程中應用測試工具主要為了以下幾個目的:
a) 提高測試質量;
b) 減少測試過程中的重復勞動
c) 實現測試自動化
在測試中應用測試工具,可以發現正常測試中很難發現的缺陷(例如,Numega的DevPartner工具就可以發現軟件中的內存方面的問題)
2、 測試工具的分類和選擇
一般而言,我們將測試工具分為白盒測試工具、黑盒測試工具、性能測試工具、測試管理工具幾個大類。
a) 白盒測試工具
白盒測試工具一般是針對代碼進行測試,測試中發現的缺陷可以定位到代碼級,根據測試工具原理的不同,又可以分為靜態測試工具和動態測試工具。
i. 靜態測試工具
靜態測試工具直接對代碼進行分析,不需要運行代碼,也不需要對代碼編譯鏈接,生成可執行文件。靜態測試工具一般是對代碼進行語法掃描,找出不符合編碼規范的地方,根據某種質量模型評價代碼的質量,生成系統的調用關系圖等。
靜態測試工具的代表有Telelogic公司的Logiscope軟件、PR公司的PRQA軟件。
ii. 動態測試工具
動態測試工具與靜態測試工具不同,動態測試工具的一般采用“插樁”的方式,向代碼生成的可執行文件中插入一些監測代碼,用來統計程序運行時的數據。其與靜態測試工具最大的不同就是動態測試工具要求被測系統實際運行。
動態測試工具的代表有Compuware公司的DevPartner軟件、Rational公司的Purify系列。
b) 黑盒測試工具
黑盒測試工具適用于黑盒測試的場合,黑盒測試工具包括功能測試工具和性能測試工具。黑盒測試工具的一般原理是利用腳本的錄制(Record)/回放(Playback),模擬用戶的操作,然后將被測系統的輸出記錄下來同預先給定的標準結果比較。黑盒測試工具可以大大減輕黑盒測試的工作量,在迭代開發的過程中,能夠很好地進行回歸測試。
黑盒測試工具的代表有Rational公司的TeamTest、Robot,Compuware公司的QACenter,另外,專用于性能測試的工具包括有Radview公司的WebLoad、Microsoft公司的WebStress等工具。
c) 測試管理工具
測試管理工具用于對測試進行管理。一般而言,測試管理工具對測試計劃、測試用例、測試實施進行管理,并且,測試管理工具還包括對缺陷的跟蹤管理。
測試管理工具的代表有Rational公司的Test Manager、Compureware公司的TrackRecord等軟件。
d) 其他測試工具
除了上述的測試工具外,還有一些專用的測試工具,例如,針對數據庫測試的TestBytes,對應用性能進行優化的EcoScope等工具。
e) 測試工具的選擇
面對如此多的測試工具,對工具的選擇就成了一個比較重要的問題。我們在考慮選用工具的時候,建議從以下幾個方面來權衡和選擇:
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/