1. 程式人生 > >JMeter+Badboy:零成本效能測試初體驗

JMeter+Badboy:零成本效能測試初體驗

Badboy是一個用於輔助測試和開發的工具,我們可以在效能測試中結合JMeter一起使用,迅速錄製/開發測試指令碼。

雖然Badboy不是完全免費的,但是看你如何使用,使用得當的話,它也是一個cheap或free的產品。官網是http://www.badboy.com.au/,提供了幫助文件和下載連結。

現在網路上關於Badboy的資料相對比較少,官網上的資料好像是唯一比較詳細的參考文件了。如果想要完整系統的學習並且掌握Badboy,建議對照文件好好實踐。

本文總結了本人使用Badboy+JMeter結合做效能測試的一點體會,一方面總結下,方便以後參看,同時希望給同樣對Badboy感興趣的同學提供一點幫助。

好了,閒話少說,下面就正式說明使用JMete+Badboy進行快速的效能測試。

一、使用Badboy自動錄製指令碼

在快速進行測試開發的過程中,少不了一款自動化錄製指令碼的工具。鼎鼎大名的LoadRunner就是一款這樣的產品,但是它是收費的而且license很昂貴。一般注重節省成本的公司很少會購買它的license。如果是涉及到web的效能測試,Badboy是一個不錯的替代者。理由:其一,上手非常簡單。有過使用Loadrunner進行指令碼錄製經驗的同學,看到它的介面按鈕,很容易(幾乎不用看任何說明)知道如何開始錄製。其二,功能也比較強大,足以使用它錄製通過的web腳不能。

首先,我們來熟悉它的介面。

圖1 主介面

開啟Badboy應用程式後,彈出上述主介面。上面有4個按鈕,這裡著重說明下:

1、URL輸入欄:在這裡輸入需要錄製的網頁地址,按下enter鍵則開啟該網頁,同時工具開始錄製操作。我們在上面右側看到了Badboy使用內嵌的瀏覽器打開了Baidu的首頁。關於內嵌瀏覽器的設定,可以在Preference選單下進行設定。這裡不詳述了。

2、錄製按鈕:很熟悉的感覺啊。如果該按鈕處於下陷狀態,說明處於錄製狀態中。使用者可以點選它,來啟動錄製。

3、停止錄製按鈕:在錄製你需喲的步驟後,點選該按鈕可以結束錄製。

4、新增步驟(step)按鈕:可以將一個step理解為事務,比如一個登入、買入、賣出事務。使用step會非常容易管理指令碼,在上圖中,多個step將各個操作劃分開來,一目瞭然。

好,現在其實你已經入門了,基本知道如何使用bb(Badboy,簡稱bb)錄製指令碼了。其他的需要自己去實踐。下面介紹如何將bb指令碼匯出為JMeter能夠識別的格式,從而在JMeter中執行效能測試。點選File/Export to JMeter選單,即可將錄製好的指令碼檔案匯出為jmx格式,即JMeter指令碼檔案格式。如下圖2所示:

圖2 匯出為JMeter指令碼(jmx)

二、在JMeter中執行測試

在上一章中,介紹了使用bb錄製web指令碼,及匯出為jmx的方法。這一章中,我們要在JMeter中對bb錄製的指令碼進行一些必要的加工。

首先,我們來看下新的指令碼長什麼樣了,有沒有什麼結構上變化。我們不希望有結構上的變化,希望我們錄製的東西被完整的保留下來。

1、測試計劃

在bb介面中,選單File/New新建的一個稱為Test Suite(測試套件)的檔案。匯入JMeter後,則對應於JMeter的測試計劃概念,其名稱則顯示為“Badboy Test Plan”。見下圖3。

圖3  Badboy Test Plan

2、執行緒組

在bb介面中,Test Suite的下一層級節點為Test。匯入JMeter後,則對應於JMeter的執行緒組概念。見下圖4。

圖4 執行緒組

3、迴圈控制器

在bb介面中,Test的下一層級節點為Step。匯入JMeter後,則自動轉化為JMeter的迴圈控制器元件。見下圖5。

圖5 迴圈控制器

從上面3點來看,bb錄製的指令碼可謂是比較完美的轉為JMeter指令碼了。我們只需要略微做些加工,包括新增監視器、結果檢視樹、引數話、關聯等,即可開始執行測試,這裡就不再詳述如何使用JMeter執行效能測試了。關於這方面的文章,網路上可謂車載斗量,多如繁星,都可以作為參考。