Jmeter接口測試實(shí)例講解

引言:

最近做的項(xiàng)目需要測試很多接口医吊,上網(wǎng)查一查焕议,發(fā)現(xiàn)完整講述接口測試的資料太少挠日,所以最近自己做完這個項(xiàng)目疮绷,把測試的東西整理一下和大家分享一下,希望對大家有所幫助

一嚣潜、測試需求描述

1冬骚、本次測試的接口為http服務(wù)端接口

2、接口的主要分成兩類懂算,一類提供給查詢功能接口只冻,一類提供保存數(shù)據(jù)功能接口,這里我們舉例2個保存數(shù)據(jù)的接口犯犁,因?yàn)檫@兩個接口有關(guān)聯(lián)性属愤,比較有代表性;

保存信用卡賬戶信息接口: 傳入?yún)?shù):

args={

"clientNo":"434343556", "alias": "** 信 用 卡 2", "cardName": "長城*****卡2", "cardNo": "25622356788251",

}

傳出參數(shù):

保存成功:{"returnCode":"0","returnMsg":"保存成功"}

保存失斔嵋邸:{"returnCode":"1","returnMsg":"保存失敗"} 保存邏輯:數(shù)據(jù)傳入進(jìn)來住诸,驗(yàn)證通過,保存到信用卡賬戶表中

保存信用卡賬單接口: 傳入?yún)?shù):

args={

"clientNo":"434343556", "accountName": "測試",

"billDate": "08", "billMonth": "201509",

"cardNo": "25622356788251",

"currentPayment": " 欠 款 459.80", "paymentDate": "2015-09-25 09:00:00",

}

傳出參數(shù):

保存成功:{"returnCode":"0","returnMsg":"保存成功"}

保存失敾猎琛:{"returnCode":"1","returnMsg":"保存失敗"}

保存邏輯:保存時先去信用卡信息表查看clientNo對應(yīng)的表是否存在贱呐,如存在則數(shù)據(jù)校驗(yàn)通過,將數(shù)據(jù)保存進(jìn)入信用卡賬單表

注:這個保存邏輯在接口開發(fā)設(shè)計(jì)文檔中可能沒有寫或?qū)懙牟辉敿?xì)入桂,這時要與開發(fā)接口人員或產(chǎn)品人員多多溝通去熟悉接口邏輯

二奄薇、測試分析

1、邏輯分析

1)抗愁、從保存邏輯上來看馁蒂,這兩個接口明顯是有依賴關(guān)系的,所以我們先測試信用卡賬戶信息接口蜘腌,再測試保存信用卡賬單接口

2)沫屡、接口傳入的數(shù)據(jù),最終是保存到數(shù)據(jù)庫中撮珠,所以當(dāng)接口返回保存成功的時候沮脖,我們也要去對應(yīng)的數(shù)據(jù)庫表中核對相應(yīng)的數(shù)據(jù)

3)、當(dāng)出現(xiàn)保存失敗的情況時,我們需要查看系統(tǒng)的日志勺届,所以我們也要準(zhǔn)備好查看日志的權(quán)限和地址

2驶俊、測試工具的準(zhǔn)備

1)、單個接口測試免姿,我們使用火狐的插件poster

2)饼酿、多個接口測試,我們使用Jmeter進(jìn)行測試

三养泡、使用工具測試

1嗜湃、Poster工具的使用方法見

http://note.youdao.com/share/?id=a3efa149d165258710ebf1bd04079f72&type=note

2、使用Jmeter對接口測試

首先我們說一下為什么用Poster測試后我們還要用Jmeter做接口測試澜掩,在用poster測試時候會發(fā)現(xiàn)的是一個接口一個接口的測試,我們每次? 測試成功后的數(shù)據(jù)杖挣,在工具中是無法保存的肩榕,再次測試的時候我們還要重新輸入測試的數(shù)據(jù),當(dāng)我們測試一個接口的時候可能感覺不明顯惩妇,但是當(dāng)你測試幾十個接口的時候株汉,你就會發(fā)現(xiàn)使用Jmeter的好處,如果測試階段來說冒煙測試我們用poster歌殃,集成測試我們用Jmeter

1乔妈、首先郵件添加一個線程組,這里我們重命名InterfaceTest

2氓皱、在線程組上添加一個Http默認(rèn)請求路召,并配置服務(wù)器的IP地址和傳輸編碼

3、在線程組中添加一個HTTP請求波材,這里我們重命名“增加信用卡賬戶信息接口”

4股淡、配置接口請求信息,這配置示例如下:

5廷区,在保存信用卡賬單接口請求唯灵,示例如下:

注:由于Jmeter請求線程組內(nèi)的請求時從第一個開始執(zhí)行,所以我們將需要最先執(zhí)行的請求放在前面

6隙轻、在線程組上添加監(jiān)聽器埠帕,察看結(jié)果樹和聚合報告

7、點(diǎn)擊啟動玖绿,運(yùn)行結(jié)束后查看敛瓷,結(jié)果樹和聚合報告

8、去數(shù)據(jù)庫中核對數(shù)據(jù)

9镰矿、大批量數(shù)據(jù)制造思路:

1琐驴、可參數(shù)化的參數(shù),保存信用卡賬戶信息接口(clientNo,cardNo),保存信用卡賬單接口(clientNo,cardNo,billMonth绝淡,paymentDate)

