測試自動化是使用框架和工具自動執行測試以更快地執行測試并減少對人工測試人員的需求的實踐。在這種軟件測試方法中,創建可重用的測試腳本來測試應用程序的功能,從而減少整體回歸時間并促進更快的軟件發布。利用測試自動化可縮短測試生命周期的回歸時間并提高發布質量。
根據Future Market Insights集團發布的一份報告,到14年底,全球自動化測試市場預計將以3.93%的復合年增長率增長,市場價值將達到6億美元。
自動化測試腳本可以用幾種不同的編程語言編寫,例如Python,C#,Ruby,Java等。其中,Python是迄今為止自動化工程師用于自動化測試的最流行的語言。它提供了用于自動化測試的各種有用的工具和庫。Python還廣泛支持許多不同類型的測試自動化框架。除了默認的Python測試框架,單元測試(或PyUnit)之外,還有各種Python框架更適合該項目??梢愿鶕椖啃枨蟆⒁幠:蛯嵺`的自動化框架來選擇最適合項目的測試框架,例如 TDD(測試驅動開發)、BDD(行為驅動開發)、ATDD(驗收測試驅動開發)、KDD(關鍵字驅動開發)等。
Python 測試框架的類型
PyTest:
PyTest 是一個開源框架,它支持單元測試、API 測試和功能測試。在 PyTest 中,測試用例遵循特定的格式,其中測試以 test_ 開頭或以 _test 結尾。
先決條件:
測試驅動開發框架的基礎知識
蟒蛇的工作知識
優點:
可用于練習 TDD 的項目
幫助以緊湊的方式編寫測試服
夾具和參數化測試涵蓋了多種測試用例組合,無需重寫它們
標記可用于對測試進行分組或在運行整個測試套件時跳過它們
許多內置和第三方插件支持,可以添加新功能,如報告生成等。
支持使用 pytest-xdist 插件并行執行測試用例
巨大的社區支持
實現 python 裝飾器,可以完全利用 python 編程靈活性
缺點:
它與其他python框架不兼容。如果有人想遷移到另一個 python 框架,則必須重寫所有測試。
它純粹基于python編程,需要對python編程有扎實的知識。
機器人是一個廣泛用于硒測試自動化的開源框架。
先決條件:
關鍵詞驅動開發框架基礎知識
創建新關鍵字需要python的工作知識
優點:
可用于實踐 ATDD、BDD 或關鍵字驅動開發的項目
如果使用預定義的關鍵字,則不需要事先的編程知識
對于來自非技術背景的客戶和高級管理人員來說,易于理解。
許多庫和內置關鍵字,特別是用于硒測試
良好的內置報告機制
良好的社區支持
缺點:
難以自定義 HTML 報告
沒有用于并行測試執行的內置功能。Pabot 可用于并行執行測試用例
創建新關鍵字可能很耗時,或者可能會限制具有編碼知識的測試人員,因此靈活性較低
Beact
Beact 是一個最適合 Web 測試的開源框架。腳本或功能文件的語法非常接近外行英語。
先決條件:
行為驅動發展框架的基本知識
蟒蛇的工作知識
優點:
可用于練習 BDD 的項目
環境功能、配置設置、夾具等的可用性易于設置和清理
易于理解的框架
可以與其他Web開發框架(如燒瓶等)集成。
易于添加新的測試用例
以 JUnit 格式生成報告
出色的文檔支持
缺點:
不支持并行執行測試用例
只能用于黑盒測試
不適合集成測試
PyUnit
PyUnit(單元測試)是 Python 附帶的單元測試的默認測試框架。與 PyTest 類似,在 PyUnit 中,測試用例也遵循特定的格式,其中測試以 test_ 開頭或以 _test 結尾。
先決條件:
Python的工作知識
優點:
無需額外安裝軟件包
測試報告生成速度更快
只需在終端上鍵入測試名稱即可運行單個測試
默認輸出易于理解
缺點:
將 PyUnit 用于大型項目會受到對過多抽象的支持和大量樣板代碼的嚴重阻礙。
Nose2
Nose2 是單元測試的擴展。Nose2 通過提供插件增加了對 PyUnit 框架的支持。
先決條件:
Python的工作知識
優點:
易于安裝
具有夾具、參數化測試等功能。像 PyTest
測試可以使用(多進程)mp插件與多個進程并行執行
可以添加許多插件,具有報告、硒測試自動化等功能。
缺點:
文檔不廣泛
盡管開發周期較短,但自動化測試提供了幾個優勢,這些優勢對于生成高質量的應用程序至關重要。它最大限度地減少了手動測試過程中不可避免地發生人為錯誤的可能性。通過自動化測試,軟件質量得到提高,缺陷危及交付時間的可能性降低。
審核編輯:郭婷
-
Web
+關注
關注
2文章
1262瀏覽量
69441 -
自動化
+關注
關注
29文章
5562瀏覽量
79239 -
python
+關注
關注
56文章
4792瀏覽量
84627
發布評論請先 登錄
相關推薦
評論