在用工具之前,首先我們來簡單了解一下什麼是效能測試?
效能測試是系統在一定的負載和壓力的情況下,系統的回應時間,吞吐量,穩定性,課擴展性等效能指標。也就是我們要驗證系統是否在這些指標範圍,或者說驗證這些指標是否符合使用者或客戶的需求。效能指標包含系統指標和資源指標,今天我們就以使用者角度去看一下如何驗證系統指標?(系統指標:與使用者場景和需求相關的指標,關鍵的一些指標包含:回應時間,吞吐量,併發使用者數等)
以下是按照中文版的jmeter進行撰寫的,jmeter的bin目下開啟這個檔案jmeter.properties,搜尋language,把這個屬性前面的#去掉並修改值為:zh_CN,修改後的顯示 language=zh_CN
一、開啟bin目錄,點選jmeter.bat 或cmd 輸入 jmeter啟動jmeter工具
二、選中測試計劃右鍵new(新增)—》執行緒(使用者)----》執行緒組,進行執行緒組的新增(線上使用者數)
(1)名稱和註解任意
(2)執行緒數(使用者數),根據需求實際情況去新增
(3)Rum-up(秒)幾秒執行完使用者數
(4)迴圈次數這些使用者執行多次
三、所有的請求都線上程組的基礎上進行,那麼如何發起一個http請求呢?
選中執行緒組右鍵—》取樣器—》http請求
(1)名稱和註解最好與此次請求相關,有意義
(2)協定:http或https
(3)伺服器名稱或ip:(網域名稱或ip地址)
(4)埠號:http是80,https 443 ,mysql 3306
(5)請求方法(根據請求行中的方法進行填寫):post
(6)路徑:資源的位置
(7)內容編碼:UTF8(如果請求中不包含中文可不寫)
(8)post請求是有請求體的,所以要填寫引數:
具體如圖
四、一個http還除了上述http請求中的請求行和請求體,還包含請求標頭,如何新增請求標頭呢?(有的請求標頭不是必填的,此部分可以省略)
如果請求標頭是對所有的http請求有效,那麼選中執行緒組進行新增,請求標頭僅對本請求有效,那麼選中http請求進行新增
選中執行緒組右鍵–新增–配置元件–http標頭管理器(把需要的資料如圖填寫進來就可以)
掌握這節JMeter效能測試:併發測試、壓力測試,年薪30萬杠杠滴
以上http請求資料已經準備好,可以發起這個請求了,但是我們要想看到請求的結果怎麼辦呢?需要新增一個察看結果樹
五、如何新增察看結果樹呢?可以選中執行緒組或選中請求新增,作用域不一樣,選中執行緒組對應的作用域為這個執行緒組下的所有請求,而請求下的呢,僅作用域本請求,一般情況下選擇執行緒組即可
選中執行緒組右鍵–新增–監聽器—察看結果樹
準備好以上資料後就可以進行除錯了,在結果樹中檢視我們請求的資料新增的是否正確和回應結果是否正確
六、如何執行和結果顯示如圖
執行失敗為紅色顯示,伺服器回應成功為綠色顯示(在沒有設定任何斷言的情況下)
(1)取樣器結果:顯示的是Sample的請求和回應的總體情況(包含如下內容)
Thread Name(執行緒名稱): 登入 1-3
Sample Start(開始時間): 2020-03-19 16:37:03 CST
Load time(載入時間): 33
Connect Time(連接時間): 1
Latency(延遲): 33
Size in bytes(位元組): 153
Sent bytes(發送位元組數):327
Headers size in bytes: 128
Body size in bytes: 25
Sample Count: 1
Error Count: 0
Data type (「text」|「bin」|""): text
Response code: 200
Response message:
HTTPSampleResult fields:
ContentType: application/json;charset=UTF-8
DataEncoding: UTF-8
(2)請求:請求體和請求標頭
(3)回應資料:回應體和回應頭
在除錯的過程中,如果我們發起的請求失敗,可以在此檢視是請求資料有問題還是伺服器本身的問題
六、效能測試不能針對一個使用者進行反覆的登入吧,不符合常理和邏輯,那如何實現多個使用者進行登入呢?
(1)方法一:引數化
(1.1)csv引數化:選中執行緒組–右鍵新增–配置元件–csv資料檔案設定(如圖)
(1.2)使用變數(如圖)
(2)方法二:函式助手
(2.1)Tools —函式助手對話盒或工具欄中的書
(2.2)複製後,在此處貼上
用以上兩種方法之一就可以進行多使用者的註冊或登入了
可以執行一下檢視結果
七、檢視結果的常用方式
(1)聚合報告:把所有的請求資料和系統指標結果匯總成表格檢視
選中執行緒組右鍵—監聽器–聚合報告
樣本數量:3
平均值(平均的回應時間):12毫秒
中位數(50%的回應時間):12毫秒
90%百分位(90%的回應時間):15毫秒
95%百分位(95%的回應時間):15毫秒
99%百分位(99%的回應時間):15毫秒
最小值(用時最少的):10毫秒
最大值(用時最多的回應時間):15毫秒
異常(本次請求中有沒有請求失敗或者回應失敗的資料有多少個):0
吞吐量(每秒中處理交易的個數):4.4個
接收/kB(每秒接收的位元組數):0.65KB
發送/kB(每秒發送的位元組數):1.4KB
(2)用表格檢視結果:
選中執行緒組右鍵—監聽器–用表格檢視結果(如圖)
可以檢視單個請求的情況
(3)還可以匯總成圖表的
選中執行緒組右鍵—監聽器–圖形結果
八、還可以生成測試報告
(1)win+R 輸入cmd進入dos命令列模式下
(2)輸入:jmeter -n -t D:worklogin.jmx -l result.jtl -e -o D:work est ,點選回車
-n:以非GUI形式執行
-t:指定腳本的路徑
-l:執行後的結果的檔名
-e:在腳本結束後生成html報告
-o:儲存HTML報告的地址
注意:
1.-l 後面跟的檔名是起的名字,該檔名不能為已經存在的名字
2.-o 後面跟的資料夾的路徑,最後指定的資料夾不能有資料,可以自己新起一個任意不存在的資料夾名
(3)D:work est 的目錄下的index.html可以檢視測試報告
最後:
技術行業,一定要提升技術功底,豐富自動化專案實作經驗,這對於你未來幾年職業規劃,以及測試技術掌握的深度非常有幫助。
送上一句話:
世界的模樣取決於你凝視它的目光,自己的價值取決於你的追求和心態,一切美好的願望,不在等待中擁有,而是在奮鬥中爭取。
我是一枚職場中的測試小姐姐!剛學習完自動化測試教學,我再把它分享出來。如果對python自動化測試、web自動化、介面自動化、行動裝置自動化、面試經驗交流等等感興趣的測試人,可以關注微信公眾號:【傷心的辣條】,取得軟體測試工程師大廠面試資料!我的學習交流群:902061117 群里有技術大牛一起交流分享~
如果文章對你有幫助,麻煩伸出發財小手點個贊,感謝您的支援,你的點贊是我持續更新的動力。
推薦閱讀:
什麼樣的人適合從事軟體測試工作?
談談從小公司進入大廠,我都做對了哪些事?
想轉行做軟體測試?快來看看你適不適合
軟體測試從自學到工作,軟體測試學習到底要怎樣進行?
軟體測試工程師簡歷專案經驗怎麼寫?–1000個已成功入職的軟體測試工程師簡歷範文模板(真實簡歷)