【自動化測試】基礎理論
1、什麼是自動化測試
自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試用例並通過評審之後,由測試人員根據測試用例中描述的規程一步步執行測試,得到實際結果與期望結果的比較。在此過程中,為了節省人力、時間或硬體資源,提高測試效率,便引入了自動化測試的概念。
自動化採用的是以程序測試程序,以代碼代替思維,以腳本的運行代替手工測試。
自動化的測試涵蓋了:功能(黑盒)自動化測試,功能(白盒)自動化測試,性能測試,壓力測試,GUI測試,安全性測試等。
2、自動化測試常見的誤區
-認為錄製回放就是自動化測試(自動化測試的不同層次)
- 只驗證界面上的信息
-讓測試相關的材料自由組織,應妥善管理測試相關的文檔和輸出
-過早或過多的自動化
3、自動化測試的優勢和劣勢
1)優勢
-回歸測試更方便、可靠
-可應用於單調的、重複性更高的測試
-可執行一些對於手工測試來說相當困難或根本不能做到的測試
-更好地利用資源,節約時間(7*24),解放人力
-具有一致性和可重複性
-不同版本的軟體之間完全復用
-使軟體更有信任度
-多環境下測試
2)劣勢
-永遠不可能代替手工測試
-無法完全保證測試的正確性
-自動化測試幾乎不能發現新缺陷
-對測試質量的依賴性極大
-測試自動化可能會制約軟體開發
-自動化測試工具缺乏靈活性和創造性
-成本投入過高,風險大
-對測試人員的技術要求高,對測試工具的要求也高
4、自動化測試的原則
1)適合
-項目周期長,系統版本不斷
-需求變更不頻繁
-系統中的測試對象基本可以正常識別
-系統中不存在大批量的第三方控制項
-需要反覆測試,如可靠性測試需要進行上千次的系統測試
2)不適合
-項目周期短,需求頻繁變更
-在軟體還沒有穩定的時候引入自動化
-沒有明確的項目測試自動化計劃、措施和管理
-多數對象無法識別
-腳本維護頻繁和艱難
5、自動化測試實現流程
6、自動化測試構建過程
1)底層介面
- 日誌規範一致
- 文檔規範一致
2)自動化框架
- 數字驅動:數據驅動最適合測試業務邏輯固定不變的應用程序,只有測試數據會變化。通常測試數據會被配置在外部文件或資料庫中。
-關鍵字驅動:關鍵字驅動顧名思義,它提供了一系列通用的關鍵字,用戶通過調用這些關鍵字並輸入一些參數可以實現單個操作,比如,打開瀏覽器、打開某個網頁、點擊某個鏈接等等,然後通過組織這些關鍵字形成一個完整的測試流程。
-混合型:混合型框架就是把數據驅動和關鍵字驅動整合起來,同時具備了兩者的優點。與關鍵字框架不同的是,這種框架通常會提供一些針對於特定應用程序的關鍵字,比如登錄、登出等。然後在完整測試流程的基礎上,再應用一層數據驅動,這樣就能使測試邏輯和測試數據更加靈活和可配置。
3)設計要點
-利用現有框架
-復用性
-可配置性
-狀態監控
-測試報告
-測試日誌
-易調試
- 易用性
- 靈活性
4)報告、日誌系統
5)環境部署
6)持續集成
推薦閱讀:
※功能測試用例設計時的分層依據
※人工智慧時代給軟體測試帶來的變化有哪些?
※中國成長好應用12月20日報,「智動校園」體驗不同
※乾貨—Go語言編寫單元測試