綜合分析上述四個條件,企業可以決定是否推行自動化測試;但是為了減少實施風險,我們還要預測到其他潛在的風險,做好事先解決思路。
對企業推行自動化測試的風險分析
其一是資金風險。雖然你的公司具備實施自動化測試的條件,但如果企業效益不好,還是先扭虧為盈吧。一款正版的測試工具價格龐大,企業要首先考慮資金是否允許購買正版的測試工具軟件,所以進行測試工具的成本估算,以及引入自動化測試后組織結構調整等方面的成本估算是很必要的。如果你的公司處在如同前面所言的自動化測試試驗階段,可以使用試用版測試工具。當然具有實力的公司可以按照自身的工作流程自主開發測試工具,本文不考慮這種情況。
其二是自動化測試對軟件功能類型的切入點的風險。企業開發的產品業務和功能是否需要自動化測試,包括白盒自動化測試、功能自動化測試和性能自動化測試。比如一些公司開發單機版軟件,只需要做功能測試,那便不必考慮第三種;有的公司開發簡單界面之類的軟件,例如搜索引擎,也可不必考慮第二種;而大多數國內公司開發的軟件,由于各種原因,一般都不考慮第一種。也有可能公司開發的軟件特殊性很強,市場上根本沒有支持它的自動化測試工具,此時要另辟蹊徑。這種評估相當重要,要根據自身的產品功能特征來綜合評估。針對不同階段采用自動化測試的種種優勢,我引用一個表格供讀者參考:
測試階段 描 述備 注
單元測試/組件測試這個測試工作通常是開發人員的職責,很多不同的方法能夠被使用,比如"測試先行",它是一個測試框架,開發人員在編寫代碼前編寫不同的單元測試,當測試通過時,代碼也被完成了。 通過使用正式的單元測試,不僅能夠幫助開發人員產出更加穩定的代碼,而且能夠是軟件的整體質量更加的好。
集成測試這里的測試工作集中在驗證不同的組件之間的集成上。 這種類型的測試通常是被測試系統的更加復雜測試的基礎,大量的邊緣測試被合并以制造出不同的錯誤處理測試。
系統測試 這種測試是通過執行用戶場景模擬真實用戶使用系統,以證明系統具有被期望的功能。 這里不需要進行自動化的測試。安裝測試、安全性測試通常是有手工完成的,因為系統的環境是恒定不變的。
其它兩種非常重要的測試
回歸測試 回歸測試實際上是重復已經存在的測試,通常如果是手工完成的化,這種測試只在項目的結尾執行執行一到兩次。 這里完全有潛力應用自動化的測試,你能夠在每次構建完成后執行自動化的回歸測試,以驗證被測試系統的改變是否影響了系統的其他功能。
- 負載測試
- 壓力測試
- 并發測試
-..... 如果沒有自動化的測試工具,你將不能執行通過模擬用戶的負載實現的高密集度的性能測試。
其三是軟件自動化測試切入方式的風險。正如前面所言,一定要記住將自動化測試與手工測試結合起來使用,不合理的規劃會造成工作事倍功半。首先,對于自動化測試率的目標是 10/90 (10% 的自動化測試和 90% 的手工測試)。當這些目標都實現了,可以將自動化測試的使用率提高。對于何種測試情況下引入自動化測試,何時依然采用手工測試,我們分開闡述。
一般這樣的測試條件下使用自動化測試:
項目沒有嚴格的時間壓力
具有良好定義的測試策略和測試計劃(知道要測試什么,知道什么時候測試)
對于自動化測試你擁有一個能夠被識別的測試框架和候選者
能夠確保多個測試運行的構建策略
多平臺環境需要被測試
擁有運行測試的硬件
擁有關注在自動化過程上的資源
如下條件下是宜采用手工測試:
沒有標準的測試過程
沒有一個測試什么、什么時候測試的清晰的藍圖
在一個項目中,你是一個新人,并且還不是完全的理解方案的功能性和或者設計
你或者整個項目在時間的壓力下
在團隊中沒有資源或者具有自動化測試技能的人
沒有硬件
其四是企業軟件的開發語言風險。當前業界流行的測試工具有幾十種,相同功能的測試工具所支持的環境和語言各不相同,這里筆者總結了當前國際上流行的幾個軟件測試工具生產廠商及一些主要IDE產品,讀者可根據參考網址去了解列舉工具和更多工具的詳細資料。
生產廠商 工具名稱 測試功能簡介
網址鏈接
Interactive
Corporation
winrunner 功能測試http://www.mercury.com/us/products/
Loadrunner 性能測試
QuickTest Pro功能測試
Astra LoadTest性能測試
testdirector 測試管理
IBM
Rational
Rational robot 功能測試和性能測試 http://www-900.ibm.com/cn/software/rational/
products/index.shtml
Rational xde tester 功能測試
Rational testmanager 測試管理
Rational purifyplus 白盒測試
compuware corporation QARun 功能測試 http://www.compuware.com/products/
QALoad 性能測試
QADirecto 測試管理
DevPartner Studio Professional Edition 白盒測試
Segue software SilkTest功能測試 http://www.segue.com/products/index.asp
SilkPerformer 性能測試
SilkCentral Test/Issue Manager 測試管理
Empirix e-Tester 功能測試 http://www.empirix.com/Empirix
/Web+Test+Monitoring/Testing+Solutions
Integrated+Web+Testing.html
e-Load 性能測試
e-Monitor 測試管理
parasoft Jtest Java白盒測試 http://www.parasoft.com/jsp/products.jsp?itemId=12
原文轉自:http://www.anti-gravitydesign.com