關於JMeter-----壓力測試/接口測試----試驗步驟

一、基礎知識:

         Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件做壓力測試,它最初被設計用於Web應用測試,但後來擴展到其他測試領域。 它可以用於測試靜態和動態資源,例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫、FTP 服務器等。JMeter 可以用於對服務器、網絡或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。另外,JMeter能夠對應用程序做功能/迴歸測試,通過創建帶有斷言的腳本來驗證你的程序返回了你期望的結果。爲了最大限度的靈活性,JMeter允許使用正則表達式創建斷言。

         Apache jmeter 可以用於對靜態的和動態的資源(文件,Servlet,Perl腳本,java 對象,數據庫和查詢,FTP服務器等等)的性能進行測試。它可以用於對服務器、網絡或對象模擬繁重的負載來測試它們的強度或分析不同壓力類型下的整體性能。你可以使用它做性能的圖形分析或在大併發負載測試你的服務器/腳本/對象。

        所謂程序的接口就是APIApplication Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。

二、壓力測試具體步驟:

(1)安裝JMeter,具體操作是:

         a.下載JMeter安裝包,解壓到任意位置;

         b.將JMeter配置到環境變量;

         c.如將JMeter安裝到D:/apache-jmeter-3.2,則配置好環境變量後直接打開D:/apache-jmeter-3.2/bin/jmeter.bat即可即可打開Jmeter的工具界面進行使用。

         打開運行界面截圖:

 

(2)使用Jmeter進行壓力測試,本實驗中選取網站www.baidu.com進行壓力測試,具體步驟如下:

          a.新建測試計劃,命名爲test;

          b.建立線程組(一個線程組即一組虛擬用戶(virtual users),這些虛擬用戶用來模擬訪問被測系統),本次實驗中設置線程數爲20;Ramp-Up Period (in seconds): 虛擬用戶增長時長設置爲10,即意味着在10s內20個用戶運行完畢,循環次數爲1即用戶完成事件後就停止運行。

          c.新建HTTP請求,名稱爲「baidu_test」,具體配置如下圖。保存測試腳本後點擊運行測試按鈕。在選項中選擇查看log viewer,等待查看最終結果。

          d.設置監聽器,查看結果樹和圖形結果,會將每次請求的請求和響應數據顯示出來;

          e.獲得聚合報告,在測壓過程中會實時生成總結性報告。聚合報告中有多個參數,比如最小響應時間,異常率(本次測試中出現錯誤的請求的數量/請求的總數),吞吐量(默認情況下標示每秒完成的請求數),平均響應時間等。

三、接口測試步驟:

 (1)在測試計劃下建立線程組,建立HTTP請求,本次接口測試是訪問某CSDN博客。

 (2)添加HTTP信息頭管理器。因爲CSDN之接受瀏覽器發的請求,所以要用到瀏覽器頭信息

 (3)添加監聽器中的察看結果樹和聚合報告,步驟同壓力測試。

 (4)點擊運行按鈕,等待查看實驗結果

 

四、試驗注意事項:

(1)在打開Jmeter的工具界面時,一個爲命令行窗口,另一個是GUI窗口,使用過程中命令行窗口不能關閉。

(2)JMeter能監測的數據類型還有很多,比如TPS、CPU、內存等,但是需要安裝相應的JMeter插件

(3)線程數的大小不能設置太大,即模擬的訪問用戶數量不宜太多,避免被網站封IP地址。

(4)第一次進行壓力測試時,查看結果樹,沒有看到http請求的結果樹。原因是沒有點擊左側的某個HTTP請求進行查看。