關(guān)于接口測試的一些整理

什么是接口測試喂击?

接口測試是測試系統(tǒng)組件間接口的一種測試昼榛。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互點税迷。測試的重點是要檢查數(shù)據(jù)的交換永丝,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等箭养。
--來源“百度百科”

我的理解:接口測試就是通過組裝一系列的入?yún)⒌玫较鄳?yīng)的出參后慕嚷,判斷接口是否符合或滿足既定要求。這個要求可以是功能上的毕泌,也可以是性能上的或者是安全方面的喝检。

接口測試中沒有頁面UI、前端交互這些撼泛,只需按接口說明文檔來組裝參數(shù)挠说,模擬用戶請求,驗證返回結(jié)果是否正確愿题。一般我們需要借助工具來完成损俭,如:postman、Jmeter潘酗、SoapUI等杆兵。

這里提到了“前端”,那與之對應(yīng)的就是“后端”仔夺,簡單的講下什么是前端琐脏、后端。

我們打開的網(wǎng)頁缸兔、使用的app就是前端日裙,那些漂亮的頁面,豐富多彩的內(nèi)容就是前端渲染出來的惰蜜。為這些頁面昂拂、內(nèi)容提供數(shù)據(jù)支撐和業(yè)務(wù)邏輯處理的就是后端,通過接口傳輸蝎抽。當(dāng)然前端也會做一些簡單的業(yè)務(wù)處理政钟,如:非空校驗路克、輸入長度限制等樟结。

通常來說,接口有2種:程序內(nèi)部接口和系統(tǒng)對外接口精算。

系統(tǒng)對外接口:從字面意思來理解就是對外部系統(tǒng)提供服務(wù)的瓢宦,像現(xiàn)在我們見到的很多app都有微信登錄的功能,這就是調(diào)用了微信對外提供接口灰羽。像我現(xiàn)在所在公司以app開發(fā)為主驮履,那接觸到的都是對外接口鱼辙。

程序內(nèi)部接口:程序內(nèi)部方法與方法、模塊與模塊之間的交互玫镐。

為什么要做接口測試倒戏?

結(jié)合自身經(jīng)驗,總結(jié)如下:

  1. 測試先行恐似。在后端人員開發(fā)出接口后杜跷,我們就可以開始測試了,不需要等前端人員開發(fā)完矫夷,能提前發(fā)現(xiàn)并解決一些問題葛闷。
  2. 一些前端頁面操作發(fā)現(xiàn)不了的問題可以通過接口測試發(fā)現(xiàn)
  3. 一些前端不好模擬的場景可以通過接口來快速完成,如:多個人同時搶一個紅包
  4. 檢測異常處理能力
  5. 檢測系統(tǒng)的性能双藕、安全性等
  6. 相比UI自動化測試淑趾,接口自動化測試成本更低

接口測試難嗎?

不難忧陪!對于剛?cè)胄械娜藖碚f扣泊,“接口”這個概念可能難以理解,然后就認(rèn)為接口測試好高大上的樣子嘶摊。

萬變不離其宗旷赖,做測試也是如此。任何一種類型的測試都需要先了解需求更卒,熟知業(yè)務(wù)等孵,然后梳理流程,整理測試點蹂空。核心思想有了俯萌,面紗揭開了,剩下的只是實現(xiàn)的手段了上枕。

接口由什么組成咐熙?

做接口測試,首先要知道接口的組成辨萍。通常我們接觸到的是web接口棋恼,常見的web接口有http接口(基于http協(xié)議)、webservice接口(基于soup等協(xié)議)锈玉。

一個接口包含這么幾部分:協(xié)議爪飘,IP、端口(也可以是Host)拉背,請求路徑师崎,參數(shù)及參數(shù)值,請求體椅棺,請求方式犁罩,請求頭齐蔽。

接口組成
  • 請求協(xié)議

常見的有http和https,https是加密的http請求床估,傳輸數(shù)據(jù)更安全

  • 請求IP含滴、端口

如:127.0.0.1:8080,也可以是域名丐巫,通常叫Host

  • 請求路徑

接口的具體地址

  • 請求方式(method)

常用的有以下4種:

get:獲取數(shù)據(jù)

post:提交數(shù)據(jù)蛙吏,如表單,一般是新加內(nèi)容

put:修改數(shù)據(jù)鞋吉,有時候也會用post

delete:刪除數(shù)據(jù)

  • 請求參數(shù)及參數(shù)值

接口路徑后“?”后的那一段鸦做,key=value這種形式,多個參數(shù)用“&”連接

  • 請求體(body)

請求正文谓着,可以是表單泼诱,也可以是json、xml赊锚、html等格式治筒。

  • 請求頭(header)

