您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > Jmeter
使用Jmeter,maven,Jenkins構(gòu)建云性能測試平臺(tái)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/4/11 14:08:57 ] 推薦標(biāo)簽:

  如何使用Jmeter,maven,Jenkins構(gòu)建云性能測試平臺(tái),軟件測試性能測試

  近在利用Jmeter來做一套自動(dòng)化性能測試框架,做自動(dòng)化性能測試框架的目的是希望能夠針對系統(tǒng)做一個(gè)benchmark的性能測試,能夠快速的在每個(gè)版本發(fā)布后,對該版本進(jìn)行benchmark性能測試,以比較與上一個(gè)版本的性能是否發(fā)生變化,若發(fā)生變化便可以快速的通知開發(fā)人員以確定性能發(fā)生變化的模塊或者代碼。同時(shí)測試或者開發(fā)可以上傳性能測試腳本到測試平臺(tái),測試平臺(tái)接到測試腳本后可以進(jìn)行性能測試并返回測試結(jié)果.基于這一點(diǎn)的考慮是,一般的測試工程師(特別想功能測試工程師)和開發(fā)工程師可能沒有相關(guān)的性能測試環(huán)境供他們使用,因此建立這樣的平臺(tái)是希望能夠讓每個(gè)人都能快速的進(jìn)行性能測試,而不需要關(guān)注性能測試環(huán)境(往往配置一個(gè)性能環(huán)境可能需要很長的時(shí)候).

  1.框架簡要介紹

  選擇Jmeter來搭建這樣一個(gè)平臺(tái)是基于Jmeter本身的Open source, 并且是用純JAVA開發(fā)的測試工具,方便與其他的工具的集成和擴(kuò)展。重要的是,你可以看到源碼。

  這套框架基本的執(zhí)行流程和邏輯其實(shí)很簡單,利用Jenkins的CI功能,實(shí)時(shí)檢查腳本庫,若有變更便調(diào)用JMeter來執(zhí)行腳本,并將測試結(jié)果通過郵件或其他方式通知相關(guān)人員。主要邏輯圖如下所示:

 

  2. Maven執(zhí)行Jmeter

  MAVEN是一個(gè)非常的項(xiàng)目管理工具,關(guān)于Maven和Ant的主要區(qū)別可以去網(wǎng)上查詢,我們在這里主要介紹一下用MAVEN如何去運(yùn)行JMeter, JMeter支持多種運(yùn)行方式,有GUI方式和NONGUI方式,各有優(yōu)勢,我們在自動(dòng)化性能測試平臺(tái)的搭建中采用NonGUI方式來運(yùn)行測試腳本,NonGuI方式其實(shí)也是通過Command命令來運(yùn)行,那么如何通過Maven來調(diào)用呢,不用慌張,已經(jīng)有Jmeter-maven-plugin這樣一個(gè)Maven插件來運(yùn)行Jmeter了,如果看過Jmeter源碼的話,可以看到在Jmeter中有這樣一個(gè)Class,叫做NewDriver.class,這個(gè)類是Jmeter的入口,我們可以看一下這個(gè)類的Main方法:

  看到try模塊中的后幾行可以看到,通過Java反射機(jī)制,JMeter.start()方法被調(diào)用到,并且將相關(guān)的參數(shù)傳遞給該方法。因此我們可以想象到JMeter-maven插件中肯定也是通過調(diào)用這個(gè)方法來啟動(dòng)JMeter的,我們來看一下JMeter-maven-plugin這個(gè)插件(關(guān)于如何開發(fā)maven插件在這里不具體講,可以參考網(wǎng)上資料)中的主要調(diào)用代碼:

  重點(diǎn)參考TestManager這個(gè)類,這個(gè)類是主要用來啟動(dòng)Jmeter的,我們可以參考這個(gè)類中的executeSingleTest(File test)這個(gè)方法:

  這個(gè)方法驗(yàn)證了我們剛才這個(gè)猜想。在完成通過MAVEN啟動(dòng)Jmeter的分析過后,我們所要做的事情是如何解析Jmeter運(yùn)行后所得到的測試結(jié)果,并將這個(gè)測試結(jié)果以相關(guān)的格式展現(xiàn)出來。

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd