開源性能測(cè)試工具JMeter_第1頁
開源性能測(cè)試工具JMeter_第2頁
開源性能測(cè)試工具JMeter_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、開源性能測(cè)試工具 JMeter 學(xué)習(xí)筆記1 開源性能測(cè)試工具 -Jmeter 介紹 +安裝說明1.1 Apache JMeter 介紹1.1.1 Apache JMeter 是什么Apache JMeter 是 Apache 組織的開放源代碼項(xiàng)目,是一個(gè)100%純 Java 桌面使用,用于壓力測(cè)試和性能測(cè)量。它最初被設(shè)計(jì)用于 Web使用測(cè)試但后來擴(kuò)展到其它測(cè)試領(lǐng)域。最新的版本大家可以到 下載。1.1.2 用它能做什么Apache JMeter 可以用于對(duì)靜態(tài)的和動(dòng)態(tài)的資源 ( 文件, Servlet ,Perl 腳本, Java 對(duì) 象,數(shù)據(jù)庫和查詢,F(xiàn)TP服務(wù)器或是其它資源)的性能進(jìn)行測(cè)試。

2、JMeter可以用于在服務(wù)器, 網(wǎng)絡(luò)或?qū)ο竽M繁重的負(fù)載來測(cè)試它們提供服務(wù)的受壓能力或者分析不同壓力條件下的總 體性能情況。你可以使用 JMeter 提供的圖形化界面,分析性能指標(biāo)或者在高負(fù)載情況下測(cè) 試你的服務(wù)器 / 腳本/對(duì)象。1.1.3 Apache JMeter 能做什么能夠?qū)TTP和FTP服務(wù)器進(jìn)行壓力和性能測(cè)試,也可以對(duì)任何數(shù)據(jù)庫進(jìn)行同樣的測(cè)試( 通過 JDBC)。完全的可移植性和 100%純 Java。完全Swing的輕量級(jí)組件支持(預(yù)編譯的JAR使用javax.swing.*)包。完全多線程框架允許通過多個(gè)線程并發(fā)取樣和通過單獨(dú)的線程組對(duì)不同的功能同時(shí)取 樣。精心的 GUI

3、設(shè)計(jì)允許快速操作和更精確的計(jì)時(shí)。緩存和離線分析 / 回放測(cè)試結(jié)果。高可擴(kuò)展性:1)可鏈接的取樣器允許無限制的測(cè)試能力。2)各種負(fù)載統(tǒng)計(jì)表和可鏈接的計(jì)時(shí)器可供選擇。3)數(shù)據(jù)分析和可視化插件提供了很好的可擴(kuò)展性以及個(gè)性化。4)具有提供動(dòng)態(tài)輸入到測(cè)試的功能 ( 包括 JavaScript) 。5)支持腳本變成的取樣器 (在 1.9.2 及以上版本支持 BeanShell) 。1.1.4 Apache JMeter 的由來JMeter 最早是由 Apache 軟件項(xiàng)目的開發(fā)工程師 Stefano Mazzocchi 開發(fā)出來的。 他當(dāng) 初開發(fā) JMeter 主要用于測(cè)試 Apache JServ( 一

4、個(gè)被 Apache Tomcat 工程取代了的項(xiàng)目 )的性 能。之后又再次設(shè)計(jì)了 JMeter,增加了圖形化界面和一些功能測(cè)試能力。1.1.5 Apache JMeter 的未來隨著開發(fā)人員借助它的可嵌入的結(jié)構(gòu),希望看到 JMeter 的能力也隨之快速的被擴(kuò)大。 更進(jìn)一步的主要發(fā)展目標(biāo)是把 JMeter 在沒有減弱它的負(fù)載測(cè)試的能力的同時(shí)盡可能的做成最有效的回歸測(cè)試工具。1.2 Jmeter 做功能測(cè)試的優(yōu)劣1.2.1 利用 Jmeter 做功能測(cè)試有以下優(yōu)點(diǎn)不依賴于界面,如果服務(wù)正常啟動(dòng),傳遞參數(shù)明確就可以添加測(cè)試用例,執(zhí)行測(cè)試 測(cè)試腳本不需要編程,熟悉 http 請(qǐng)求,熟悉業(yè)務(wù)流程,就可以

