摘要:該文通過利用軟件測試行業(yè)中使用頻率較高的兩種性能測試工具Loadrunner與JMeter,對某系統(tǒng)軟件的性能指標(biāo)進(jìn)行測試,闡述了測試過程中的關(guān)鍵步驟,介紹了Loadrunner與JMeter基本概念、關(guān)鍵參數(shù)等,并使用圖文的形式進(jìn)行了分析與比對。通過對Loadrunner與JMeter多方面的比對,給出了這兩種測試工具優(yōu)缺點,可供軟件測試人員在后續(xù)性能測試中,根據(jù)系統(tǒng)軟件的環(huán)境要求和性能指標(biāo)要求快速選擇一種性能測試工具提供參考依據(jù)。
關(guān)鍵詞:關(guān)聯(lián)技術(shù);綜合業(yè)務(wù)場景;比對
doi:10.3969/J.ISSN.1672-7274.2024.12.034
中圖分類號:TP 3" " " " " " 文獻(xiàn)標(biāo)志碼:A" " " " " " 文章編碼:1672-7274(2024)12-0-03
Comparison of Performance Testing Between Loadrunner and JMeter
in a Certain System Software
LI Jifu
(The 7th Research Institute of China Electronic Technology Group Corporation, Guangzhou 510310, China)
Abstract: By using two commonly used performance testing tools, Loadrunner and JMeter, in the software testing industry, to test the performance indicators of a certain system software, this paper elaborates on the key steps in the testing process, introduces the basic concepts and key parameters of Loadrunner and JMeter, etc., and analyzes and compares them in the form of graphics and text. By comparing Loadrunner and JMeter in various aspects, we can understand the advantages and disadvantages of these two testing tools, which can provide reference for software testers to quickly choose a performance testing tool based on the environmental requirements and performance indicators of the system software in subsequent performance testing.
Keywords: correlation technology; comprehensive business scenarios; comparison
1" "研究背景與意義
隨著網(wǎng)絡(luò)技術(shù)發(fā)展以及用戶對網(wǎng)絡(luò)使用依賴性越來越高,用戶從互聯(lián)網(wǎng)獲取信息的實時性要求越來越高,訪問量與并發(fā)數(shù)越來越大,性能測試成為判斷軟件質(zhì)量的重要指標(biāo)[1]。如何針對軟件測試需求指標(biāo)快速選擇一種合適的性能測試工具,及時進(jìn)行測試得出性能結(jié)果尤為重要。
本文通過某管理系統(tǒng)軟件CRM,利用目前行業(yè)中使用較多的LoadRunner與JMeter性能測試工具,多方面分析比較這兩個測試工具各自特點,為測試人員在后續(xù)測試工作中根據(jù)項目軟件特點與性能指標(biāo)快速選擇適合的一種測試工具,進(jìn)而保質(zhì)高效地完成測試具有重大意義。性能測試指標(biāo)要求如表1所示。
2" "測試環(huán)境
本次測試采用的軟件CRM基于B/S架構(gòu),使用HTTP。CRM部署在一臺服務(wù)器中,在客戶端軟件安裝性能測試工具LoadRunner和JMeter,可通過客戶端登錄服務(wù)器的地址信息訪問服務(wù)器中的軟件,運行兩個測試工具進(jìn)行相應(yīng)的性能測試。測試環(huán)境圖如圖1所示。
3" "LoadRunner與JMeter在測試中表現(xiàn)分析與比對
3.1 LoadRunner與JMeter簡介
LoadRunner是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具。LoadRunner通過以模擬上千萬用戶配置并發(fā)負(fù)載及實時性能監(jiān)測的方式來確認(rèn)和查找問題,能夠?qū)φ麄€企業(yè)架構(gòu)進(jìn)行測試[2]。
JMeter是Apache組織基于Java開發(fā)的壓力測試工具,用于對軟件做壓力測試。JMeter最初被設(shè)計用于Web應(yīng)用測試,但后來擴展到了其他測試領(lǐng)域,可用于測試靜態(tài)和動態(tài)資源。
3.2 LoadRunner與JMeter的比對
LoadRunner與JMeter有很多共同之處,如均是常用自動化性能測試工具,也均可用來做接口測試,但也有各自的優(yōu)缺點。本文從基礎(chǔ)信息、錄制腳本、參數(shù)化、關(guān)聯(lián)、綜合業(yè)務(wù)場景設(shè)置和結(jié)果進(jìn)行分析比對。
3.3 關(guān)鍵參數(shù)比對
LoadRunner是一個商業(yè)測試工具,具有支持協(xié)議和腳本語言多、監(jiān)控指標(biāo)豐富和測試結(jié)果分析圖可視化強等優(yōu)點,而JMeter是一個開源免費的測試工具,具有安裝簡單和消耗資源小等優(yōu)點,LoadRunner和JMeter各關(guān)鍵參數(shù)比對情況如表2所示[3]。
3.4 錄制腳本比對
LoadRunner與JMeter腳本錄制異同比對如表3所示。
3 Fiddler軟件錄制 Fiddler軟件錄制
LoadRunner默認(rèn)使用IE瀏覽器,因為兼容IE瀏覽器版本其兼容性較好,錄制腳本質(zhì)量更高。若應(yīng)用軟件只能使用GoogleChrome或火狐瀏覽器運行,需要注意瀏覽器版本不能使用高于一定LoadRunner版本,否則錄制失敗。如果應(yīng)用軟件客戶指定要求較高的瀏覽器版本而無法錄制時,可用代理方式錄制。
JMeter支持第三方錄制工具Badboy,但使用Badboy錄制時經(jīng)常錄制不全,對應(yīng)用軟件兼容性較低,故常通過局域網(wǎng)設(shè)置代理服務(wù)器選擇代理方式錄制腳本。
本文將通過使用接口測試工具Fildder錄制LoadRunner與JMeter的腳本。Fiddler軟件是一個代理服務(wù)器,打開Fiddler軟件后,可通過瀏覽器查看到其代理IP地址為127.0.0.1,端口為8888。關(guān)閉后,其代理IP地址信息消失。使用Fiddler錄制原理是,當(dāng)瀏覽器向服務(wù)器請求數(shù)據(jù)時被其截取,截取后才發(fā)送到服務(wù)器,當(dāng)服務(wù)器向瀏覽器響應(yīng)數(shù)據(jù)時,同樣會被Fiddler截取,然后再發(fā)送給瀏覽器,因此可在Fiddler中看到請求和響應(yīng)的報文。
在進(jìn)行Fiddler錄制腳本時,打開fiddler軟件,單擊“Filters”進(jìn)行設(shè)置,勾選“Show only the following Hosts”,輸入被測軟件系統(tǒng)部署所在的服務(wù)器的IP地址:172.13.11.145,如圖2所示。此時,打開瀏覽器進(jìn)行登錄、操作各種業(yè)務(wù)、退出登錄等,此時fiddler錄制剛才操作的腳本。
3.5 參數(shù)化比對
LoadRunner在進(jìn)行參數(shù)化時,需在腳本選中登錄用戶名并右鍵單擊“Repalcs with a parameter”進(jìn)行參數(shù)化操作。JMeter通過線程組添加CSV數(shù)據(jù)文件設(shè)置進(jìn)行參數(shù)化。
3.6 關(guān)聯(lián)比對
關(guān)聯(lián)(correlation)是應(yīng)用LoadRunner進(jìn)行性能測試的一項重要技能。所謂關(guān)聯(lián),就是把腳本中某些寫死的數(shù)據(jù)轉(zhuǎn)變成動態(tài)的數(shù)據(jù)。在腳本回放過程中,客戶端發(fā)出請求,通過關(guān)聯(lián)函數(shù)定義的左右邊界值(也就是關(guān)聯(lián)規(guī)則),在服務(wù)器所響應(yīng)的內(nèi)容中查找,得到響應(yīng)值,以變量的形式替換錄制時的靜態(tài)值,從而向服務(wù)器發(fā)出正確的請求,這種動態(tài)獲得服務(wù)器響應(yīng)內(nèi)容的方法被稱作關(guān)聯(lián)。腳本設(shè)計中如果缺少關(guān)聯(lián),運行腳本時都是靜態(tài)數(shù)據(jù),可能會導(dǎo)致運行腳本失敗或運行腳本成功,但是未找到軟件記錄的錯誤。
LoadRunner常使用web_reg_save_param_ex函數(shù)(通過左右邊界來掃描并查找關(guān)聯(lián)數(shù)據(jù))和web_reg_save_param_regexp函數(shù)(通過正則表達(dá)式來掃描并查找關(guān)聯(lián)數(shù)據(jù))通過手動方式建立關(guān)聯(lián)。JMeter通過后置處理器常選正則表達(dá)式提取器來設(shè)置關(guān)聯(lián)。
3.7 綜合業(yè)務(wù)場景比對
在綜合業(yè)務(wù)場景測試中,LoadRunner通過添加各業(yè)務(wù)的腳本設(shè)置腳本比例來實現(xiàn)各業(yè)務(wù)數(shù),本次測試中需求為并發(fā)數(shù)為50(登錄10個、創(chuàng)建商機15個、刪除商機10個、查詢商機15個),則在相應(yīng)腳本中依次設(shè)置登錄為20%、創(chuàng)建商機為30%、刪除商機為20%、查詢商機為30%,設(shè)置完后可轉(zhuǎn)換顯示為數(shù)字。而JMeter在綜合場景腳本對應(yīng)的線程組業(yè)務(wù)的線程數(shù)中直接輸入業(yè)務(wù)數(shù)即可。LoadRunner與JMeter的綜合業(yè)務(wù)場景設(shè)置分別如圖3和圖4所示。
3.8 測試結(jié)果對比
通過使用LoadRunner和JMeter性能測試工具對某管理系統(tǒng)軟件的登錄軟件、創(chuàng)建商機、刪除商機、查詢商機和綜合業(yè)務(wù)的50個并發(fā)用戶數(shù)進(jìn)行測試,測試結(jié)果如表4所示。從測試結(jié)果觀測,LoadRunner和JMeter的最大響應(yīng)時間均滿足小于5 s的指標(biāo)要求。
4" "結(jié)束語
通過對LoadRunner和JMeter兩個目前常用性能測試工具多方面的分析比對可知,相對于JMeter,LoadRunner的優(yōu)點:功能全面而強大、支持協(xié)議更多、混合場景設(shè)計更方便、測試結(jié)果分析可視化更佳。LoadRunner缺點:如果需超過50個模擬用戶則需要昂貴價格購買軟件,相對于JMeter開源易二次開發(fā),LoadRunner無法二次開發(fā),消耗資源多,要求計算機配置更高。因此,軟件測試員可根據(jù)具體測試環(huán)境、性能測試指標(biāo)等選擇一種合適的性能測試工具使用。
參考文獻(xiàn)
[1] 蔣潔,趙進(jìn)科,辛鑫.Jmeter和Loadrunner性能測試工具在某財務(wù)系統(tǒng)中的使用對比[J].電子產(chǎn)品可靠性與環(huán)境試驗,2020,38(S2):58-61.
[2] GB/T 39788-2021,系統(tǒng)與軟件工程[S].2021.
[3] 徐艷,陳志峰.兩款自動化性能測試工具的分析與比較[J].電腦知識與技術(shù),2010,6(22):6284-6287.