客戶端環(huán)境以及一些請求的校驗信息,如:cookie舷蒲、token等耸袜。

一般開發(fā)會提供接口說明文檔,我們按照說明文檔來組裝即可牲平。

接口測試用例怎么設(shè)計堤框?

接口測試其實也是一種功能測試,所以在設(shè)計用例時可以參照功能測試用例的思路纵柿。

從大方向來說蜈抓,可以歸結(jié)為以下幾點:

1、單接口的測試用例設(shè)計

正常場景:按接口文檔上的說明昂儒,傳入正確的參數(shù)和值沟使,看能不有得到正確的返回結(jié)果。異常場景:不按文檔說明來傳渊跋,如:必填參數(shù)未填說明傳整形的傳個字符串類型腊嗡;長度為11,傳的10或者12拾酝。參數(shù)組合:有些接口不同的參數(shù)組合會得到不同的結(jié)果燕少,所以需要一一驗證不同的參數(shù)組合時,得到的結(jié)果是不是正確的微宝。

2棺亭、業(yè)務(wù)邏輯測試用例設(shè)計

這個就要具體業(yè)務(wù)具體分析了虎眨,可能會涉及到多個接口間數(shù)據(jù)的傳遞蟋软。舉幾個例子:

支付密碼連續(xù)輸入5次后镶摘,凍結(jié)24小時;

注冊成功后岳守,需要自動登錄(登錄接口要返回用戶token)凄敢;

闖關(guān)需要消耗精力;

拼手氣紅包不能多發(fā)

......

3湿痢、其他場景

根據(jù)實際情況來涝缝,補充在單接口和業(yè)務(wù)邏輯上沒有覆蓋到的場景,如:

接口響應(yīng)時間不能超過200ms譬重;

敏感信息需要加密拒逮;

并發(fā)測試,大量數(shù)據(jù)測試等臀规。

用什么工具測滩援?

接口測試的工具有很多,推薦postman和Jmeter塔嬉。

postman:使用簡單玩徊,功能強大的一款A(yù)PI測試工具,也是開發(fā)人員常用的一款工具谨究,支持用例管理恩袱、自動化、環(huán)境管理胶哲、變量管理畔塔、批量運行、多人協(xié)作等鸯屿。下載地址:https://www.postman.com/downloads/俩檬。
Jmeter:一款由Java語言開發(fā)出來的測試工具,主要用來做性能測試碾盟。Java環(huán)境下直接運行棚辽,無需要安裝,內(nèi)存占用小冰肴,輕便簡單屈藐,免費開源。下載地址:https://jmeter.apache.org/download_jmeter.cgi熙尉。

Jmeter中組裝接口

注意:

在Jmeter中联逻,如果是https請求,端口號填443检痰;

當(dāng)Body Data添加內(nèi)容后包归,需要注意在請求頭里添加對應(yīng)的Content-Type,如:請求體是json格式時铅歼,添加Content-Type的值為application/json(我第一次在Jmeter中添加請求體是json格式的接口時公壤,就踩了這個坑

添加Content-type

說到底工具只是一種手段换可,一種工具會用了,舉一反三厦幅,其他工具也不會太難沾鳄。了解原理,理解業(yè)務(wù)确憨,把握核心才是關(guān)鍵译荞。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者休弃。
  • 序言:七十年代末吞歼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子塔猾,更是在濱河造成了極大的恐慌浆熔,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桥帆,死亡現(xiàn)場離奇詭異医增,居然都是意外死亡,警方通過查閱死者的電腦和手機老虫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門叶骨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人祈匙,你說我怎么就攤上這事忽刽。” “怎么了夺欲?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵跪帝,是天一觀的道長。 經(jīng)常有香客問我些阅,道長伞剑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任市埋,我火速辦了婚禮黎泣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缤谎。我一直安慰自己抒倚,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布坷澡。 她就那樣靜靜地躺著托呕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上项郊,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天馅扣,我揣著相機與錄音,去河邊找鬼呆抑。 笑死岂嗓,一個胖子當(dāng)著我的面吹牛汁展,可吹牛的內(nèi)容都是我干的鹊碍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼食绿,長吁一口氣:“原來是場噩夢啊……” “哼侈咕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起器紧,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤耀销,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后铲汪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體熊尉,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年掌腰,在試婚紗的時候發(fā)現(xiàn)自己被綠了狰住。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡齿梁,死狀恐怖催植,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情勺择,我是刑警寧澤创南,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站省核,受9級特大地震影響稿辙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜气忠,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一邓深、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧笔刹,春花似錦芥备、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春袱瓮,著一層夾襖步出監(jiān)牢的瞬間缤骨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工尺借, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绊起,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓燎斩,卻偏偏與公主長得像虱歪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子栅表,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354