1前言
軟件測試對軟件質量的保證起著致關重要的作用。雖然國內軟件企業越來越注重軟件測試工作,但仍然存在這樣一個不爭的現實:除了部分大中型軟件企業外,相當多的軟件企業的軟件測試工作還完全處于手工測試狀態,甚至還沒有穩定的測試團隊。在這樣的企業環境下,軟件測試工作變成了一項枯燥繁重的"苦差事"。大型軟件項目的新增業務需求和變更需求比較多,且各類業務比較復雜,如ERP、CRM、SCM等等。軟件開發往往采取模塊化設計和增量集成的方式,加上某些系統對流程和權限的控制比較嚴格,從而導致單據從受理到進入歸檔狀態是一個非常漫長的過程。測試人員準備測試數據比較困難,經常需要花很多時間去創建一張單并執行到預定的狀態。此外還有大量的變更問題需要驗證,軟件測試中的許多BUG還需要進行回歸測試。這些工作都存在大量的重復性勞動,有必要引入和運用功能自動化測試方法。
2自動化測試的適用性
自動化測試的切入時機以基本完成軟件的程序界面開發、頁面控件相對穩定為宜。如果項目還處在界面開發階段,對頁面的配置尚存在較多爭議或處于頻繁更改的狀態時,不宜進行自動化測試。因為這樣既達不到保證軟件質量、提高測試效率的目標,反而浪費人力物力維護測試腳本。
當界面穩定后,自動化測試即可開始。但最好在以下幾種情況下引入自動化測試,以便達到真正的測試效果。
測試時間相對長,且存在大量重復性、機械性手工測試的項目
產品型軟件,每發布一個新的版本或打補丁都需要對其他模塊執行相同的測試
項目型軟件,需求變更頻繁,每變更一次,需要對原有的無爭議的功能做測試
經常需要更換應用程序部署站點的軟件,每更換一次需要對所有功能做驗證測試
測試時間相對長,且存在大量需要執行回歸測試的軟件項目
系統界面穩定,需要對業務流程進行驗證測試的軟件
采用增量開發持續集成的項目,需要對頻繁更新的程序執行驗證測試
軟件項目采用主流開發平臺技術,且不存在物理交互的測試,如刷卡測試
項目工期緊、測試周期短的項目不應采取自動化測試
界面的美觀、聲音的體驗和易用性的測試不應采取自動化測試
3自動化測試的工具集
自動化測試的工具很多,按照用途可以劃分為測試管理工具、功能自動化測試工具、性能自動化測試工具、單元測試工具、測試用例設計工具。按照收費方式,又可以分為商業測試工具、開源測試工具、免費測試工具。
當前主流的自動化測試工具有Mercury Interactive Corporation、IBM Rational、Compuware Corporation、Segue Software等公司的系列產品。美科林公司的系列產品簡介如下:
4自動化測試的方法集
自動化測試的腳本開發有多種參考方法,簡要介紹如下:
從上表可見,關鍵字驅動腳本的維護成本最低,但編程技能、設計和管理的要求是最高的。在自動化測試時,應根據實際的測試需求和條件選取適當的腳本開發方法。一般都會綜合好幾種開發方法。
5自動化測試的基本流程
5.1測試基本流程
5.2制定測試計劃
在開展自動化測試之前,最好做個測試計劃,明確測試對象、測試目的、測試的項目內容、測試的方法、測試的進度要求,并確保測試所需的人力、硬件、數據等資源都準備充分。制定好測試計劃后,下發給用例設計者。
5.3分析測試需求
用例設計者根據測試計劃和需求說明書,分析測試需求,設計測試需求樹,以便用例設計時,能夠覆蓋所有的需求點。一般來講,基于Web的系統測試需要覆蓋以下幾個方面:
頁面鏈接測試,確保各個鏈接正常
頁面控件測試,確保各個控件可靠
頁面功能測試,確保各項操作正常
數據處理測試,確保數據顯示準確、處理精確可靠
原文轉自:http://www.uml.org.cn/Test/200906255.asp