qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          軟件測試工具的比較和選擇

          摘要:

            隨著軟件測試的地位逐步提高,測試的重要性逐步顯現,測試工具的應用已經成為了普遍的趨勢。目前用于測試的工具已經比較多了,這些測試工具一般可分為:白盒測試工具、黑盒測試工具、性能測試工具,另外還有用于測試管理(測試流程管理、缺陷跟蹤管理、測試用例管理)的工具。

            總的來說,測試工具的應用可以提高測試的質量、測試的效率。但是在選擇和使用測試工具的時候,應該看到,在測試過程中,并不是所有的測試工具都適合我們使用,同時,有了測試工具、會使用測試工具并不等于測試工具真正能在測試中發揮作用。因此,要發揮測試工具的價值,必須根據公司的實際情況合理選擇測試工具, 本文擬從測試工具的選擇和使用方面著手,講述一點個人的心得,僅供參考

            關鍵詞:白盒測試工具集、黑盒測試工具集、測試管理工具集、自動化測試工具集

            一、白盒測試工具集

            白盒測試工具一般是針對代碼進行測試,測試中發現的缺陷可以定位到代碼級,根據測試工具原理的不同,又可以分為靜態測試工具和動態測試工具。公司目前的測試水平尚不具備使用白盒測試工具進行代碼測試的能力,這里只作簡單介紹

            1、靜態測試工具

            靜態測試工具直接對代碼進行分析,不需要運行代碼,也不需要對代碼編譯鏈接,生成可執行文件。靜態測試工具一般是對代碼進行語法掃描,找出不符合編碼規范的地方,根據某種質量模型評價代碼的質量,生成系統的調用關系圖等。靜態測試工具的代表有Telelogic公司的Logiscope軟件、PR公司的PRQA軟件。

            2、動態測試工具

            動態測試工具與靜態測試工具不同,動態測試工具的一般采用"插樁"的方式,向代碼生成的可執行文件中插入一些監測代碼,用來統計程序運行時的數據。其與靜態測試工具最大的不同就是動態測試工具要求被測系統實際運行。

            動態測試工具的代表有Compuware公司的DevPartner軟件、Rational公司的Purify系列等。

          Parasoft白盒測試工具集

          Compuware白盒測試工具集

          Xunit白盒測試工具集



          二、黑盒測試工具集

            黑盒測試工具適用于黑盒測試的場合,黑盒測試工具包括功能測試工具和性能測試工具。黑盒測試工具的一般原理是利用腳本的錄制(Record)/回放(Playback),模擬用戶的操作,

            然后將被測系統的輸出記錄下來同預先給定的標準結果比較。黑盒測試工具可以大大減輕黑盒測試的工作量,在迭代開發的過程中,能夠很好地進行回歸測試

            黑盒測試工具的代表有Rational公司的TeamTest、Robot,Compuware公司的QACenter,另外,專用于性能測試的工具包括有Radview公司的WebLoad、Microsoft公司的WebStress等工具。

          主流黑盒功能測試工具集

          主流黑盒性能測試工具集

            三、測試管理工具典型產品比較

            測試管理工具用于對測試進行管理。一般而言,測試管理工具對測試計劃、測試用例、測試實施進行管理,并且測試管理工具還包括對缺陷的跟蹤管理。

            測試管理工具的代表有Rational公司的Test Manager、Compureware公司的TrackRecord等軟件。

            四、商業化自動測試工具比較


          五、測試工具的選擇

            面對如此多的測試工具,對工具的選擇就成了一個比較重要的問題。我們在考慮選用工具的時候,建議從以下幾個方面來權衡和選擇。

            功能

            功能應該是我們最關注的內容,選擇一個測試工具首先就是看它提供的功能。當然,這并不是說測試工具提供的功能越多就越好,在實際的選擇過程中,適用才是根本。事實上,目前市面上同類的軟件測試工具之間的基本功能都是大同小異,各種軟件提供的功能也大致相同,只不過有不同的側重點。除了基本的功能之外,以下的功能需求也可以作為選擇測試工具的參考:

            報表功能;測試工具生成的結果最終要由人進行解釋,而且,查看最終報告的人員不一定對測試很熟悉,因此,測試工具能否生成結果報表,能夠以什么形勢提供報表是需要考慮的因素。

            測試工具的集成能力;測試工具的引入是一個長期的過程,應該是伴隨著測試過程改進而進行的一個持續的過程。因此,測試工具的集成能力也是必須考慮的因素,這里的集成包括兩個方面的意思:首先,測試工具能否和開發工具進行良好的集成;其次,測試工具能夠和其他測試工具進行良好的集成。

            操作系統和開發工具的兼容性;測試工具可否跨平臺,是否適用于公司目前使用的開發工具,這些問題也是在選擇一個測試工具時必須考慮的問題。

            價格

            除了功能之外,價格就應該是最重要的因素了。目前測試工具的價格普遍偏高,有的甚至是"天文數字",在這方面只能建議公司先使用網上盜版或破解的工具,但是測試的準確性得不到可靠得保證

            六、測試工具在實際中運用的瓶頸

            許多引入測試軟件的公司并沒有能夠讓測試軟件發揮應有的作用,其主要原因我總結為三個方面:

            1、沒有考慮到公司的實際情況,盲目引入測試工具

            首先要明確一點,并不是每種測試工具都適合公司目前的實際情況。一些公司懷著美好的愿望花了不小的代價引入測試工具,半年一年以后,測試工具卻成了擺設,究其原因,就是沒有能夠考慮公司的現實情況,不切實際地期望測試工具能夠改變公司的測試現狀,從而導致了失敗。建議:公司可以考慮先引入黑盒測試工具和測試管理工具。

            2、沒有形成一個良好的使用測試工具的環境

            換句話說,就是沒有能夠形成一種機制讓測試工具真正能夠發揮作用。例如,白盒測試工具的一般使用場合是在單元測試階段,而單元測試是由開發人員完成,如果沒有流程來規范開發人員的行為,在項目進度壓力比較大的情況下,開發人員很可能就會有意識地不使用測試工具,來逃避問題。在這種情況下,就必須形成一種有約束力的機制來強制對測試工具的使用。建議:將測試工具的使用明確定義進公司的開發流程,我認為是一種比較好的方式。

            3、沒有進行有效的測試工具的培訓

            測試工具的使用者必須對測試工具非常了解,在這方面,有效的培訓是必不可少的。測試工具的培訓是一個長期的過程,不是通過一兩次講課的形式就能達到良好的效果。而且,在實際的使用測試工具的過程中,測試工具的使用者可能還存在著這樣那樣的問題,這也需要有專人負責解決,否則的話,對于測試工具使用者的積極性是很大的打擊。公司在進行測試工具的培訓時,建議可以通過一系列的學習和交流,從針對開發高層的《測試工具基本概念培訓》到針對測試工具實際使用者的《測試工具使用培訓》,再到交流性質的《測試工具應用交流研討會》,再到定期發出的《測試工具應用問答》,來提高目前測試工具的應用和測試人員的基本功

            七、總結

            綜上所述目前公司在測試工具引入上應該抱著謹慎的態度,先試用共享或免費軟件,待公司開發規模,質量管理力度,測試管理等達到一定深度時再考慮引入正版收費軟件。其次,測試管理工具的引入優先與其他測試工具的引入,原因之一是測試管理手段的科學化,對測試工作具有指導與規范作用;其二,在目前公司獨立測試從無到有逐步發展的里程中,找到適合公司自身特點的管理理念與方法顯得更為迫切;其三,目前公司測試人員的水平對引入相對掌握難度較低的測試管理工具更能迅速上手;其四,目前共享或免費的測試管理工具可選擇的余地較廣,國產成熟產品也較多,且測試管理工具往往融合了過程管理的流程。


          posted on 2013-06-20 10:54 順其自然EVO 閱讀(1868) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2013年6月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 古浪县| 门源| 枞阳县| 曲靖市| 盐边县| 海淀区| 太原市| 新田县| 砀山县| 巴彦淖尔市| 镶黄旗| 满城县| 兰西县| 成安县| 天水市| 大英县| 仪征市| 平定县| 米脂县| 广丰县| 泾源县| 楚雄市| 宝应县| 湄潭县| 龙游县| 晴隆县| 秦皇岛市| 郴州市| 商南县| 武邑县| 龙泉市| 江安县| 花莲县| 溆浦县| 勐海县| 遵义市| 合阳县| 水富县| 金川县| 隆昌县| 沾化县|