1 瞭解傳統項目開發流程(瀑布模型)
2 自動化測試決定
自動化測試確實存在許多優點,但並不是任何測試都能自動化,它也存在着侷限性。克服不正確的自動測試期望,必須針對測試項目的具體情況,確定什麼時候,對什麼進行自動化。如果對不適合自動化的測試,實施自動化,不但耗費了大量資源,而且得不到相應的回報。要記住:自動測試不可能完全替代手動測試。
在針對測試項目的整個週期時間、資源分配情況及資金安排情況的綜合分析後,確定什麼時候,對什麼進行自動化。
2.1 爲什麼要做自動化
通常,軟件測試的工作量很大。而測試中的許多操作是重複性的、非智力性的和非創造性的,並要求做準確細緻的工作,這樣,計算機就最適合於代替人工去完成這樣的任務。要理解爲什麼要進行自動化測試,可以從以下幾個方面來考慮。一方面,手工測試存在如下的侷限性:
●通過手工測試無法做到覆蓋所有代碼路徑。
●簡單的功能性測試用例在每一輪測試中都不能少,而且具有一定的機械性、重複性,工作量往往較大。
●許多死鎖、資源衝突、多線程等有關的錯誤,通過手工測試很難捕捉到。
●進行系統壓力、性能測試時,需要模擬大量數據或大量併發用戶等各種應用場合時,很難通過於工測試來進行。
●進行系統可靠性測試時,需要模擬系統長時間運行,以驗證系統能否穩定運行,這也是手工測試無法模擬的。
●如果有大量(幾千)的測試用例,需要在短時間內(1天)完成,手工測試幾乎不可能做到。
2.2 克服不正確的自動化測試期望
●測試工具可以用於所有的測試
●測試工作會馬上減輕
●進度會馬上縮短
●工具易於使用
●測試自動化的普遍應用(100%的測試覆蓋率)
2.3 瞭解自動化測試的好處
●縮短軟件開發測試周期,可以讓產品更快投放市場。
●測試效率高,充分利用硬件資源。
●節省人力資源,降低測試成本。
●增強測試的穩定性和可靠性。
●提高軟件測試的準確度和精確度,增加軟件信任度。
●軟件測試工具使測試工作相對比較容易,但能產生更高質量的測試結果。
●手工不能做的事情,自動化測試能做,如壓力、性能測試。
2.4 獲取部門的支持
2.5分析需求和用例
2.6 選擇和評審用於自動化測試的工具
3. 自動化工具的獲取
實現自動化測試,測試工具的選擇很重要,而目前還沒有一個單一的測試工具能用來完成所有的測試需求。測試工具品種不一,功能性能各異。對自動測試工具的適當選擇,很大程度上決定了該工具能否獲得相應的投資回報。
要對市場上各種測試工具進行廣泛地調查比較。在選擇時,建議考慮以下幾個方面:該工具引入後改進測試的效果,能實現何種測試需求;測試工具與待測軟件/系統的互操作性;工具的成本估算;引入工具所需的額外時間;工具所需的專業知識及培訓費用等等。有時,可以選擇開放性開發的測試工具。
3.1 評審系統環境
3.2 評審測試工具是否可以支持該系統環境
3.3 肯定工具對系統環境的支持
4 自動化引入過程――自動化如何及在哪個階段引入
5 測試組的管理
5.1 測試組的組織結構
5.2 測試任務
5.3 測試工作規模
5.4 任務及職責
6 測試計劃:靈活運用測試
6.1 測試範圍
6.2 用例的分級
6.3 測試環境
6.4 測試計劃
7 測試分析與設計
7.1 測試需求分析
7.2 測試框架設計
7.3 測試程序設計
8 自動化腳本開發
9測試執行
10 測試結果分析
11 優化&調整腳本
12 rerun
13 提交測試報告並錄入bug
14 跟蹤複查bug