什么是自動化測試?
自動化測試是軟件測試活動中一個重要的分支和組成部分,即利用工具或腳本達到測試目的,沒有人工或者極少人工參與的軟件測試活動稱為自動化測試.
自動化測試的優勢有哪些?
-
方便進行回歸測試,當軟件的版本發布比較頻繁的時候,自動化的效果很明顯
-
自動處理原本煩瑣、重復的任務,提高測試的准確性和測試人員的積極性
-
具有復用性和一致性,可以在不同的版本上重復運行,保障測試內容的一致性
自動化測試的分類:
(1)從軟件開發周期的角度分類:
-
單元自動化測試:自動化的完成對代碼中的類和方法進行測試,主要關注代碼實現細節及業務邏輯等方面。
-
接口自動化測試:測試系統組件間接口的請求和返回,接口測試穩定性高,更適合開展自動化。
-
UI自動化測試:對圖形化界面進行流程和功能等方面進行測試。
(2)從測試目的的角度分類:
-
連接和其他比較穩定而不經常發生變化的元素
-
性能自動化測試:依托自動化平台自動的執行性能測試、收集測試結果,並分析測試結果的一種接近無人值守的性能測試,具有以下特性:
a.對腳本創建和提供類庫和其他模塊支撐
b.可以設定自動化任務(比如每天根據特定的場景執行一輪性能測試)
c.自動收集測試結果並存儲
d.事中監控(比如場景執行過程中的異常錯誤自動預警郵件功能)
e.成熟的平台可以進行自動分析功能(比如哪些事物有問題、哪些資源消耗異常等)
f.安全自動化測試
自動測試工具分類
UI自動化
- Selenium
- Appium
- Robot Framework
- Airtest
- Cypress
- ...
接口自動化
- Jemeter
- Postman
- python+Requests
- SoapUI
- HttpClient
單元測試工具
- JUnit
- TestNG
- unittest
- pytest
怎樣選擇測試框架?這里有一些標准可參考:
-
相對快速和方便設置(或開箱即用的解決方案)
-
支持社區或開發者自己可以為其框架提供支持
-
有清晰而全面的文檔
-
與其他工具充分集成
-
有一些很酷的功能,例如代碼可重用性支持在多個平台和環境進行測試
Selenium

Selenium 是一個涵蓋幾種工具的生態系統,主要包括:Selenium WebDriver、Selenium IDE 和 Selenium Grid。
Selenium 的核心特性是跨瀏覽器和跨平台測試,多種測試語言(Python、Java、C#等),高度可調整的開源代碼,並行運行測試等。
官網地址:
Appium

Appium 是跨平台的,它允許您使用相同的 API 編寫針對多個平台(IOS、Android、Windows)的測試。這使 IOS、Android 和 Windows 測試套件之間的代碼重用成為可能。
官網地址:
Cypress(自動化測試)

Cypress 是基於 web 的下一代前后端測試工具,與 Selenium 相比,Cypress底層協議不采用 WebDriver,這使得它能夠實現快速、簡單、可靠的測試。
Cypress 支持端到端測試、集成測試、單元測試。
官網地址:
Robot Framework

Robot Framework 是一款 Python 編寫的功能自動化測試框架。具備良好的可擴展性,支持關鍵字驅動,可以同時測試多種類型的客戶端或者接口,可以進行分布式測試執行。主要用於輪次很多的驗收測試和驗收測試驅動開發(ATDD)。
官網地址:
Airtest

Airtest 是網易出品的一款基於 Python 語言、可通過圖像識別和 poco 控件識別的一款 UI 自動化測試工具,包括 AirtestIDE、Airtest、Poco、AirLab 等部分,有 Poco、圖像識別、selenium 三個大類庫,適用於游戲、APP、web、Windows 程序項目的自動化測試,可以輕而易舉的實現自動化測試流程。
官網地址:
測試框架pytest與unitttest如何選擇?
【自動化測試框架】pytest和unitttest你知道多少?區別在哪?該用哪個?:https://www.cnblogs.com/upstudy/p/15921090.html
