在上篇文章中,我們已經介紹過Selenium的一些基礎知識,以及是否能夠開展自動化測試的情形,在這篇文章中,我們將主要介紹自動化測試的實施流程。
1、自動化測試流程圖
2、主要過程描述
2.1、自動化測試的切入點
開展自動化測試的時間點很關鍵,需要在系統已經過多版本的系統測試,達到穩定之後。
2.2、可行性分析
在進行項目自動化測試之前,第一步就是要確認其可行性,是否可以實行測試自動化。如果項目時間緊迫、項目週期短、項目需求變幻無常則建議和上級領導商議,不要開展自動化測試。想要開展自動化測試,還是應該遵循以下幾個前提條件:
軟件需求變動不頻繁
項目週期足夠長
自動化測試腳本可重複使用
在這個階段應該產出《可行性分析報告》。
2.3、抽樣 demo 分析
通過可行性分析後,接下來需要做一個demo ,等待 demo 完成後,可以再次通過分析自動化測試工作能否順利地開展下去,因爲 demo 已經是一個實體案例,所以,可以完全通過透析 demo 來發現是否存在技術上的致命問題。通常在 demo 完成之後,有經驗的自動化測試工程師或組長就能對這個項目的自動化測試工作有一個大體的把握了。一旦通過了抽樣 demo 分析,自動化測試就可以展開了。關於 demo 的選取,一般直接選擇冒煙測試用例(大冒煙)寫成測試腳本後執行,檢查腳本是否能夠成功運行通過,已設計的測試點是否全部執行到即可。
2.4、 測試需求分析
到了測試需求分析這一步,分析的就不再是能否在項目中引入測試自動化了,而是在爲下一階段制定具體計劃打下基礎。測試需求其實就是測試目標,也可以看做是自動化測試工程師所要完成的新的功能點,需要分析項目中具體哪些測試需求(功能點)準備進行自動化測試。一條測試需求可以包含多條自動化測試用例,通過測試需求分析來判定項目中測試自動化要做到什麼程度。如在自動化測試用例的設計上,大體是以正向、反向劃分的,一般在自動化測試中,優先考慮實現正向的測試用例後再去實現反向的測試用例,而且反向的測試用例大多都是需要進行分析然後篩選出來的,因爲反向的測試用例實在太多了。我們知道,自動化測試是不需要也沒有必要做到 100%覆蓋率的。所以,在測試需求分析這個階段,確定測試覆蓋率以及自動化測試粒度、測試用例上的篩選等都是重點工作。
2.5、制定測試計劃
在經過了測試需求分析階段後,項目 PM 和自動化測試組長就該正式起草正式方案了。 與以前的測試計劃過程一致,只是在原來的測試計劃中,添加對項目實施自動化測試所需的資源、測試範圍、測試進度的描述。該過程產出物爲《測試計劃》。
2.6、自動化測試設計
框架設計、開發與搭建
自動化測試框架是能保證測試的分佈執行,腳本模塊化,數據驅動,日誌分析,錯誤截圖,報表回收,共享對象庫,公共函數庫,環境配置,統一設計模式,異常處理,場景恢復等的一個無人值守的,針對每個獨立項目的測試框架。
2.7、測試用例設計
自動化測試流程其實跟手工測試流程差不太多,要先編寫測試用例,只是被叫作自動化測試用例而已。先設計好自動化測試用例,再嚴格根據設計完成的測試用例編寫測試腳本,這是一種規律、一個過程。此過程產出物爲《自動化測試用例》。
自動化測試用例設計和手工測試用例設計是有明顯區別的,手工測試用例是從無到有的過程,而自動化測試用例不是的。自動化測試用例是有參考物的,它就是手工測試用例。它有時候可以直接拿來用、有時候需要稍加修改,在此把整個自動化測試用例設計過程分爲 3 步:
篩選手工測試用例的過程。
轉換手工測試用例的過程。一般轉換要素無非兩種,一種就是測試用例的格式和規則,另一種就是優化自動化測試業務流程。自動化測試業務流程和手工測。試業務流程還是有一定區別的,自動化測試業務流程更精簡、嚴格。
新增&補充自動化測試用例的過程。
2.8、測試腳本開發
根據《軟件需求規格說明書》、《自動化測試用例》、《系統原型》,錄製、調試、編寫各個功能點的自動化測試腳本,並添加檢查點,進行參數化。該過程還需要編寫數據文件處理腳本、日誌文件處理腳本、數據庫處理腳本、公共檢查點處理腳本等
等。該過程的產出物是各個功能點的自動化測試腳本和其他公共處理腳本。 此過程需要注意的是:
自動化測試腳本代碼必須嚴謹、規範。
自動化測試腳本需參照自動化測試用例開發,測試用例即是開發參照物。
盡一切可能使自動化測試腳本更智能、高效、穩定、複用性高。
開發過程多利用插樁+斷點,檢查業務組件是否存在缺陷或代碼是否存在漏洞
腳本開發完畢後,至少運行成功 3 次以上,方可認爲腳本已經沒有問題。
必須使用一款優秀的代碼版本管理軟件來管理好每一個測試版本的自動化測試腳本,這也是自動化測試項目中非常重要的環節。
2.9、自動化測試數據設計
根據《軟件需求規格說明書》、《自動化測試用例》設計出對各個功能點和相關業務規則進行測試的輸入數據和預期輸出,填寫入對應的數據文件中。該過程的產出物是各個功能點的數據文件。
2.10、 自動化測試執行
測試腳本開發完成後就要對測試腳本進行管理,執行;測試腳本的執行主要包含如下內容:
測試環境的管理配置
測試腳本配置
測試腳本的執行
測試異常中斷處理和恢復
2.11、 自動化測試結果分析
對測試結果文件中報告錯誤的記錄進行分析,如果確實是由於被測系統的缺陷導致,則提交缺陷報告。對自動化測試的結果進行總結,分析系統存在的問題,提交《測試報告》。
2.12、自動化測試腳本維護
如果系統發生變更時,對自動化測試腳本和相關文檔包括《自動化測試用例》、《自動化腳本設計說明書》進行維護,以適應變更後的系統。