jmeter,學這些重點就能夠了

前言

對測試來講,jmeter應該是你們使用較頻繁的測試工具之一,由於其開源、免費、輕量、功能強大,支持不少種協議,除了測功能,還能作自動化和性能測試;html

據某機構的調查,性能併發工具中,jmeter市場佔有率已經50%+,超過了老大哥loadrunner;java

這麼一款如此優秀的工具,對測試而言,是必須掌握的;web

常常看到羣裏你們討論jmeter的各類功能,我發現有些朋友過分使用了一些沒必要要的功能;其實,jmeter經常使用的功能並很少,把主要的掌握,基本上就能夠搞定90%的需求了,因此,不要把時間耗費在工具不經常使用的功能上,若是是作性能測試,分析定位調優纔是重點正則表達式

jmeter經常使用功能(性能方向)

從jmeter2.x版本用到如今的5.x,經常使用的功能也就下面列舉的這些,我不詳細單講,由於網上不少介紹,我博客或者公衆號,也有對應的實戰應用:shell

測試計劃apache

線程組websocket

【Sampler】併發

 HTTP請求:能夠參考:測試必備:jmeter測試http協議接口的各類傳參方式        dom

BeanShell Sampler       socket

Debug Sampler:只看到jmeter變量

若是是其它協議,好比java、dubbo、websocket、smtp、tcp、jdbc,添加對應的取樣器等便可,若是沒有,那麼就須要咱們本身開發,因此,java基礎是必備的。

 

【邏輯控制器】

事務控制器        

ForEach控制器        

僅一次控制器

 

【前置處理器】

BeanShell PreProcessor

 

【後置處理器】

正則表達式提取器:關聯的方式不少,我喜歡用萬能的正則,另外,你們能夠看以前寫的:jmeter關聯的5種方式        Debug PostProcessor:除了能夠看到jmeter變量,還能夠看到配置信息,最好放在正則表達式提取器後面,不然看不到提取的結果;       

 BeanShell PostProcessor

 

【斷言】

響應斷言       

BeanShell斷言

 

【定時器】

固定定時器        

高斯隨機定時器        

Synchronizing Timer

 

【配置元件】

HTTP信息頭管理器        

HTTP Cookie管理器        

CSV 數據文件設置        

HTTP請求默認值 

 

【監聽器】

查看結果樹       

聚合報告


函數助手

經常使用的函數須要掌握,如隨機函數等,舉例:生成1-1000的隨機數,能夠經過${__Random(1,1000,key)}生成隨機數,經過${key}能夠獲取這個隨機數;


分佈式壓測

分佈式壓測也是須要掌握的,參考:jmeter5.1分佈式壓測


另外,beanshell相關的,能夠參考:玩轉jmeter:beanshell必備技能

jmeter執行順序 

配置元件 → 前置處理器 → 定時器 → 取樣器 → 後置處理器 → 斷言 → 監聽器;

同一層級的,順序執行;  

jmeter最佳實踐

最後,咱們來看看官方的最佳實踐,地址是:
http://jmeter.apache.org/usermanual/best-practices.html

大概意思是:

Jmeter壓測減小資源使用的一些建議,即壓測結果會更準確:

一、使用非GUI模式(也就是CLI,Command Line Interface,命令行界面):jmeter -n -t test.jmx -l result.jtl

二、少使用Listener, 若是使用-l參數,它們均可以被刪除或禁用

三、在加載測試期間不要使用「查看結果樹」或「用表格查看結果」監聽器,只能在腳本階段使用它們來調試腳本

四、包含控制器在這裏沒有幫助,由於它將文件中的全部測試元素添加到測試計劃中

五、不要使用功能模式

六、使用CSV輸出而不是XML

七、只保存你須要的數據

八、儘量少地使用斷言

九、若是測試須要大量數據,尤爲是須要將其隨機化,能夠提早準備好測試數據放到數據文件中,從CSV數據集中讀取, 這樣能夠避免在運行時浪費資源 

 

若有不許之處,或者補充,請文末留言,謝謝。

相關文章
相關標籤/搜索