自動化測試可以為幾乎所有開發或部署軟件的團隊帶來上市時間、質量、生產力和可審核性上的巨大效益。例如,TestPlant 曾與全球領先的新聞出版商合作,將他們的應用更周期從3 個星期縮短至2 天,也曾幫助英國的一家主要銀行將應用發布版本的缺陷減少了65%,還曾幫助全球五大零售商之一將他們所提供的應用數量增加了1 倍,卻無需擴大原有測試團隊。這些案例并不罕見——自動化測試確實已經為許多公司帶來了極大的益處。但是,也有許多團隊多年來付出了巨大的努力,想要推出自動化測試,卻沒能從中取得實在的利益。這是為什么呢?
TestPlant 曾成功地與數百家公司合作部署了自動化測試,也分析過許多失敗的自動化測試的嘗試。我們從經驗中總結出了成功案例必備的兩大關鍵因素:
1、項目管理恰當。
2、時時有具備自動化測試部署成功經驗的人士坐鎮。而許多案例的失敗正因為缺少了這兩個因素。當你讀到這兩大成功的關鍵因素時,覺得是顯而易見的。但事實卻是世界上許多(可能幾乎所有)自動化測試的新嘗試都不具備這兩大因素,因此最終都難以實現目標。

本指南旨在幫助你建立成功的自動化測試項目。你可以將其作為為自動化測試部署而定義高質量項目規劃的指導、模板和核查清單。
提示:本指南假定項目高層已決定部署自動化測試,也就是說,已無需為項目創建商業案例;同時假定自動化測試工具也已選定。如有需求,未來可能發布包含以上內容的新版本,敬請提供反饋。
自動化測試部署項目主要分為以下三大步驟:
一、項目管理
自動化測試部署必須有恰當的項目管理。任何合理的項目管理方式均可使用(如Agile、PRINCE2、CCPM等),但必須積極落實應用。
(一)指派項目經理。
(二)定義目標(包括商業和技術目標)。
下面來介紹定義項目目標的方法:
1. 項目自動化可以帶來巨大的效益,但是任何能力的習得都并非一蹴而就,因此你的第一個項目不應有過大的野心。強烈建議你在投身大型項目前,先運行一個時間短、目標有價值且現實的試驗項目。根據實際情況設定相應目標。
2. 許多新的自動化測試部署項目完全專注于對已有人工測試過程進行自動化處理。人工測試過程通常會遺漏有效測試活動(如回歸測試或兼容性測試),因為這些測試活動無法用人工測試的手段實現,但通過測試自動化,它們可以帶來巨大的效益。反之,有些測試活動則無法通過自動化提供效益。所以,當你在定義輸出目標時,需要考慮清楚哪些測試活動對成果目標有貢獻,而自動化又對哪些活動更有利。
(三)制定基本項目規劃;
(四)定義定期項目評審機制并制準備工作:
二、準備工作

(一)、已建立測試環境,并經過測試。
不適當的測試環境最有可能導致時間浪費和測試結果的不可靠。因此,在開始創建和執行重要的測試腳本前,設計和建立一個可靠的測試環境十分重要。請注意,通過合理規劃和資源配置,建立可靠的測試環境并不困難,但如果臨時馬虎處理,則往往會導致問題的發生。而且你必須保證在測試環境中做到充分的變更控制。這可能是最重要的潛在因素,因為如果沒有變更控制,再完美的測試環境都有可能在項目發展過程中出現問題。沒有變更控制,測試系統中可能會意外安裝上被測應用程序的其他版本,配置可能被篡改,測試系統可能被卸載,瀏覽器和操作系統版本可能會自動升級,網絡電纜可能會斷開。
(二)、已與其他團隊建立合作關系。
(三)、已定義測試結構、規則和框架。

開始為你的測試用例創建自動化測試腳本前,你需要定義測試結構、規則和框架(以下簡稱“框架”) 此時,你可能會忍不住想試著定義將來需要的常見功能集合,在測試員開始為測試用例執行腳本前預先實現這些功能。但我們建議你不要這么做。因為我們的經驗顯示,許多預先實現的功能最終都從未被使用,而許多使用的功能則需要大幅重構,才能從實施在測試用例上的腳本上有效使用。此外,下了巨大的功夫撰寫腳本卻沒有任何自動化測試用例能夠證明,對積極性的打擊將會很大。所以,我們建議,提前定義模塊化的明確方法,再根據需要構建儲存庫,例如,第一個為測試用例執行需要“登錄”的測試腳本的人應當意識到“登錄”會成為一個常見功能,并將此腳本執行添加至儲存庫中。
(四)、建立和配置測試管理工具。
(五)、建立自動化測試執行框架。
你當然非常希望一夜之間就自動完成測試運行,開始手動測試。而這其實可以通過使用測試管理工具來實現,例如像egg- Plant 一樣專注于測試執行的工具,或類似Jira 的持續集成工具。別忘了還是要在開始測試前將工具安裝配置完成。

