自動化測試介紹及分類
什麼是自動化測試?
自動化測試是軟體測試活動中一個重要的分支和組成部分,即利用工具或指令碼達到測試目的,沒有人工或者極少人工參與的軟體測試活動稱為自動化測試.
自動化測試的優勢有哪些?
-
方便進行迴歸測試,當軟體的版本釋出比較頻繁的時候,自動化的效果很明顯
-
自動處理原本煩瑣、重複的任務,提高測試的準確性和測試人員的積極性
-
具有複用性和一致性,可以在不同的版本上重複執行,保障測試內容的一致性
自動化測試的分類:
(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(UI自動化測試)
Selenium 是一個涵蓋幾種工具的生態系統,主要包括:Selenium WebDriver、Selenium IDE 和 Selenium Grid。
Selenium 的核心特性是跨瀏覽器和跨平臺測試,多種測試語言(Python、Java、C#等),高度可調整的開原始碼,並行執行測試等。
官網地址:
Appium(UI自動化測試)
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 程式專案的自動化測試,可以輕而易舉的實現自動化測試流程。
官網地址:
以上工具分享希望對你工作有所幫助,有被幫助到的朋友歡迎點贊,在看、**轉發。
宣告:如有侵權,請聯絡刪除。