5、根據(jù)頁面中 input 對(duì)象 來編寫測(cè)試用例。測(cè)試腳本維護(hù)方便,可以將測(cè)試腳本復(fù)制,并且可以將某一部分單獨(dú)保存。 可以跳過頁面限制,向后臺(tái)程序添加非法數(shù)據(jù),這樣可以測(cè)試后臺(tái)程序的健壯性。利用 badboy 錄制測(cè)試腳本,可以快速的形成測(cè)試腳本。Jmeter 斷言可以驗(yàn)證代碼中是否有需要得到的值 。 使用參數(shù)化以及 Jmeter 提供的函數(shù)功能,可以快速完成測(cè)試數(shù)據(jù)的添加修改等 。1.2.2 利用 Jmeter 做功能測(cè)試有以下缺點(diǎn)使用 Jmeter 無法驗(yàn)證 JS 程序,也無法驗(yàn)證頁面,所以需要手工去驗(yàn)證。Jmeter 的斷言功能不是很強(qiáng)大就算是 jmeter 腳本順利執(zhí)行,依舊無法確定程序是

6、否正確執(zhí)行,有時(shí)候需要進(jìn)入程序 查看,或者查看 Jmeter 的響應(yīng)數(shù)據(jù)。Jmeter 腳本的維護(hù)需要保存為本地文件,而每個(gè)腳本文件只能保存一個(gè)測(cè)試用例,不 利于腳本的維護(hù)。1.2.3 Jmeter 和其他功能測(cè)試工具在使用中的比較Jmeter 比較適用于數(shù)據(jù)添加,數(shù)據(jù)修改,數(shù)據(jù)查詢的測(cè)試,使用其他測(cè)試工具雖然也 可以完成該類測(cè)試,但是利用 Jmeter 添加數(shù)據(jù)更快,更方便,而且不依賴于界面,只 要添加數(shù)據(jù)的參數(shù)不改變,無論界面是否有變動(dòng),都不影響針對(duì)數(shù)據(jù)的操作。Jmeter 不需要要關(guān)注對(duì)象是否被識(shí)別的問題,而其他測(cè)試工具在錄制過程中,很容易 出現(xiàn)頁面對(duì)象不能被錄制工具識(shí)別的問題,因此適用

7、 Jmeter ,省略了很多關(guān)于對(duì)象操 作的麻煩,更易于使用。Jmeter 的適用更主要的是依賴于對(duì)被測(cè)項(xiàng)目的認(rèn)知和熟悉, 而對(duì)于 Jmeter 自身的適用 技巧要求并不是很高,而其他測(cè)試工具,關(guān)于工具本身需要較長時(shí)間的學(xué)習(xí)。Jmeter 能夠?qū)?fù)雜的業(yè)務(wù)邏輯進(jìn)行處理,而對(duì)這些復(fù)雜業(yè)務(wù)邏輯的處理,主要是運(yùn)用Jmeter 自身所帶的配置元件來達(dá)到, 對(duì)錄制的腳本的修改不大, 而使用其他測(cè)試工具, 要實(shí)現(xiàn)復(fù)雜業(yè)務(wù)邏輯的測(cè)試, 則需要對(duì)錄制的腳本進(jìn)行修改, 需要工具使用人員有一點(diǎn) 的編程能了,因此,使用 Jmeter 進(jìn)行測(cè)試對(duì)測(cè)試人員編程能力的要求不高,同時(shí)節(jié)省 大量的修改腳本的時(shí)間。其他測(cè)試工具

8、的測(cè)試腳本可以通過 CVS等版本控制工具進(jìn)行管理,而 Jmeter的測(cè)試腳 本的管理不知道是否可以納入版本控制, 因此, 其他測(cè)試工具比較適用于大型的, 系統(tǒng) 的功能測(cè)試中,而 Jmeter 比較適用于隨機(jī)的,擴(kuò)展開發(fā)不多的項(xiàng)目,也就是說 Jmeter 使用起來更靈活。其他測(cè)試工具有大量的驗(yàn)證點(diǎn)可用, 并且能夠?qū)缑嫔系膬?nèi)容進(jìn)行驗(yàn)證, 可以驗(yàn)證更多 的內(nèi)容, 測(cè)試能夠更完全, 對(duì)于界面變動(dòng)不大的項(xiàng)目, 可以通過修改腳本實(shí)現(xiàn)更加全面 的自動(dòng)化測(cè)試,而 Jmeter 提供的斷言功能有限,并且不依賴于界面,無法完界面相關(guān) 內(nèi)容的驗(yàn)證,用 Jmeter 測(cè)試更需要人工測(cè)試,人工確認(rèn)。Jmeter 用作

