接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。html
爲何要作接口測試?前端
越底層發現bug,它的修復成本是越低的。java
前端隨便變,接口測好了,後端不用變,先後端是兩撥人開發的。面試
檢查系統的安全性、穩定性,前端傳參不可信正則表達式
現在的系統複雜度不斷上升,傳統的測試方法成本急劇增長且測試效率大幅降低,接口測試能夠提供這種狀況下的解決方案。數據庫
接口測試相對容易實現自動化持續集成,且相對UI自動化也比較穩定,能夠減小人工迴歸測試人力成本與時間,縮短測試周期,支持後端快速發版需求。apache
怎樣作接口測試?後端
因爲項目先後端調用主要是基於http協議的接口,因此測試接口時主要是經過工具或代碼模擬http請求的發送與接收。工具備不少如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。安全
也能夠用接口自動化來實現,就是用代碼實現,框架和UI自動化差很少,發送請求用斷言來判斷。服務器
若是對軟件測試、接口、自動化、性能測試、LR腳本開發、面試經驗交流。感興趣能夠273462828,羣內會有不按期的發放免費的資料連接,這些資料都是從各個技術網站蒐集、整理出來的,若是你有好的學習資料能夠私聊發我,我會註明出處以後分享給你們。
爲何選擇Jmeter進行http接口測試?
在進行網頁或應用程序後臺接口開發時,通常要及時測試開發的接口可否正確接收和返回數據,對於單次測試,Postman插件是個不錯的Http請求模擬工具。
可是Postman只能模擬單客戶端的單次請求,而對於模擬多用戶併發等性能測試,就必須藉助其餘的工具了,這裏推薦功能強大的JMeter自動化測試工具,Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件作壓力測試,它最初被設計用於Web應用測試但後來擴展到其餘測試領域。
它能夠用於測試靜態和動態資源例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫, FTP 服務器, 等等。JMeter 能夠用於對服務器、網絡或對象模擬巨大的負載,來自不一樣壓力類別下測試它們的強度和分析總體性能。
下面我就簡單的介紹下使用Jmeter進行接口測試的方法。
1、接口測試環境準備
Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html
Jmeter下載址址:http://jmeter.apache.org/download_jmeter.cgi
插件的下載安裝地址:http://www.jmeter-plugins.org/
2、建立工程:
一、打開Jmeter:下載好Jmeter後,雙擊bin目錄下的jmeter.bat文件:
二、添加線程組:在「測試計劃」上點擊鼠標右鍵-->添加-->threads(Users)-->線程組,添加測試場景設置組件,接口測試中通常設置爲1個「線程數」,根據測試數據的個數設定「循環次數」。
三、添加「HTTP Cookie管理器」:
四、添加「Http請求默認值」組件,當被測系統有惟一的訪問域名和端口時,這個組件很好用:
五、在「HTTP 請求默認值」組件配置頁面,填寫被測系統的域名和端口,http請求的實現包版本以及具體協議類型,線程組裏的全部「HTTP Sampler」可默認使用此設置。
六、在「線程組」裏添加「HTTP 請求」的Sampler
七、在HTTP請求設置頁面,錄入被測接口的詳細信息,包括請求路徑,對應的請求方法,以及隨請求一塊兒發送的參數列表:
八、設置檢查點:在被測接口對應的「HTTP 請求」上,添加「響應斷言」
九、在設置頁面上添加對相應結果的正則表達式存在性判斷便可:
十、添加監聽器:方便查看運行後的結果
運行結果:
總結:
上述步驟完成了一個簡單測試案例的建立,複雜測試案例均在此基礎上擴展完成。使用Jmeter工具開發的接口測試案例,一個子系統建議放在同一個 「測試計劃」中,流程測試能夠經過「線程組」來區分,這樣也便於設定不一樣的測試數據個數。比較獨立的接口,能夠統一放在一個線程組內,順序完成測試。 同時,JMeter這個工具的強大之處不只僅只有這一點,還能夠單獨對每一個取樣器添加各類控制器,從而作到不一樣取樣器不一樣的循環次數,及不一樣取樣器之間數據的引用。