圖2-3 測試執行及評估流程
這個階段由測試設計工程師與測試工程師共同參與。構建好的待測系統上使用測試用例腳本執行測試數據,其中測試數據是被設計用于測試該應用程序各種特征的??梢允褂肊xcel、Word、ClearQuest等工具,得到測試后的測試結果日志、測試度量、缺陷報告及測試評估總結等。
1.2.2 自動化測試與自動化測試過程的區別
如果需要的是一個完全的自動化的測試過程,而不僅僅是一些自動化測試,那么圍繞測試執行過程的前處理和后處理任務就必須自動化,如圖2-4。前處理,包括所有與建立和恢復那些與測試先決條件相關的工作。后處理,包括對測試結果進行評估,保存工具日志文件,清除測試環境等工作。對測試過程進行自動化,更有利于減輕工作量。
圖2-4 自動化測試與自動化測試過程的區別
1.2.3 自動化測試生命周期方法學
自動化測試生命周期方法學(Automated Test Lifecycle Methodology,ATLM)[1]是一個旨在確保自動化測試成功實施的結構化的方法學,反映了現代的快速應用開發(Rapid Application Development, RAD)工作的益處。它是一個多階段的過程,該方法學由六個部分組成:自動測試決定,自動測試工具獲取,自動測試引入測試過程,自動測試計劃、設計與開發,測試的執行與管理,測試的評審與評估。如圖2-5所示。
在2.2.1節中論述的自動化測試過程是自動化測試生命周期的一個重要組成部分。而ATLM則從方法論的角度,更全面更系統地論述了整個自動化測試項目。
圖2-5 自動測試生命周期方法學
(1)自動測試決定
正如在2.1.2節中論述的,自動化測試確實存在許多優點,但并不是任何測試都能自動化,它也存在著局限性??朔徽_的自動測試期望,必須針對測試項目的具體情況,確定什么時候,對什么進行自動化[14]。如果對不適合自動化的測試,實施自動化,不但耗費了大量資源,而且得不到相應的回報。要記?。鹤詣訙y試不可能完全替代手動測試。
作者認為,在針對測試項目的整個周期時間、資源分配情況及資金安排情況的綜合分析后,確定什么時候,對什么進行自動化。
(2)測試工具獲取
實現自動化測試,測試工具的選擇很重要,而目前還沒有一個單一的測試工具能用來完成所有的測試需求。測試工具品種不一,功能性能各異。對自動測試工具的適當選擇,很大程度上決定了該工具能否獲得相應的投資回報。
作者認為,要對市場上各種測試工具進行廣泛地調查比較。在選擇時,建議考慮以下幾個方面:該工具引入后改進測試的效果,能實現何種測試需求;測試工具與待測軟件/系統的互操作性;工具的成本估算;引入工具所需的額外時間;工具所需的專業知識及培訓費用等等。有時,可以選擇開放性開發的測試工具。
(3)自動測試引入階段
首先需要測試過程分析,從而確定適用的技術環境以及自動工具可支持的各種測試。其次,將潛在的測試工具和實用程序映射到測試需求中,驗證測試工具是否與應用及環境兼容。
作者認為,使測試工具得到最大回報的方法,就是在測試中最大限度地發揮它的功能。對于獲得的測試工具,要真正引入到測試項目中,與待測系統實現互操作,可以以某些測試工具為基礎進行二次開發,使得測試工具更專業化,更適合測試工程師操作。
(4)自動化測試過程
自動化測試過程包括:測試計劃、設計及開發,測試執行與管理,測試評審與評價,已經在2.2.1節中具體論述過了。
1.3 自動測試生命周期方法學的應用
自動測試生命周期方法學作為一種結構化的方法學,本課題以之為指導,進行自動化測試系統的設計與實現。
本文第三章將論述根據iSAM系統的測試需求作出自動測試的決定,以及自動測試系統建模的方法。
第四、五章將詳細介紹自動化測試系統的框架和實現,以及為此系統設計和實現的自動工具。這正對應于自動測試生命周期第二階段自動測試工具的獲取和第三階段自動測試引入到過程。
原文轉自:http://www.uml.org.cn/Test/200804098.asp