自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程,主要是編寫代碼、腳本,讓軟件自動運行,發現缺陷,代替部分的手工測試;自動化測試可分為自動化性能測試、自動化功能測試,自動化功能測試包括了單元測試、接口測試、UI測試。
接口自動化測試優點是“比較穩定和容易實現”,缺點是“用戶操作真實性不強”;所以現在大部分互聯網用它作為測試工作的鋪助,是因為web和app自動化的缺點接口自動化測試都能進行彌補,
web自動化測試、APP自動化測試、接口自動化測試:
1、UI(WEB)自動化測試走主流程的測試、接口自動化測試走全面的測試:先布置接口的自動化測試用於測試和回歸測試,特別在敏捷測試中,接口自動化測試應該占主體。后布置UI自動化測試用於住流程的回歸測試。
2、UI(WEB)自動化測試與APP自動化測試結合:需要一個自動化測試框架的協調,可以進行UI自動化測試到APP接口層的長流程場景自動化測試,也可以進行UI自動化測試到APPUI層的長流程場景自動化測試。
3、接口自動化測試與APP自動化測試結合:其實和UI與APP自動化測試長流程的交換一樣的原理,需要自動化測試框架的支撐。先進行接口測試用例的執行后進行APP的UI和接口測試的用例執行。
接口自動化測試工具簡單對比和介紹:
框架名稱
|
支持語言
|
支持協議
|
是否開源免費
|
入門成本
|
備注
|
jmeter
|
http
|
開源
|
低
|
專門針對http接口的進行性能以及接口測試工具,jmeter+maven+eclipse自動化測試,並生成Html報告。
|
|
postman
|
http
|
開源
|
低
|
postman是谷歌瀏覽器的擴展工具,postman與Jenkins持續集成,Jenkins+postman+newman實現簡單的接口自動化測試。
|
|
loadrunner
|
http
|
商業
|
中
|
loadrunner不僅能做性能測試,同時也能做功能測試,還可以做接口的功能測試。
|
|
Fitnesse
|
java,c,c++,python,php等
|
http
|
開源
|
中
|
FitNesse是一個輕量級的開源框架,方便的定義接口驗收測試。
|
Requests+unittest
|
Python
|
http
|
開源
|
中
|
python+requests+unittest接口自動化框架穩定,Requests 支持 HTTP 連接保持和連接池(使用 Apache2 Licensed 許可證的 HTTP 庫,發送http的網絡請求主要包含post,get,PUT, DELETE, HEAD) ,支持 使用cookie保持會話 ,支持 文件上傳 ,支持 自動確定響應內容的編碼;unittest 框架是python自帶的單元測試框架,包括測試腳本構成,測試腳本的運行,測試腳本集成,測試報告生成;同時可以利用xlrd數據驅動的讀取,作用於excel文檔,並且smtplib用於測試郵件的發送。
|
RF(Robot framework)
|
Python, Java, C
|
http
|
開源
|
中
|
Robot framework提供簡單的Libary API,可以使用Ptyhon或者java進行實現,支持簡單易用的表格型語法,使得可以用統一方式創建測試用例,並且提供命令行接口也XML格式的輸出文件(簡單易讀的報表和日志結果文件),非常容易進行持續集成。
|
TestNG
|
java
|
http
|
開源
|
中
|
APIAutoTest是處理API接口的輕量級自動化測試框架,Java語言實現,基於TestNG測試框架,支持持續集成,自動構建與測試。
|
httpclient
|
java
|
http
|
開源
|
中
|
java + httpclient + log4j + json + mybatis + excel + testng自動化框架
|
Junit
|
Smalltalk, Java, C++, Perl 等
|
http
|
開源
|
中
|
JUnit是開發源代碼的 Java 測試框架,Junit框架是一個典型composite模式,TestSuite可以容納任何派生自test的對象。
|
soupui
|
java
|
http
|
開源&商業
|
中
|
soapUI-可用來進行接口自動化測試,現在很多手機APP以及web項目會涉及到接口的調用;soapUI+maven+Jenkins 搭建接口自動化持續集成平台
|
httprunner
|
python
|
http
|
開源
|
低
|
HttpRunner
是一個簡單,優雅但功能強大的HTTP(S)測試框架
|