JMeter實戰-全棧效能測試第3、4章讀書筆記

豔兒1423發表於2020-11-30

一、Test Plan(測試計劃)
測試計劃區域如下
在這裡插入圖片描述
區域1:一個目錄樹,存放測試計劃中用到的元件,藍框中的每一個都可稱之為元件。執行過程中預設從根節點開始順序遍歷樹上的元件

區域2:測試計劃編輯區域,可定義全域性變數,對建立的多個執行緒組均有效;還可以對多個執行緒組的執行進行設定,如勾選第一個框就代表“獨立執行每個執行緒組(一個執行緒組執行結束後執行下一個)”。還可以新增測試計劃執行依賴的jar包,點選browse即可進行瀏覽並新增,比如JDBC方式連線資料庫的驅動

區域3:選單欄,就不一一贅述,自己用的時候點一點就知道每個按鈕的作用了

二、JMeter結構
在這裡插入圖片描述
執行緒組中存放各種元件,包括取樣器,配置元件,前置處理器,後置處理器,控制器,定時器,其中包括各種外掛(順帶一提,jmeter的外掛,需先下載外掛管理器,地址:https://jmeter-plugins.org/,安裝管理器後,即可開啟隨心隨遇的外掛搜尋下載安裝啦,個人認為不好的一點是,每次裝完一個外掛,Jmeter都會立馬進行重啟生效)
貼一張外掛的介面,進入順序:Options ->Plugins Manager
在這裡插入圖片描述
咳咳,下面切回正題,說各種元件,因為元件是JMeter中的主要工具,所以在第6章本書進行了詳細的講解。此處就是大概論述下每個元件的用處,讓大家初識別各種元件。最核心的就是下面一張圖,JMeter的體系結構就是圍繞下圖來進行的,元件也是,所以要徹底領悟:
在這裡插入圖片描述
X空間分5個維度:模擬使用者操作使用和負載,使用各種元件來完成負載的模擬
Y空間分2個維度:Y1模擬負載和使用者請求,Y2結果驗證及斷言
Z空間就一個維度:因為自始至終監聽都是要做的工作

一個測試計劃中可包含多個執行緒組,一個執行緒組中就上圖中的各種元件

三、下面簡述下上圖中的各種元件,如取樣器等(其實瞭解了的話並不多)
X1-Y1: 取樣器
選擇方式:
在這裡插入圖片描述
(這裡自己有一點不明白的是,外掛為啥都是jp@gc-開頭,待後續理解,哈哈)
取樣器最常用的就是第二個Http Request,簡單來說取樣器就是向伺服器發出請求,並接受返回的響應資料

X1-Y2: 斷言
選擇方式:在這裡插入圖片描述
和測試用例中的預期結果一樣,和自動化測試中的斷言一樣,差不多都一個意思,後續用到的時候再詳說,哈哈哈

Z:監聽器
選擇方式:
在這裡插入圖片描述
常用的就是檢視結果樹,聚合報告,圖形結果,用表格檢視結果等

X2-Y1:前置處理器
選擇方式:
在這裡插入圖片描述
在請求傳送前做的準備工作可由它來完成,如對資料庫的操作時的連線資料庫就在這裡。我還沒有用到過啦,所以這裡就先這樣,後續用到了再詳細說明。

以上3個元件組合在一起就可以完成傳送請求,驗證結果及記錄結果。若想達到和postman一樣的效果,第一個和最後一個倆元件就可以簡單傳送請求並接受返回結果和展示啦!!!

X2-Y1:配置元件
選擇方式:
在這裡插入圖片描述
其中最常用的是CSV Data Set Config,因為自己也用過。是為了模擬大量使用者請求時有些引數是變動的,這些變動值就可以寫進檔案,新增到這裡,將請求的資料引數化,用起來很簡單的啦,新增檔案(檔案中寫好引數),介面配置下是那些資料需要引數化就O啦。當然還有其他的元件,得慢慢去了解

X2-Y1:後置處理器
選擇方式:
在這裡插入圖片描述
個人還沒用過這個元件,就先簡單說一下。一般放在取樣器之後,用來處理伺服器的返回結果,比如一個web頁面登入後會返回一個Session ID,這個Session ID登入後的業務操作過程中會作為驗證條件,驗證使用者是否合法登入及超時等。這裡就可以用後置處理器中的正規表示式提取器來提取Session ID並在後續的操作中進行使用。

其中:
X2中的元件都是為X1的元件服務的,為取樣器提供資料支援
X1則重點關注業務邏輯

X3-Y1:控制器(也叫邏輯控制器,一個意思)
選擇方式:
在這裡插入圖片描述
也還沒有用過。大概就是收郵件時,需要登入一次即可檢視多封郵件,這裡控制登入次數就用這裡的邏輯控制器來實現,具體就是once only controller,還有更復雜的操作用其他多種元件來完成多變的需求。後續用到了再詳細寫。

X3-Y1:定時器
選擇方式:
在這裡插入圖片描述
為足夠真實的模擬多個使用者在同一個時刻登入的情況,讓多個使用者請求在同一時刻傳送。定時器在這裡就是控制同一時刻。還有其他的,後續看到了再更新

X5-Y1-Y2:執行緒組
選擇方式:
在這裡插入圖片描述
用來設定執行的執行緒數,常用的就是Thead Group ,jp@gc-Ultimate Thread Group等
簡單來說就是模擬多少個使用者,一個執行緒一個使用者,這就是執行緒數。還有執行時長,定時執行等。另外就是各種元件都線上程組下面進行執行。

最簡單的,只想發一個請求的話,一個執行緒組(Thead Group),一個取樣器(Http Request),一個監聽器(View Results Tree)就可以搞定啦!!!很簡單的

ps:文章中內容學習來自於全棧效能測試修煉寶典-JMeter實戰(看本書從實用角度出發,建議從第3章看起,以上僅代表個人看法,各位看官各取所需,哈哈哈)
註釋:第3、4章讀書筆記

相關文章