JMeter中的測試元件
來自專欄 李小期的學習筆記最近在學習JMeter,在看 零成本實現Web性能測試:基於Apache JMeter和Gatling ,由於本文中的一部分內容都是從這本書中摘抄的,因此把書名上了,將書中比較重要的知識總結下來,方便自己學習。
剛打開JMeter時的界面如下:
左側有兩個 「測試元件」,分別是 測試計劃(Test Plan) 和 工作台(WorkBench),咱們分別來了解一下。1. 測試計劃(Test Plan)
測試腳本整體呈現為一顆「樹」的形式,我們可以稱它為「測試樹」,測試計劃是JMeter測試腳本的根節點,關於整個測試腳本的一些基礎設置,可以在測試計劃中設定,例如用戶定義的變數。
2.工作台(WorkBench)
工作台用來保存暫時不使用的測試元素,當測試人員保存測試計劃時,工作台中的內容不會被一起保存。
3.線程組(Thread Group)
線程組定義了一個虛擬用戶池,其中每一個虛擬用戶都使用同樣的測試腳本,類似於LoadRunner中的Vuser。
線程組(Thread Group)中的線程,就是我們的 「虛擬用戶」,我們要模擬多少個虛擬用戶訪問伺服器,就需要在線程組裡設置有多少個線程。
線程組的界面如下圖:
在 「線程屬性」 那一欄,可以設置:
- 設置線程的數量
- 設置ramp-up周期
- 設置測試執行的次數
每一個線程都會完全和獨立的執行測試計劃而不影響其他線程。多線程可以用於模擬到
你的伺服器程序的並發連接,每一個線程,就是一個 「虛擬用戶」 。
參數Ramp-Up Period告訴Jmeter達到最大線程數需要多長時間。假定共有10個線程,Ramp-Up Period為100秒,那麼JMeter就會在100秒內啟動所有10個線程,並讓它們運轉起來。每個測試線程都會在上一個線程啟動10秒之後才開始運行。假定共有30個線程,Ramp-Up Period為120秒,那麼線程啟動的間隔就為4秒。
Ramp-Up Period的值不能設置得太短,否則在測試的初始階段會給予伺服器過大的壓力,很有可能導致伺服器掛掉。Ramp-Up Period的值也不能設置得太長,否則就會發生第一個線程已經執行完畢,而最後一個線程還沒啟動起來。
可以設置Ramp-Up Period的值 = 匯流排程數,即每一秒,啟動一個新線程。
默認的,線程組被設定成只執行一遍。我們可以設置線程組循環的次數。
4.採樣器(Sampler)
採樣器是JMeter測試腳本的基礎單元,用戶可以用它向伺服器發出一個特定的請求,採樣器會在超時前等待伺服器的響應。
測試中,常用的是HTTP請求,先說HTTP請求。通過該測試元件,JMeter可以發送一個HTTP/HTTPS請求到Web伺服器
推薦閱讀:
※乾貨—Go語言編寫單元測試
※面試軟體測試的幾個問題(一)
※測試人的成長心路--獻給同樣為測試掙扎的你!
※軟體測試的具體概念有哪些?
※搭建Robotframwork+Python+Selenium自動化測試環境(包括Jython)