在測試移動APP時,會有不少接口須要作測試,我在這裏介紹一下對HTTP接口作功能、性能的測試。首先咱們會從開發人員拿到接口數據。api
1、測試需求描述性能
一、 本次測試的接口爲http服務端接口測試
二、 接口:查詢功能接口線程
三、接口描述:用戶對訂單列表進行查詢3d
IP:http://192.168.8.197/biz/api/v1/mobile/doctor/subscribe/orderListblog
請求方式:gettoken
端口號:9090接口
請求頭參數:token = ffb74003075c4094853c98bfcfd081b7進程
請求參數:stateType = ALL , beginLine = 1開發
響應數據:顯示全部訂單的詳情信息
2、使用Jmeter部署環境
一、首先打開Jmeter,在測試計劃下添加線程組。
2.在線程組下添加HTTP信息頭管理器,若是接口沒有請求頭參數,就能夠不加。
3.在線程組下添加HTTP請求。
4.在HTTP請求下添加察看結果數
5.在HTTP請求下添加聚合報告
三,部署完成後,開始填入數據進行測試
一、首先填寫HTTP信息頭管理器,點擊添加,把請求頭參數:token = ffb74003075c4094853c98bfcfd081b7填入進去。
二、填寫HTTP請求,點擊添加,把請求參數:stateType = ALL , beginLine = 1填入進去。
協議:http
端口號:9090
請求方式:get
路徑:/biz/api/v1/mobile/doctor/subscribe/orderList
三、設置線程組,根據測試需求來設置。咱們這裏設置的是10個虛擬用戶,循環1次。
在這裏詳情解說一下線程組設置:
(1)線程數:即用戶數,一個虛擬用戶佔用一個進程或線程,須要多少個用戶施壓,就設置多少虛擬用戶數,在這裏就是設置多少個線程數。
(2)Ramp-Up Period(in seconds)準備時長:設置的虛擬用戶數須要在多長時間內所有啓動。例如線程數爲100,準備時長爲10,那麼須要10秒鐘啓動100個線程,也就是每秒鐘啓動10個線程。咱們這裏設置1秒,表示1秒內10個用戶所有啓動。
(3)循環次數:每一個線程發送請求的次數。例如線程數爲10,循環次數爲10,那麼每一個線程發送10次請求,則總請求數爲10*10=100 。若是勾選了「永遠」,那麼全部線程會一直髮送請求,直到選擇中止運行腳本。
(4)Delay Thread creation until needed:直到須要時延遲線程的建立。
(5)調度器:能夠設置線程組的持續時間或啓動時間和結束時間。
當選用配置調度器時,須要設置循環次數爲永遠,防止因循環次數不夠而終止壓測。
持續時間(秒):測試計劃持續多長時間,例如1分鐘就填寫60,會覆蓋結束時間。
啓動時間:測試計劃何時啓動,啓動延遲會覆蓋它。當啓動時間已過,手動運行腳本時當前時間也會覆蓋它(但啓動時間頁面顯示不會變)。
結束時間:測試計劃何時結束,持續時間會覆蓋它。
啓動延遲(秒):測試計劃延遲多長時間啓動,會覆蓋啓動時間。
四、所有都設置好了就能夠點擊綠色箭頭運行了,或者點擊「運行」菜單欄的「啓動」列表。運行完成後,咱們來看看查看結果數。點擊響應數據查看返回數據是否和研發部編寫的一致。
五、請求都成功後,咱們來看看聚合報告,這個數據就是咱們的測試結果了。
六、咱們這裏解說一下聚合報告各參數的值,主要是查看Average和Throughput的值。
(1)Label:請求對應的name屬性值
(2)Samples:表示此次測試中一共發出了多少個請求,咱們這裏是模擬10個用戶,每一個用戶迭代1次,那麼這裏顯示10。
(3)Average:單個 Request 的平均響應時間。
(4)Median:中位數, 50% 的樣本都沒有超過這個時間
(5)90% Line:90%的樣本都沒有超過這個時間
(6)95% Line:95% 的樣本都沒有超過這個時間
(7)99% Line:99% 的樣本都沒有超過這個時間
(8)Min:最小響應時間
(9)Max:最大響應時間
(10)Error%:本次測試中出現錯誤的請求的數量/請求的總數
(11)Throughput:吞吐量,表示每秒完成的請求數
(12)Received KB/Sec:收到KB /秒的吞吐量測量接收到的字節每秒
(13)Sent KB/Sec:送千字節/秒的吞吐量測量送千字節每秒