對于一個企業用戶來說,什么樣的軟件測試自動化方案將是他們所需要的呢?

      根據筆者和不同企業用戶的溝通和交流,他們的軟件測試自動化需求往往更多的集中在:自動化軟件測試管理流程,以達到始終一致的軟件質量和可量化的,可衡量的測試過程管理;通過實現測試自動化,以提高測試案例的復用和實現內部標準化,從而提高測試效率。

 

      但同時,企業用戶也將綜合考慮測試自動化給當前的企業部門與部門間的合作以及現有的工作流程所帶來的沖擊,在軟件測試自動化過程中也往往選擇“進化”方式,而不是“革命”的方式。

      企業在實現測試自動化過程中,一個有趣的現象是絕大多數的中國企業用戶會選擇在企業內部實現測試自動化,他們希望參與這個自動化的過程,并且更加在乎自己來建立并管理這個自動化流程;他們不于通過軟件測試自動化來滿足上述需求,而且希望通過自動化過程的實施達到學習和提高團隊測試技能的目的。

     與此相比,不在少數的歐美企業用戶他們可能會選擇測試自動化平臺托管服務,或者外包,離岸和派遣等多種方式相結合來實現,對他們來說,更加注重的是軟件測試自動化所帶來的結果,而非自動化過程本身。

     軟件測試自動化的方案選型

     在我們已經了解到的大多數的企業用戶對軟件測試自動化的需求之后,再來看看他們又是如何對軟件測試自動化的方案進行選型的:


      選擇盡可能少的自動化產品覆蓋盡可能多的平臺,以降低產品投資和團隊的學習成本。

      測試流程管理自動化通常被優先考慮,以滿足為企業測試團隊提供流程管理支持的需求。

       在投資有限的情況下,性能測試自動化產品將優先于功能測試自動化被考慮。

       在考慮產品性價比的同時,產品的支持服務和售后服務的完善性也備受關注。

       趨向于選擇主流產品,以便于通過行業間交流甚至網絡等方式獲得更為廣泛的經驗和支持。

       對測試自動化方案的可擴展性提出要求,以滿足企業不斷發展的技術和業務需求。

       由于不同客戶在組織架構,員工素質以及流程管理水平等方面的不同,我們很難用一個實例來說明它的普遍適用性。 


      然而大多數客戶完全獨立于廠商,獨立于技術的軟件測試自動化的需求和希望通過軟件測試自動化來達到的目的卻往往是具有共性的,而這種共性所提供給其它企業客戶的借鑒不是他們采用了那個平臺,利用了何種技術,而是實現軟件測試自動化的過程本身,以及在這個過程中所體現的具有普遍適應性的軟件質量管理和軟件測試的佳實踐。

      測試自動化不是拍腦袋的事


      既然我們談到了軟件質量管理和軟件測試佳實踐,很顯然這些佳實踐本身并不依附于軟件測試自動化的,它更多是來自于比如ITIL(IT Infrastructure Library)框架,或來自于一些標準化,如CMM/CMMi中的關于SQA的KPA(Key Performance Area)。所以,我們說軟件測試自動化是一個必然趨勢,但對企業來說,它并不意味著是必須馬上啟動的項目,或者甚至所有企業都必須跟隨的道路。


       首先,一個企業實施測試自動化,不是拍腦袋說干能干好的,它不僅涉及測試工作本身流程上、組織結構上的調整與改進,甚至也包括需求、設計、開發、維護及配置管理等其他方面的配合。


        如果對這些必要的因素沒有考慮周全,必然在實施過程中會處處碰壁,既定的實施方案也無法開展。


         其次,盡管自動化測試可以降低人工測試的工作量,但并不能完全取代手工測試。的自動化測試只是一個理想目標,根據筆者的經驗即便一些如SAP, Oracle ERP等測試庫規劃十分完善的套件,其測試自動化率也不會超過70%。所以一味追求測試自動化只會給企業帶來運作成本的急劇上升。

        再次,比較測試自動化需要企業有相對規模的投入,對企業運作來說,投入回報率將是決定是否實施軟件測試自動化的終指揮棒,筆者建議企業在決定實施軟件測試自動化之前,必須要求量化的投資回報分析。


        此外,軟件測試自動化并不是采購強大的自動化軟件測試工具或自動化管理平臺,畢竟軟件質量的保證不是依靠產品或技術,而且更多的因素在與高素質的人員和合理有效的流程。