Jmeter实战:零基础也能看懂的性能测试
經常聽到性能?何為性能,從來沒做過性能測試的人該如何上手?這篇文章非常適合零基礎的同學看,看完之后基本上就能知道性能測試的全流程。
性能指標
?1.什么是性能測試
在一定情況下,通過工具模擬用戶負載系統的響應時間、吞吐量等指標是否滿足需求。
2.性能的指標
基本上做過性能測試的人都知道性能指標這個詞,一般執行腳本成功后都會通過指標判定服務器性能從而判斷是否符合當前業務需要,再有,面試時經常會問到通過哪些指標來觀察服務器性能。
性能指標可以從以下5個方面觀察:
-
并發數:模擬用戶數,比如淘寶網雙11模擬上千萬級用戶執行加入購物車操作,這里的用戶數就是并發數。
-
響應時間:完成一個事務的時間(客戶端-網絡-服務器-數據庫),完成特定場景用時,比如千萬級用戶執行加入購物車操作的完成時間,最有名的為2-5-8原則為準則。
-
穩定性 :長時間運行場景系統有無異常,系統12-24小時運行正常無報錯。
-
資源使用率:CPU\內存使用率,通過觀察服務器的CPU\內存使用率大小,一般《=80%
-
思考時間(think time):為了模擬真實的用戶場景,在設計腳本時需要加上思考時間,比如執行完加入購物車,到結算頁面需要2-3s時間,這段時間可以為思考時間。
3.性能測試過程
大致分為需求分析->指標分析->場景用例設計->腳本用例設計->構建測試數據->腳本開發->執行運行結果并收集->輸出測試報告->性能調優與回歸幾大過程。
性能測試工具的選擇
目前主流的性能測試工具有Jmeter 和Loadrunner,大部分公司基本上都用Jmeter,原因loadrunner有下面三個缺點 :
1)價格昂貴,一般是按協議和虛擬用戶數量收費;
2)不能二次開發,比如實現額外的功能,不支持自己寫的腳本;
3)支持的最大并發數是50,想要支持大量并發數有限制。
所以這篇文章介紹的是Jmeter工具的使用。
測試計劃
1.?明確實現功能
不知道哪些場景 需要測試,可從以下幾個方面考量:
-
比如登錄場景,幾乎所有的系統及系統操作都在登錄基礎上完成,所以一般登錄場景都在計劃內
-
用戶量大的功能:購物系統的加入購物車功能,支付功能等
-
重要的功能:系統的核心業務功能,支付等
2.?確定指標值
一般指標值大部分下面產品/項目經理會根據用戶使用習慣提供,但是部分小公司流程不完善,每個指標都需要測試人員自己制定,提供一下思路。
根據公式計算
QPS:一般找到一天總最高的峰值,比如淘寶網上午10點是訪問高峰,pv峰值為5208,那么他的QPS=5208*0.8/(3600*0.2),其中2-8原則的意思是80%的業務量由20%的時間來完成,3600為小時轉化為秒。
并發數
一般有3種方法:
A.根據公式QPS=并發數/平均響應時間,其中時間和qps已知,可得出并發數
B.根據在線活動數來估算
C.根據以往經驗
下面以在線活動數為例:
首先明確3個用戶數
系統用戶數:系統注冊的人數
在線用戶數:系統用戶注冊的人數有一部分為僵尸用戶,不使用產品的,刨除這一部分使用產品功能的用戶為在線用戶數
并發用戶數:?計算平均的并發用戶數:C = nL/T,其中T為考核時長,n為登錄系統用戶數,L為登錄時長,一般考核時長為1天,登錄時長2小時,比如一個系統用戶數為500,則C=500*2/8=125
一般在實際工作中,根據公司的業務需求,小公司更傾向于不利用公式計算,先自己設定一個值看看服務器反應,再逐步遞增,這種比較費時,還有一種利用階梯壓測直接分析服務器性能瓶頸從而進一步分析。
腳本錄制實例
舉幾個我在實際實際工作中認為對大家有用處的例子。
1.錄制腳本-jmeter/badboy
前提:各個控件已經搭建好(添加測試計劃-代理服務器-線程組-僅一次控制器-事務控制器等)。
Jmeter錄制登錄腳本
1)IE瀏覽器設置代理
首先在瀏覽器找到局域網設置對話框,填寫代理服務器ip地址(jmeter工具使用電腦ip地址),端口默認8888,一般不用改變,點擊確定。
2)代理服務器設置你的目標控制器,腳本想放到哪個控制器下選中哪個,這里登錄要和其他功能一起調試,所以選擇僅一次控制器。
3)代理服務器點擊上圖 中的啟動按鈕,ie瀏覽器輸入網址->輸入賬號、密碼點擊執行登錄操作。
4)登錄成功后點擊jmeter左上角的停止按鈕。
5)查看登錄控制器下的session,會出現登錄過程中執行的一系列會話腳本。
6)調試運行查看結果樹,沒有紅色記錄表明成功了,一般響應數據下有返回值就可以了。
2.Badboy錄制登錄接口
為什么要用Badboy錄制了,有時候用Jmeter錄制的時候會出現錄制的內容不出現,導致流程無法往下進行,比如下拉框選擇,其實是有內容的,但是錄制的時候內容就不出現,這時候可以嘗試使用badboy試試看。
1)啟動badboy,輸入ip地址后點擊運行安妮。
2)頁面右側顯示登錄界面,點擊錄制圖標,輸入用戶名、密碼登錄后點擊停止運行。
3)停止錄制后,選擇文件->選中Export to JMeter。
4)打開JMeter導入剛才的腳本,到此badboy腳本錄制成功。
學習安排上
最后感謝每一個認真閱讀我文章的人,看著粉絲一路的上漲和關注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走
這些資料,對于想進階【自動化測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!凡事要趁早,特別是技術行業,一定要提升技術功底。希望對大家有所幫助…
總結
以上是生活随笔為你收集整理的Jmeter实战:零基础也能看懂的性能测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【】每日360题,2019.11.05日
- 下一篇: 10分钟健身法读书笔记(2/5)