【自動化測試】基礎理論

1、什麼是自動化測試

自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試用例並通過評審之後,由測試人員根據測試用例中描述的規程一步步執行測試,得到實際結果與期望結果的比較。在此過程中,為了節省人力、時間或硬體資源,提高測試效率,便引入了自動化測試的概念。

自動化採用的是以程序測試程序,以代碼代替思維,以腳本的運行代替手工測試。

自動化的測試涵蓋了:功能(黑盒)自動化測試,功能(白盒)自動化測試,性能測試,壓力測試,GUI測試,安全性測試等。

2、自動化測試常見的誤區

-認為錄製回放就是自動化測試(自動化測試的不同層次)

- 只驗證界面上的信息

-讓測試相關的材料自由組織,應妥善管理測試相關的文檔和輸出

-過早或過多的自動化

3、自動化測試的優勢和劣勢

1)優勢

-回歸測試更方便、可靠

-可應用於單調的、重複性更高的測試

-可執行一些對於手工測試來說相當困難或根本不能做到的測試

-更好地利用資源,節約時間(7*24),解放人力

-具有一致性和可重複性

-不同版本的軟體之間完全復用

-使軟體更有信任度

-多環境下測試

2)劣勢

-永遠不可能代替手工測試

-無法完全保證測試的正確性

-自動化測試幾乎不能發現新缺陷

-對測試質量的依賴性極大

-測試自動化可能會制約軟體開發

-自動化測試工具缺乏靈活性和創造性

-成本投入過高,風險大

-對測試人員的技術要求高,對測試工具的要求也高

4、自動化測試的原則

1)適合

-項目周期長,系統版本不斷

-需求變更不頻繁

-系統中的測試對象基本可以正常識別

-系統中不存在大批量的第三方控制項

-需要反覆測試,如可靠性測試需要進行上千次的系統測試

2)不適合

-項目周期短,需求頻繁變更

-在軟體還沒有穩定的時候引入自動化

-沒有明確的項目測試自動化計劃、措施和管理

-多數對象無法識別

-腳本維護頻繁和艱難

5、自動化測試實現流程

6、自動化測試構建過程

1)底層介面

- 日誌規範一致

- 文檔規範一致

2)自動化框架

- 數字驅動:數據驅動最適合測試業務邏輯固定不變的應用程序,只有測試數據會變化。通常測試數據會被配置在外部文件或資料庫中。

-關鍵字驅動:關鍵字驅動顧名思義,它提供了一系列通用的關鍵字,用戶通過調用這些關鍵字並輸入一些參數可以實現單個操作,比如,打開瀏覽器、打開某個網頁、點擊某個鏈接等等,然後通過組織這些關鍵字形成一個完整的測試流程。

-混合型:混合型框架就是把數據驅動和關鍵字驅動整合起來,同時具備了兩者的優點。與關鍵字框架不同的是,這種框架通常會提供一些針對於特定應用程序的關鍵字,比如登錄、登出等。然後在完整測試流程的基礎上,再應用一層數據驅動,這樣就能使測試邏輯和測試數據更加靈活和可配置。

3)設計要點

-利用現有框架

-復用性

-可配置性

-狀態監控

-測試報告

-測試日誌

-易調試

- 易用性

- 靈活性

4)報告、日誌系統

5)環境部署

6)持續集成

推薦閱讀:

功能測試用例設計時的分層依據
人工智慧時代給軟體測試帶來的變化有哪些?
中國成長好應用12月20日報,「智動校園」體驗不同
乾貨—Go語言編寫單元測試

TAG:自動化測試 | 軟體測試 |