9、一個(gè)輔助測(cè)試工具,可以很大的提高測(cè)試人員的效率,而其他測(cè)試工具當(dāng) 作輔助測(cè)試工具并不能達(dá)到和 jmeter 同樣的功能。1.3 Apache JMeter 安裝說明1. 安裝環(huán)境要求:Java 版本JMeter 要求充分滿足 JVM1.3 或更高。 操作系統(tǒng)JMeter 可以在當(dāng)前任何一個(gè)已經(jīng)部署了 Java 的操作系統(tǒng)上運(yùn)行。l Unix(Solaris, Linux , etc)l Windows(98 ,NT, 2000, XP)l Open VMS Alpha 7.3+2. 安裝步驟:l 安裝環(huán)境: Windows XPl 安裝包準(zhǔn)備:JDK1.5.0_12 具體可在官方網(wǎng)站下載 ja

10、karta-jmeter-2.3.4 具體下載地址: l 安裝過程:1)JDK 安裝點(diǎn)擊下載的 jdk-1_5_0_12-windows-i586-p.exe ,選擇安裝路徑即可。2)JDK 環(huán)境配置 桌面上選擇“我的電腦” (右鍵)/ 高級(jí)/環(huán)境變量 , 在“系統(tǒng)變量” 欄中點(diǎn)擊“新建” , 在變量名中輸入:CLASSPATH變量值中輸入:C:JDK安裝目錄libdt.JAR; C:JDK 安裝目錄libTOOLS.JAR;點(diǎn)擊確定即可。再按“新建”,在變量名中輸入:java_home,變量中輸入:C:JDK安裝目錄;修改PATH 變量,添加 % java_home %bin; 然后確定即可

11、。修改系統(tǒng)變量 path 的值,在前面增加 %java_home%bin; 然后確定即可。3)檢查JDK安裝是否OK具體是:點(diǎn)擊“開始” / “運(yùn)行”,輸入命令cmd進(jìn)入dos操作界面,輸入命令:java - version 查看 java 版本,如果顯示為: 1.5.0_12 ,則安裝 OK4)Jmeter 安裝解壓 jakarta-jmeter-2.3.4 文件至 c 盤,本文解壓至 C:jmeter-2.3.4 目錄下。 桌面上選擇 “我的電腦” (右鍵)/ 高級(jí)/環(huán)境變量 , 在“系統(tǒng)變量” 欄中點(diǎn)擊“新建” , 在變量名中輸入:JMETER_HO ME變量值中輸入:C: jmeter

12、-2.3.4,點(diǎn)擊確定即可。再修改CLASSPATHS量,變量值中添加如下值:%JMETER_HOME%libextApacheJMeter_core.jar;%JMETER_HOME%libjorphan.jar;% JMETER_HOME%liblogkit-1.2.jar; 然后確定即可。5)檢查 jmeter 安裝是否 OK具體是:進(jìn)入 jmeter 目錄下的 bin 文件夾,點(diǎn)擊 jmeter.bat ,查看頁面顯示,如果能 顯示 jmeter 操作頁面則安裝成功。提醒:通常安裝到這一步會(huì)報(bào)下面這個(gè)錯(cuò)誤:unrecognized vm option '+heapdumpono

13、utofmemoryerror'原因是:安裝的JDK版本是:的就會(huì)出錯(cuò),把JDK卸載,重新下載版本,重新安裝就 0K了,之前我就是裝的 版本報(bào)的錯(cuò),后來更新 JDK版本就好了。2 JMeter從入門到精通2.1 開始你的第一個(gè)JMeter腳本JMeter是一款在國外非常流行和受歡迎的開源性能測(cè)試工具,像LoadRunner 樣,它也提供了一個(gè)利用本地Proxy Server (代理服務(wù)器)來錄制生成測(cè)試腳本的功能,但是這個(gè)功能并不好用。所以在本文中介紹一個(gè)更為常用的方法一一使用Badboy錄制生成JMeter腳本。簡單的介紹一下 Badboy。Badboy是一款不錯(cuò)的Web自動(dòng)化測(cè)試工

14、具,如果你將它用于 非商業(yè)用途,或者用于商業(yè)用途但是安裝Badboy的機(jī)器數(shù)量不超過 5臺(tái),你是不需要為它支付任何費(fèi)用的。也許是一種推廣策略,Badboy提供了將Web測(cè)試腳本直接導(dǎo)出生成JMeter腳本的功能,并且這個(gè)功能非常好用,也非常簡單。你可以跟著下面的試驗(yàn)步驟來邁出你在開源世界的第一步。1. 通過Badboy的官方網(wǎng)站下載Badboy的最新版本;2. 安裝Badboy。安裝過程同一般的 Windows使用程序沒有什么區(qū)別,安裝完成后你可以在桌面和Windows開始菜單中看到相應(yīng)的快捷方式如果找不到,可以找一下Badboy安裝目錄下的Badboy.exe文件,直接雙擊啟動(dòng)Badboy;

