接口測試注意的幾點(轉(zhuǎn)自CSDN)

接口測試作為集成測試的一部分市埋,通過直接調(diào)用被測試的接口來確定系統(tǒng)在功能性埋泵、可靠性、安全性和性能方面是否能達(dá)到預(yù)期匙铡,有些情況是功能測試無法覆蓋的拧咳,所以接口測試是非常必要的伯顶。

接口測試分為兩種,一種是webservice接口骆膝,走soap協(xié)議通過http傳輸祭衩,請求報文和返回報文都是xml格式的,測試時通過工具soapUI進(jìn)行測試阅签。使用情況比較少汪厨;另一種http api接口,走h(yuǎn)ttp傳輸協(xié)議愉择,通過路徑來區(qū)分調(diào)用的方法,最常用的是get和post請求织中。

上面說過锥涕,get和post請求是通過路徑來區(qū)分的,get請求的請求參數(shù)都是寫在URL里的狭吼,格式為:http://url?param1?m2层坠。而post的請求一般都是寫在body里的,可能是key-value格式刁笙,或者json串格式破花,也可能是上傳一個文件。疲吸。座每。那么問題來了,get請求和post請求的區(qū)別在哪里呢摘悴?我們百度時峭梳,大多數(shù)的答案是這樣的:

1、get請求可以在瀏覽器中請求到蹂喻,post請求的測試需要借助工具

  2葱椭、get請求使用url和cookie傳參捂寿,post的數(shù)據(jù)放在body中

  3、post比get更安全孵运,因為傳遞的參數(shù)在url上是看不到的

  4秦陋、get請求的url會有限制,而post請求的數(shù)據(jù)可以非常大

  5治笨、一般get請求是來獲取數(shù)據(jù)驳概,post請求是傳遞數(shù)據(jù)的

其實,對于現(xiàn)在飛速發(fā)展的互聯(lián)網(wǎng)來說大磺,上面的說法已經(jīng)不嚴(yán)謹(jǐn)了抡句。首先,post請求的參數(shù)也可以寫在url里杠愧,但是這種情況不多見待榔;其次表面上看起來,post利用body傳參流济,比get的url傳參安全锐锣,但其實只要用抓包工具(fiddler,Charles等)绳瘟,post的參數(shù)也是一覽無余雕憔;再次,現(xiàn)在的瀏覽器非常強大糖声,可以輸入支持很長的URL斤彼,所以也不再有限制一說了。這么說來蘸泻,種種區(qū)別只有最后一條是最根本的了琉苇。

 怎么來測試接口呢?根據(jù)什么來測呢悦施?這就需要開發(fā)提供的接口文檔了并扇,接口文檔和功能測試的需求說明書的功能是一樣的。包括:接口說明抡诞、調(diào)用的url穷蛹,請求方式(get or post),請求參數(shù)昼汗、參數(shù)類型肴熏、請求參數(shù)說明,返回結(jié)果說明乔遮。有了接口文檔后扮超,我們就可以設(shè)計用例了,一般接口測試的用例分為以下幾種:

  1、通過性驗證出刷,說白了就是傳遞正確的參數(shù)璧疗,是否返回正常的結(jié)果

  2、參數(shù)組合馁龟,因為參數(shù)有必傳和非必傳崩侠,參數(shù)的類型和長度,以及傳遞時可能業(yè)務(wù)上的一些限制坷檩,所以在設(shè)計用例時却音,就要排列組合這些情況,保證所有情況都能覆蓋到

  3矢炼、接口的安全性系瓢,這個又分為幾種情況:

  1)繞過驗證,比如提交訂單時句灌,在傳遞商品價格參數(shù)時夷陋,修改商品價格,就要看后端有沒有驗證了胰锌∑疲或者我支付時,抓個包將訂單金額一改资昧,如果能以我改后的金額支付酬土,那這個借口就有問題了。

  2)繞過身份驗證格带,就是某個功能只有有特殊權(quán)限的用戶才能操作撤缴,那我傳遞一個普通的用戶,是不是也能操作呢

  3)參數(shù)是否加密叽唱,這個關(guān)系到一些賬戶的安全腹泌,比如我們在登錄一些網(wǎng)站時,它要將我們的登錄信息進(jìn)行加密尔觉,如果不加密我們的信息就會暴露,危害性極大芥吟。

  4) 密碼安全規(guī)則侦铜,設(shè)置密碼時復(fù)雜程度的校驗。

  4钟鸵、根據(jù)業(yè)務(wù)邏輯來設(shè)計用例

