軟體測試!Jmeter性能測試工具的實戰應用《接口性能壓測》詳解

fans news 發佈 2021-11-25T02:01:07+00:00

嘿。大家好,我是4U:接口測試可以提前發現軟體bug,有效地降低軟體的開發成本,而接口性能壓測也可以達到同樣的效果。如果形容LR是大炮,那麼JM則是一把狙擊步槍。那麼今天我們來講講接口性能壓測。

嘿。大家好,我是4U:

接口測試可以提前發現軟體bug,有效地降低軟體的開發成本,而接口性能壓測也可以達到同樣的效果。如果形容LR是大炮,那麼JM則是一把狙擊步槍。

那麼今天我們來講講接口性能壓測。

在進行網頁或應用程式後台接口開發時,一般要及時測試開發的接口能否正確接收和返回數據,但是如何進行接口性能壓力測試呢,下面舉例說明。

一、創建測試計劃

默認啟動 jmeter 時候會加載一個測試計劃模板,保存測試計劃:修改名稱為 Apitest,點擊保存,選擇保存路徑,後面的步驟,每次添加或修改了一些選項,軟體並不會自動保存到 jmx 文件中,所以進行測試後, 如果需要保存本次測試選項,要手動到「文件」菜單中保存一下



二、添加線程組

右鍵左邊樹中的測試計劃「Apitest」節點,「添加」」Threads」」線程組」


添加成功後,「Apitest」節點下多了「線程組」 節點,當然這個線程組的名稱是可以自己設定的



三、添加 http 默認請求

右鍵線程組,選擇「添加」「配置元件」「HTTP 請求默認值」,點擊「HTTP 請求默認值」後添加成功後,「線程組」節點下多了「HTTP 請求默認值」節點

說明:本節這裡是用來配置公共參數,不是 http 請求

這裡可以設置主機地址等一下公共參數,比如我們的例子中請求路徑前面都是主機地址+index.php, 就可以統一在"http 請求默認值"里設置

填寫默認請求名、伺服器、默認請求路徑,保存測試計劃。


四、添加http請求信息頭

這一項並不是必須的,只不過我們的例子中使用了 Userid 和 Token 放在 HTTP 請求頭中用作用戶驗證右鍵「Apitest」,選擇「添加」 「配置元件」「HTTP 信息頭管理器」



五、添加 http 請求

右鍵「Apitest」,選擇「添加」→ 「Sampler」「HTTP 請求」


添加成功後,出現新的節點「HTTP 請求」,就可以填寫具體的請求參數了,填寫完成,保存測試計劃。


六、添加監聽器

右鍵線程組,選擇「添加」→「監聽器」「XXXXXXXXX」

可以添加的監聽器有很多種,可以添加多個監聽器,這裡我們添加幾個常用的「圖形結果」「察看結果樹」「聚合報告」


添加成功後,「線程組」下增加了幾個節點



七、試運行腳本

點擊執行按鈕


可以查看各個「監聽器」的結果

  • Label:每個 JMeter 的 element(例如 HTTP Request)都有一個 Name 屬性,這裡顯示的就是 Name 屬性的值。
  • #Samples:表示你這次測試中一共發出了多少個請求,如果模擬10個用戶,每個用戶疊代10次, 那麼這裡顯示100。
  • Average:平均響應時間——默認情況下是單個 Request 的平均響應時間,當使用了 Transaction Controller 時,也可以以 Transaction 為單位顯示平均響應時間。
  • Median:中位數,也就是 50% 用戶的響應時間 。
  • 90% Line:90% 用戶的響應時間不超過 n 秒。
  • Note:關於 50% 和 90% 並發用戶數的含義,請參考下文。 50 th(60/70/80/90/95 th) :如果把響應時間從小到大順序排序,那麼50%的請求的響應時間在這個範圍之內。後面的60/70/80/90/95 th 也是同樣的含義
  • Min:最小響應時間。
  • Max:最大響應時間。
  • Error%:本次測試中出現錯誤的請求的數量/請求的總數。
  • Throughput:吞吐量——默認情況下表示每秒完成的請求數(Request per Second),當使用 了 Transaction Controller 時,也可以表示類似 LoadRunner 的 Transaction per Second 數。
  • KB/Sec:每秒從伺服器端接收到的數據量,相當於 LoadRunner 中的 Throughput/Sec。


八、修改線程數用於壓力測試

點擊左側樹形導航中的「線程組」

設置上面幾個參數,模擬的總的請求數是:線程數*循環次數。執行一下,用「圖形結果」監聽器查看 一下。

  • 樣本數目:總共發送到伺服器的請求數.
  • 最新樣本:代表時間的數字,是伺服器響應最後一個請求的時間.
  • 吞吐量:伺服器每分鐘處理的請求數.
  • 平均值:總運行時間除以發送到伺服器的請求數.
  • 中間值:時間的數字,有一半的伺服器響應時間低於該值而另一半高於該值.
  • 偏離:伺服器響應時間變化、離散程度測量值的大小,或者,換句話說,就是數據的分布

九、領取學習資料


喜歡4U為

大家準備的乾貨內容的朋友們可以幫忙轉發一下哦。讓更多的人知道我們。謝謝大家,下一期我們再見。

關鍵字: