標籤:cto 伺服器 研發 從伺服器 佔用 ror mobile 分享 服務
在測試移動APP時,會有很多介面需要做測試,我在這裡介紹一下對HTTP介面做功能、效能的測試。首先我們會從開發人員拿到介面資料。
一、測試需求描述
1、 本次測試的介面為http服務端介面
2、 介面:查詢功能介面
3、介面描述:使用者對訂單列表進行查詢
IP:http://192.168.8.197/biz/api/v1/mobile/doctor/subscribe/orderList
請求方式:get
連接埠號碼:9090
要求標頭參數:token = ffb74003075c4094853c98bfcfd081b7
請求參數:stateType = ALL , beginLine = 1
響應資料:顯示所有訂單的詳情資訊
二、使用Jmeter部署環境
1、首先開啟Jmeter,在測試計劃下添加線程組。
2.線上程組下添加HTTP資訊頭管理器,如果介面沒有要求標頭參數,就可以不加。
3.線上程組下添加HTTP請求。
4.在HTTP請求下添加察看結果數
5.在HTTP請求下添加彙總報告
三,部署完成後,開始填入資料進行測試
1、首先填寫HTTP資訊頭管理器,點擊添加,把要求標頭參數:token = ffb74003075c4094853c98bfcfd081b7填入進去。
2、填寫HTTP請求,點擊添加,把請求參數:stateType = ALL , beginLine = 1填入進去。
協議:http
IP:192.168.8.197
連接埠號碼:9090
請求方式:get
路徑:/biz/api/v1/mobile/doctor/subscribe/orderList
3、設定線程組,根據測試需求來設定。我們這裡設定的是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,會覆蓋結束時間。
啟動時間:測試計劃什麼時候啟動,啟動延遲會覆蓋它。當啟動時間已過,手動運行指令碼時目前時間也會覆蓋它(但啟動時間頁面顯示不會變)。
結束時間:測試計劃什麼時候結束,期間會覆蓋它。
啟動延遲(秒):測試計劃延遲多長時間啟動,會覆蓋啟動時間。
4、全部都設定好了就可以點擊綠色箭頭運行了,或者點擊“運行”功能表列的“啟動”列表。運行完成後,我們來看看查看結果數。點擊響應資料查看返回資料是否和研發部編寫的一致。
5、請求都成功後,我們來看看彙總報告,這個資料就是我們的測試結果了。
6、我們這裡解說一下彙總報告各參數的值,主要是查看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:每秒從伺服器端接收到的資料量
(13)Sent KB/Sec:每秒從伺服器端發送的資料量
使用Jmeter進行http介面做功能、效能測試