用例設(shè)計完了钉稍,用什么來測試接口呢?我們可以借助一些工具棺耍,比如postman和jmeter贡未。postman使用比較簡單,可以在列表中選擇請求方式,在輸入框中輸入URL俊卤,如果是get請求嫩挤,直接點擊send就可以看返回結(jié)果了。

  如果是post請求消恍,會涉及到幾種參數(shù)的上傳方式和添加請求頭岂昭、權(quán)限驗證還有添加cookie等操作。在標(biāo)紅的地方基本都能完成狠怨。

還有一種測試接口的工具是jmeter约啊,用途比較廣泛,不但能測接口的功能佣赖,還能對接口進(jìn)行壓力測試恰矩。自帶的一些功能,比如參數(shù)化憎蛤、數(shù)據(jù)關(guān)聯(lián)更符合自動化測試的思想外傅。而且還能操作數(shù)據(jù)庫。在jmeter中需要創(chuàng)建線程組蹂午,線程組的循環(huán)次數(shù)和線程數(shù)決定了并發(fā)量栏豺,也可以設(shè)置持續(xù)時間或者啟動結(jié)束時間來決定請求的運行時間。如圖:

  然后在線程組下面添加http請求豆胸,將接口的url奥洼、路徑、參數(shù)晚胡、請求方法寫好灵奖,再添加察看結(jié)果樹來看請求返回結(jié)果,如果壓測接口的化估盘,需要添加聚合報告瓷患。

  在jmeter中post請求添加請求頭、cookie或者授權(quán)等遣妥,都需要添加相應(yīng)的功能擅编,比如標(biāo)紅部分,操作起來也比較簡單箫踩。

  使用jemeter時爱态,可以對傳遞的參數(shù)進(jìn)行參數(shù)化,有個函數(shù)生成器這樣的小工具境钟,舉一個小小的例子锦担,比如你想要生成一個隨機數(shù),只有打開函數(shù)生成器慨削,輸入最小值和最大值洞渔,再點擊生成套媚,就可以使用這個函數(shù)了,創(chuàng)建一個用戶定義的變量磁椒,起一個變量名堤瘤,變量值輸入生成的函數(shù),這樣每次用到的時候衷快,寫成$(variable)就可以了宙橱。

  jmeter關(guān)聯(lián)的意思是,上一個接口的返回結(jié)果蘸拔,作為下一個接口的請求參數(shù)师郑,很多場景都會用到,如果壓測這種場景的接口调窍,關(guān)聯(lián)是非常好用的宝冕。

  以上便是使用jmeter做接口測試的一些基本用法。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末邓萨,一起剝皮案震驚了整個濱河市地梨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌缔恳,老刑警劉巖宝剖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異歉甚,居然都是意外死亡万细,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門纸泄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赖钞,“玉大人,你說我怎么就攤上這事聘裁⊙┯” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵衡便,是天一觀的道長献起。 經(jīng)常有香客問我,道長镣陕,這世上最難降的妖魔是什么征唬? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮茁彭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘扶歪。我一直安慰自己理肺,他們只是感情好摄闸,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著妹萨,像睡著了一般年枕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上乎完,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天熏兄,我揣著相機與錄音,去河邊找鬼树姨。 笑死摩桶,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的帽揪。 我是一名探鬼主播硝清,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼转晰!你這毒婦竟也來了芦拿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤查邢,失蹤者是張志新(化名)和其女友劉穎蔗崎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扰藕,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡缓苛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了实胸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片他嫡。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖庐完,靈堂內(nèi)的尸體忽然破棺而出钢属,到底是詐尸還是另有隱情,我是刑警寧澤门躯,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布淆党,位于F島的核電站,受9級特大地震影響讶凉,放射性物質(zhì)發(fā)生泄漏染乌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一懂讯、第九天 我趴在偏房一處隱蔽的房頂上張望荷憋。 院中可真熱鬧,春花似錦褐望、人聲如沸勒庄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽实蔽。三九已至荡碾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間局装,已是汗流浹背坛吁。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留铐尚,地道東北人拨脉。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像塑径,于是被迫代替她去往敵國和親女坑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354

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