2宙刘、兩個接口的依賴關(guān)系,保存信用卡賬單接口(clientNo,cardNo)要和信用卡賬戶信息接口(clientNo,cardNo)的兩個相同牢酵,也就是說這兩個? ? ? 要用一個參數(shù)悬包,且還不能重復(fù)

根據(jù)上面兩個接口的特點(diǎn),(clientNo,cardNo)我們選取使用計(jì)數(shù)器馍乙,每循環(huán)一次計(jì)數(shù)器加1布近,那么我們將線程組設(shè)置循環(huán)執(zhí)行1萬? 次;billMonth丝格,paymentDate撑瞧,這兩個日期我們是使用隨機(jī)函數(shù)${ Random(1,9,)},將月份參數(shù)化显蝌;

3预伺、在線程組上創(chuàng)建計(jì)數(shù)器,配置如下:

4曼尊、引用計(jì)數(shù)器和隨機(jī)函數(shù)信用卡賬戶接口傳入?yún)?shù)

args={

"clientNo":"${add}434343556", "alias": "** 信 用 卡 2", "cardName": "長城*****卡2",

"cardNo": "${add}25622356788251",

}

賬單接口傳入?yún)?shù)

args={

"clientNo":"${add}434343556", "accountName": "測試",

"billDate": "08",

"billMonth": "20150${ Random(1,9,)}", "cardNo": "${add}25622356788251",

"currentPayment": "欠款459.80",

"paymentDate": "2015-0${ Random(1,9,)}-25 09:00:00",

}

5酬诀、設(shè)置線程組循環(huán)測試,點(diǎn)擊運(yùn)行

四骆撇、性能測試

簡單的性能測試

性能分析:

-測試結(jié)論:

-當(dāng)前測試環(huán)境下瞒御,TPS峰值為317.6次/秒。根據(jù)業(yè)務(wù)預(yù)期的客戶日常訪問量50次每分鐘神郊,按照每客戶訪問一次調(diào)用全部13個接口計(jì) 算肴裙,則業(yè)務(wù)預(yù)期為50*13=650次/分=10.83次/秒。測試結(jié)果表明系統(tǒng)的業(yè)務(wù)處理能力符合業(yè)務(wù)預(yù)期屿岂。

-由響應(yīng)時間來看践宴,保存XXXX這個接口的響應(yīng)時間明顯較慢,在50線程并發(fā)的時候爷怀,90%響應(yīng)時間為7.7秒阻肩,而75線程并發(fā)的時候則達(dá) 到了24秒,建議進(jìn)行優(yōu)化运授。

-由點(diǎn)擊率烤惊,響應(yīng)時間,TPS統(tǒng)計(jì)圖可知吁朦,整個穩(wěn)定性測試期間柒室,系統(tǒng)反應(yīng)很穩(wěn)定。

-詳細(xì)測試結(jié)果:

1. 負(fù)載測試

場景運(yùn)行測試時間:10分鐘總體測試結(jié)果

并發(fā)用戶數(shù) 90%用戶響應(yīng)時間(秒) 錯誤率 吞吐量(事務(wù)數(shù)/秒)

20 0.121 0.00% 303.2

50 0.243 0.00% 317.6

75 0.699 0.00% 122.4

100 3.458 0.00% 20.5

1. 穩(wěn)定性測試

場景運(yùn)行時間:1小時

并發(fā)用戶數(shù) 90%用戶響應(yīng)時間(秒) 錯誤率 吞吐量(事務(wù)數(shù)/秒)

20 0.132 0.00% 216.9

測試環(huán)境數(shù)據(jù)量如下:

表名稱 數(shù)據(jù)量(條)

逗宜。雄右。空骚。。擂仍。_BANK_CARD 143045

囤屹。。逢渔。肋坚。。_DEPOSIT_DETAI L 136865

有侵權(quán)現(xiàn)象聯(lián)系即刪除肃廓,從網(wǎng)上找的文章智厌。更多資料可以加 ? ?QQ:2135774420

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市盲赊,隨后出現(xiàn)的幾起案子铣鹏,更是在濱河造成了極大的恐慌,老刑警劉巖哀蘑,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吝沫,死亡現(xiàn)場離奇詭異,居然都是意外死亡递礼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門羹幸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脊髓,“玉大人,你說我怎么就攤上這事栅受〗酰” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵屏镊,是天一觀的道長依疼。 經(jīng)常有香客問我,道長而芥,這世上最難降的妖魔是什么律罢? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮棍丐,結(jié)果婚禮上误辑,老公的妹妹穿的比我還像新娘。我一直安慰自己歌逢,他們只是感情好巾钉,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著秘案,像睡著了一般砰苍。 火紅的嫁衣襯著肌膚如雪潦匈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天赚导,我揣著相機(jī)與錄音茬缩,去河邊找鬼。 笑死辟癌,一個胖子當(dāng)著我的面吹牛寒屯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播黍少,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼寡夹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了厂置?” 一聲冷哼從身側(cè)響起菩掏,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎昵济,沒想到半個月后智绸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡访忿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年瞧栗,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片海铆。...
    茶點(diǎn)故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡迹恐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出卧斟,到底是詐尸還是另有隱情殴边,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布珍语,位于F島的核電站锤岸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏板乙。R本人自食惡果不足惜是偷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望亡驰。 院中可真熱鬧晓猛,春花似錦、人聲如沸凡辱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽透乾。三九已至洪燥,卻和暖如春磕秤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背捧韵。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工市咆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人再来。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓蒙兰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親芒篷。 傳聞我的和親對象是個殘疾皇子搜变,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容