開源性能測試工具JMeter快速入門(一)

目錄java

1、JMeter簡介正則表達式

2、JMeter功能介紹緩存

3、JMeter腳本服務器

4、關於JMeter小提示網絡




1、JMeter簡介session


1.定義多線程

JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件作壓力測試,它最初被設計用於Web應用測試,但後來擴展到其餘測試領域。 併發

    1)它能夠用於測試靜態和動態資源,例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、DB、FTP 服務器, 等等。ide

    2)JMeter 能夠用於對服務器、網絡或對象模擬巨大的負載,來自不一樣壓力類別下測試它們的強度和分析總體性能。工具

    3)JMeter可以對應用程序作功能/迴歸測試,經過建立帶有斷言的腳原本驗證程序是否返回了預期結果。爲了最大限度的靈活性,JMeter容許使用正則表達式建立斷言。

    4)JMeter支持的協議有:Web(Http、Https)、SOAP、FTPd、JDBC、郵件、MongoDB、TCP、原生命令或Shell腳本

2.JMeter的優點

    1)可對任何DB進行壓力測試(經過JDBC)

    2)純Java,可移植性強

    3)輕量組件支持包(預編譯的JAR使用javax.swing.*)

    4)多線程(多個線程併發或經過單獨的線程組對不一樣功能同時操做)

    5)計時精確

    6)緩存和離線分析,回放測試結果

    7)徹底開源,可對JMeter進行二次開發,增長業務對應所需的插件

3.JMeter不足

    1)錄製功能操做不方便。須要第三方工具Badboy或使用Browser代理錄製

    2)入門困難,同時網上學習資源較少

    3)報表類型少,場景設計比LR複雜

    4)不支持進程模式

    5)大併發時的結果不許確。




2、JMeter功能介紹

111.png

1.測試計劃

    啓動JMeter後,默認打開了一個測試計劃,一個完整的測試計劃劃包含一個或多個線程組、邏輯控制、取樣發生控制、監聽器、定時器、斷言和配置元件。

2.線程

    至關於LR中的VUser,每一個JMeter測試計劃的第一步就是添加線程組。在線程組裏設置併發用戶量、併發時間或併發次數、線程的啓動頻率。

    JMeter的線程組有三種類型:

        setup thread group: setup ,進行測試前的準備初始化工做,即init

        teardown thread group:teardown,測試結束後的垃圾回收等清理工做,即end

        thread group:最經常使用的線程組,至關於Action .一個線程至關於一個LR中的Vuser,這些線程在腳本運行過程當中沒法改變。

3.測試片斷(Test Fragment)

    測試片斷元素像是控制器上的一種特殊的線程組,在測試樹上與線程組同級。但它不被執行,除非引用 。

4.取樣器Sampler

    性能測試中向服務器發送請求並等待響應時間的最小單元,每一個取樣器有不一樣的屬性能夠編輯。

5.邏輯控制器

    可自定義JMeter發送請求的行爲邏輯 ,與Sampler結合使用能夠模擬複雜的請求序列。經常使用的邏輯控制器有:IF Controller、While Controller、Runtime Controller、事務控制器、隨     機控制器、交替控制器、吞吐量控制器、模塊控制器等。

6.監聽器

    對JMeter測試結果進行收集處理並進行可視化展示出的一系列元件,包括髮送的請求數據、返回的結果數據、響應時間的統計、吞吐量、錯誤率、返回結果狀態等。常見的監聽器有:圖       形結果、查看結果樹、用表格查看結果、聚合報告等。

7.配置元件

    維護Sampler須要的配置信息,並根據實際須要修改請求內容 。通常配置元件放在請求開始前。

8.定時器

    即思考時間。一來爲了真實地模擬用戶併發行爲,二來控制每一個線程間的請求間隔時間以減小服務器壓力。

9.斷言

    即檢查點。壓力測試前提是功能正確。經常使用的斷言有:響應斷言、XML斷言、HTML斷言、XPath斷言。

10.前置處理器

    用來修改請求的設置。eg.Http URL重寫修復符可實現URL重寫,當RUL中有sessionID一類的session信息時,可經過該處理器填充發出請求的實際sessionID

11.後置處理器

    即關聯。用於對Sampler發出請求後獲得的服務器響應數據進行處理。通常用於提取響應中的特定數據,如用後置處理器中的正則表達式提取器對服務器返回的特定數據進行關聯操做。

相關文章
相關標籤/搜索