軟件測試工具JMeter與LoadRunner的比較
隨著對JMeter使用的深入,我越來越傾向于在自己的工作中使用JMeter工具,并且也不遺余力的向我認識的測試工程師推薦這個工具,但很多工程師在初步使用過這個工具后,會向我抱怨JMeter有太多不能做的事情,但在我看來,JMeter確實有不能做的事情,不過,對于Web應用的測試,JMeter是足夠強大了。很多人會把JMeter和自己正在使用的LoadRunner進行比較,然后說“還是LoadRunner好用”——關于這一點,我覺得首先要明確“好用”的定義。接下來,我以自己的工作為例,說明一下JMeter是如何適應我的工作內容的。
我測試的主要項目都是基于Web的應用,從性能測試的角度來說,我希望性能測試工具具有這樣的一些特點:
Critical Features:
1、支持HTTP/HTTPS協議,能夠發送HTTP/HTTPS request;
2、支持用戶場景(借用了LR中的詞匯),能夠以某種比例在不同的業務上分布用戶數量;
3、支持事務;
4、支持參數化和關聯(還是借用LR中的詞匯);
5、能夠獲得和匯總請求響應時間等數據,能夠提供響應時間匯總、事務/請求處理成功率等數據報表;
Non-Critical Features:
1、能夠以漂亮的圖表展示出結果數據;
2、能夠提供漂亮的用戶界面(GUI);
3、能夠提供良好的錄制功能和調試環境;
另外,從我所測試的產品,和我個人的角度來說,我還希望工具具有以下功能:
1、能夠靈活的擴展,例如,我的應用的后端(bakcend)和前端的通訊使用的是RPC方式,則我希望工具能夠通過我已有的API直接對后端產生負載,進行負載測試;
2、可以使用命令行方式,采用批處理模式運行(不需要GUI),運行后的結果能夠通過Email等發送給我,或是直接integration到一個可發布的web頁面上;
3、收集得到的數據能夠很容易的進行再處理(例如,以XML格式存儲raw data);
4、工具本身具有很好的可信度,可以通過查看代碼等方式,了解當意外發生時是工具本身的問題或是應用的問題。
大體上,JMeter和LoadRunner都可以很好的完成Critical Feature中列出的任務,而LR在Non-Critical Feature方面表現更出色。不過,JMeter在我希望的更靈活的功能方面大獲全勝。
JMeter的另一個最大的優勢,自然是在cost方面,LR的價格是有目共睹的,而JMeter,接近0的獲得成本對于資金不那么寬裕的公司來說,實在是難得。
我得承認,在對JMeter和LoadRunner進行比較的時候,我很明顯的偏向了JMeter:)在本文中,我不打算以一個獨立第三方的面目出現,你可以把本文的觀點看作是對JMeter的推介或是認可,目的只是為了消除一些人認為“JMeter是玩具”的觀點,實際上,JMeter現在確實是我的性能測試中的主要工具,而LoadRunner已經不再出現在我的性能測試工具列表中了。
希望這篇文章不會開罪LoadRunner的堅定擁護者們,有任何意見,我非常歡迎理性的討論。
文章來源于領測軟件測試網 http://www.k11sc111.com/