(六)已定義配置管理,已建立基礎設施。
要安裝一個類似Git 或Subversion 的配置管理工具(SCM,即軟件配置管理)來儲存測試腳本,而自動化測試執行應始終使用SCM內的一組固定腳本。使用SCM能夠促進共享,保證所有的腳本變化都能得到記錄,以及所有腳本都能經常得到備份。
(七)團隊已經過培訓。保證所有測試員都接受過關于所使用的測試工具、測試環境、配置管理和測試結構等內容的適當培訓。
三、 持續性活動
以上兩個環節介紹了項目規劃中應包含的一系列關鍵的準備工作。而本節則介紹了自動化測試項目的主要實施階段中關鍵的持續性活動。
自動化測試項目不僅僅是撰寫新腳本的問題,還有其他的重要活動需要恰當的資源支持和管理。項目失敗的一常見原因就是只為前期的測試腳本創建工作安排了足夠的人員,這就意味著其他活動的完成質量將很低(或根本無法完成),整個項目可能因此被迅速破壞。所以,你的項目規劃必須將以下羅列的所有持續性活動都考慮在內:
測試用例定義、框架開發、測試腳本開發(平臺)、測試腳本開發(其他平臺)、測試執行、結果審閱和缺陷提交、測試腳本管理和環境管理。
溫馨提示:TestPlant 的成就客戶經理在閱讀本文時紛紛表示“結果審閱”(和處理應對)是大多數項目最容易犯錯的持續性活動。如果你沒有仔細審閱測試結果并作出處理,你就無法從自動化測試中獲得價值,你的測試也不可能具備魯棒性。
以下是一個項目團隊的典型資源配置范例:
? 測試用例定義:2 人(假設測試用例尚不存在)。
? 測試腳本開發和維護:4-5 人。
- 55% 測試腳本開發(平臺)。
- 15% 測試腳本開發(其他平臺)。
- 20% 測試腳本維護。
- 5% 框架開發。
? 測試執行和環境管理:1 人。
? 項目管理:0.5 人。

關于TestPlant
EggPlant是全球知名的跨平臺黑盒自動化測試軟件。TestPlant 是一家國際軟件企業,其總部位于英國倫敦市,以其高端的技術、飛速的發展和以出口為導向的活動而著稱。該公司創建了EggPlant 這款領先的軟件測試工具,幫助用戶自動化傳統意義上需要手動完成的軟件測試和驗證流程。EggPlant 被全球500 多家涉及各行各業的企業使用,包括國防部和安全機構、航空與航天工業、醫療保健和生命科學行業、金融和零售業、IT、電信和媒體行業等。已于2011年1月獲得美國專利和商標局(US Patent andTrademarks Office)的批準和認可。
EggPlant技術
EggPlant 是一款智能的自動化測試工具,能夠查看處于測試中的系統上的顯示屏。用戶可以設置我們的圖像識別算法,使其發現與預期結果相比存在哪些差異。他們還能調整EggPlant 來檢測顏色——甚至是色調;EggPlant 可以在使用Silverlight,Flex 和Flash 的動態環境中運行;經過微調后能夠適應定制的屏幕,而且EggPlant 每次識別一個前后不一致的問題后,就會保存一份含有錯誤屏幕截圖的故障報告,便于開發人員日后參考。
當測試工程師在一個測試環節(或手動測試)中使用 EggPlant,就會編譯簡單的“script(腳本)”命令。在 EggPlant 內集成的這種命令語言是“SenseTalk”,該語言已被證實極其簡單易用,因為它是面向非開發人員的用戶,他們不必進行計算機語言的培訓即可使用。
EggPlant 的另一項獨特功能是雙計算機方式。EggPlant 被加載到測試控制器上,并使用虛擬網絡通信(VNC)與處于測試中的系統(SUT)建立一個鏈接。通過這種方式,用戶利用一份EggPlant 許可證,便能測試分布在一個測試實驗室或全球網絡中各種操作環境下任何硬件上的大量系統。用計算機術語描述的話,EggPlant 是一款跨瀏覽器、跨平臺的技術不可知程序,不但十分友好【它不“干預”處于測試中的系統】,還能與使用任何IP 地址的任何設備建立鏈接。已于2011年1月獲得美國專利和商標局(US Patent andTrademarks Office)的批準和認可。

首頁 > 新聞資訊