15、2.啟動(dòng)Badboy,你可以看到下面的界面。在地址欄(圖中紅色方框標(biāo)注的部分)中輸入你需要錄制的Web使用的UR 這里我們以 為例,并點(diǎn)擊 GO按鈕開始錄制。如果你用過LoadRunner之類的商業(yè)工具,對(duì)于這個(gè)操作一定不會(huì)陌生吧A_A4. 開始錄制后,你可以直接在Badboy內(nèi)嵌的瀏覽器(主界面的右側(cè))中對(duì)被測(cè)使用進(jìn)行操作,所有的操作都會(huì)被記錄在主界面左側(cè)的編輯窗口中在這個(gè)試驗(yàn)中,我們?cè)?Yahoo 的搜索引擎中輸入 JMeter 進(jìn)行搜索。不過你將看到, 錄制下來的腳本并不是一行行的代碼, 而是一個(gè)個(gè) Web對(duì)象這就有點(diǎn)像LoadRunner的VuGen中的Tree View 視圖;5.

16、錄制完成后,點(diǎn)擊工具欄中的“停止錄制”按鈕,完成腳本的錄制;6. 選擇“ File -> Export to JMeter ”菜單,填寫文件名“ login_mantis.jmx ”,將錄制好 腳本導(dǎo)出為 JMeter 腳本格式。也可以選擇“ File -> Save ”菜單保存為 Badboy 腳本;7. 啟動(dòng) JMeter 并打開剛剛生成的測(cè)試腳本。也許你已經(jīng)急不可待的準(zhǔn)備開始嘗試著用JMeter處理你手頭的工作了 A_A在下面的幾節(jié),我將繼續(xù)為大家介紹如何在 JMeter 中完成一個(gè)測(cè)試場(chǎng)景的設(shè)置和 JMeter 測(cè)試結(jié)果分 析入門,以及如何參數(shù)化 JMeter 腳本。當(dāng)然,

17、如果你的動(dòng)手能力很強(qiáng), 幾分鐘你就可以熟悉這些內(nèi)容。 不過還是請(qǐng)?jiān)试S我一點(diǎn) 點(diǎn)由淺入深的來幫大家完成“ JMeter 從入門到精通”的過程。我相信在這個(gè)過程中你將會(huì) 了解到更多有關(guān)性能測(cè)試的知識(shí)和經(jīng)驗(yàn),甚至包括一些 LoadRunner 等商業(yè)測(cè)試工具所無法 提供給你的經(jīng)驗(yàn)。2.3 建立測(cè)試計(jì)劃 (Test Plan) 測(cè)試計(jì)劃描述了執(zhí)行測(cè)試過程中 JMeter 的執(zhí)行過程和步驟,一個(gè)完整的測(cè)試計(jì)劃包括 一個(gè)或者多個(gè)線程組 (Thread Groups) 、邏輯控制 (Logic Controller) 、實(shí)例產(chǎn)生控制器 (Sample Generating Controllers) 、偵聽器

18、 (Listener) 、定時(shí)器 (Timer) 、比較 (Assertions) 、 配置元素 (Config Elements) 。打開 JMeter 時(shí),它已經(jīng)建立一個(gè)默認(rèn)的測(cè)試計(jì)劃 , 一個(gè) JMeter 使用的實(shí)例只能建立或者打開一個(gè)測(cè)試計(jì)劃。 現(xiàn)在我們開始填充一個(gè)測(cè)試計(jì)劃的內(nèi)容, 這個(gè) 測(cè)試計(jì)劃向一個(gè) jsp 文件和一個(gè) servlet 發(fā)出請(qǐng)求,我們需要 JMeter 模擬五個(gè)請(qǐng)求者 ( 也就 是五個(gè)線程 ) ,每個(gè)請(qǐng)求者連續(xù)請(qǐng)求兩次,下面的章節(jié)介紹了詳細(xì)的操作步驟。2.4 增加負(fù)載信息設(shè)置 這一步,我們將向測(cè)試計(jì)劃中增加相關(guān)負(fù)載設(shè)置 , 是 Jmeter 知道我們需要模擬五個(gè)請(qǐng)求 者,每個(gè)請(qǐng)求者在測(cè)試過程中連續(xù)請(qǐng)求兩次。詳細(xì)步驟如下:1.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論