jmeter 响应结果分析一
轉(zhuǎn)自:http://www.cnblogs.com/Carrie_Liang/archive/2008/11/05/1327604.html
Jmeter測(cè)試結(jié)果分析這一篇,我打算分成上下兩部分。上篇,主要講述如何使用jmeter中Assertion對(duì)結(jié)果進(jìn)行簡(jiǎn)單的分類(lèi);下篇,主要講述的是當(dāng)我們拿到測(cè)試結(jié)果后,我們應(yīng)該如何去看待這些測(cè)試結(jié)果。
用過(guò)LoadRunner的人都知道,LoadRunner本身提供了很多函數(shù)可以對(duì)收集回來(lái)的結(jié)果進(jìn)行一些初步的分析。例如可以做到判斷返回的結(jié)果是否正確;判斷request的response time是否大于x秒之類(lèi)的。相比起LoadRunner,Jmeter在這方面沒(méi)有那么強(qiáng)大,但是個(gè)人認(rèn)為,對(duì)于一些編程基礎(chǔ)不是太好的測(cè)試人員來(lái)說(shuō),Jmeter比LoadRunner易用性上面做得更出色。
Assertion--斷言,通常是用于對(duì)每一個(gè)request sampler進(jìn)行額外驗(yàn)證的工具。下面通過(guò)一個(gè)例子來(lái)介紹一下常用的幾個(gè)Assertions。
假設(shè)現(xiàn)在要進(jìn)行一個(gè)登陸的壓力測(cè)試,下面是對(duì)pass的幾個(gè)定義:
1.正確login后,必須收到返回的身份驗(yàn)證和用戶(hù)個(gè)人信息下載的完成信息;
2.響應(yīng)時(shí)間不能超過(guò)150毫秒
3.返回的結(jié)果大小不能小于750bytes
根據(jù)以上的要求,我們?cè)趯?duì)應(yīng)的request sampler下面添加了以下的Assertions。
?
A.Response Assertion
?
?Response Field to Test -- 標(biāo)示被檢查對(duì)象是什么?
?Pattern Matching Rules -- 標(biāo)明被檢查對(duì)象與驗(yàn)證內(nèi)容之間的關(guān)系,Contains(包含關(guān)系);Matches(匹配關(guān)系);Equals(相等關(guān)系);Not(非關(guān)系)
?Pattern to Test -- 需要驗(yàn)證的內(nèi)容列表
B.Duration Assertion
?
?Duration to Assert -- 允許的響應(yīng)時(shí)間的最大值
C.Size Assertion
?
?Size to Assert -- 對(duì)于返回結(jié)果文件大小的標(biāo)準(zhǔn)定義
?
二、結(jié)果分析
添加了以上的Assertions后,我運(yùn)行了一次腳本。以下是存放結(jié)果的.jtl文件的內(nèi)容:
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,Latency
11/04/08 13:22:03,172,Do Login,200,OK,Thread Group 1-1,text,false,The operation lasted too long: It took 172 milliseconds, but should not have lasted longer than 150 milliseconds.,835,172
11/04/08 13:22:03,156,Do Login,200,OK,Thread Group 1-2,text,false,Test failed: text expected to contain /loginMsg="OK"/,633,156
11/04/08 13:22:03,156,Do Login,200,OK,Thread Group 1-3,text,false,The operation lasted too long: It took 156 milliseconds, but should not have lasted longer than 150 milliseconds.,839,156
11/04/08 13:22:03,156,Do Login,200,OK,Thread Group 1-4,text,false,The operation lasted too long: It took 156 milliseconds, but should not have lasted longer than 150 milliseconds.,836,156
11/04/08 13:22:03,78,Do Login,200,OK,Thread Group 1-5,text,true,,779,78
11/04/08 13:22:03,63,Do Login,200,OK,Thread Group 1-7,text,false,Test failed: text expected to contain /loginMsg="OK"/,570,63
11/04/08 13:22:03,141,Do Login,200,OK,Thread Group 1-6,text,false,The result was the wrong size: It was 721 bytes, but should have been greater than 750 bytes.,721,141
11/04/08 13:22:03,78,Do Login,200,OK,Thread Group 1-9,text,false,The result was the wrong size: It was 724 bytes, but should have been greater than 750 bytes.,724,78
11/04/08 13:22:03,204,Do Login,200,OK,Thread Group 1-10,text,false,The operation lasted too long: It took 204 milliseconds, but should not have lasted longer than 150 milliseconds.,1137,204
11/04/08 13:22:03,2985,Do Login,200,OK,Thread Group 1-8,text,false,Test failed: text expected to contain /loginMsg="OK"/,570,2985
我們可以看到,每一個(gè)Sampler都會(huì)經(jīng)過(guò)Assertions的判斷,只要有一個(gè)不符合條件的都會(huì)標(biāo)示為False。
其實(shí)除了以上講到Assertion,jmeter還提供了其他一些比較實(shí)用的Assertion,而我在這也不一一介紹了。
有興趣的可以看一下jmeter的user manual,然后再自己動(dòng)手試驗(yàn)一下。
總結(jié)
以上是生活随笔為你收集整理的jmeter 响应结果分析一的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: javascript权威指南(2)
- 下一篇: POI--HSSFCellStyle类