接口測(cè)試用例編寫和測(cè)試關(guān)注點(diǎn)
一、為什么要做接口測(cè)試
在日常開發(fā)過程中,有人做前端開發(fā),有人負(fù)責(zé)后端開發(fā)。接口就是連接前后臺(tái),由于前端開發(fā)和后端開發(fā)的速度可能不一樣,例如后端開發(fā)好了,但是前端沒有開發(fā)。那么我們是不是就不需要測(cè)試呢?一般我們大部分人都是做功能測(cè)試,很多是界面的功能測(cè)試。如果你理解了接口測(cè)試,那么你就可以針對(duì)接口進(jìn)行測(cè)試。
二、什么是接口、什么是接口測(cè)試
接口:主要是子模塊或者子系統(tǒng)間交互并相互作用的部分。
這里說的接口是廣義的,客戶端與后臺(tái)服務(wù)間的協(xié)議;插件間通信的接口;模塊間的接口;再小到一個(gè)類提供的方法;都可以理解為接口。
接口測(cè)試:是指針對(duì)模塊或系統(tǒng)間接口進(jìn)行的測(cè)試。
三、接口測(cè)試流程
需求討論,需求評(píng)審,場(chǎng)景設(shè)計(jì),編寫用列,準(zhǔn)備數(shù)據(jù),執(zhí)行測(cè)試
四、接口測(cè)試用例設(shè)計(jì)
1接口測(cè)試的用例設(shè)計(jì),主要從輸入和接口處理兩方面考慮:
1)針對(duì)輸入,可按照參數(shù)類型進(jìn)行設(shè)計(jì);
2)針對(duì)接口處理,可按照邏輯進(jìn)行用例設(shè)計(jì);
3)針對(duì)輸出,可根據(jù)結(jié)果進(jìn)行分析設(shè)計(jì)。
2針對(duì)輸入設(shè)計(jì)
對(duì)于接口來說,輸入就是入?yún)ⅰ3R妳?shù)類型有:
(1)數(shù)值型(int,long,float,double等)
(2)字符串類型
(3)數(shù)組或鏈表
(4)結(jié)構(gòu)體
五.怎么進(jìn)行接口測(cè)試
通過工具模擬客戶端向服務(wù)端發(fā)送請(qǐng)求并接受服務(wù)器返回的數(shù)據(jù)來對(duì)接口的功能,邏輯業(yè)務(wù),異常,安全進(jìn)行測(cè)試
功能測(cè)試:測(cè)試這個(gè)接口的功能是否實(shí)現(xiàn),并且測(cè)試這個(gè)接口是否按照接口文檔來進(jìn)行開發(fā)的(比如說接口文檔規(guī)定了一些關(guān)鍵字,而開大的時(shí)候把關(guān)鍵字改成了其他的關(guān)鍵字,因?yàn)樵谡麄€(gè)項(xiàng)目周期,并不只有一個(gè)開發(fā)而是有多個(gè),所以可能因?yàn)樵陂_發(fā)過程中因?yàn)殛P(guān)鍵字不一樣導(dǎo)致某些開發(fā)的功能異常,還有自動(dòng)化腳本也會(huì)發(fā)生異常)
邏輯業(yè)務(wù),主要指的是一些邏輯業(yè)務(wù)依賴關(guān)系(比如支付寶提交訂單的時(shí)候要保證你是在登錄的情況下,如果你沒有登錄而提交成功了,這就是異常,可以修改請(qǐng)求的cookie來測(cè)試)
異常測(cè)試:參數(shù)異常:關(guān)鍵字參數(shù)(應(yīng)用其他的關(guān)鍵字替換進(jìn)行測(cè)試)、參數(shù)為空、參數(shù)多少(通過添加參數(shù)增添個(gè)數(shù)),參數(shù)錯(cuò)誤。數(shù)據(jù)異常:關(guān)鍵字?jǐn)?shù)據(jù)(填入的數(shù)據(jù)用其他的數(shù)據(jù)語(yǔ)言的數(shù)據(jù)替用)、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)為空、數(shù)據(jù)錯(cuò)誤。
由于我們項(xiàng)目前后端調(diào)用主要是基于http協(xié)議的接口,所以測(cè)試接口時(shí)主要是通過工具或代碼模擬http請(qǐng)求的發(fā)送與接收。工具有很多如:apipost、jmeter、java+httpclient、robotframework+httplibrary等。
–也可以用 接口自動(dòng)化來實(shí)現(xiàn),就是用代碼實(shí)現(xiàn),框架和UI自動(dòng)化差不多,發(fā)送請(qǐng)求用斷言來判斷。
六、接口測(cè)試需要用到的工具
接口測(cè)試常用的工具,fiddler抓取請(qǐng)求,apipost模擬客戶端通過對(duì)fiddler抓取的請(qǐng)求修改并發(fā)送到服務(wù)端并接收服務(wù)器返回的數(shù)據(jù)及異常來進(jìn)行驗(yàn)證接口。工具不是固定的,需要根據(jù)項(xiàng)目來進(jìn)行選擇。

七、接口測(cè)試發(fā)現(xiàn)的典型問題
接口測(cè)試經(jīng)常遇到的bug和問題,如下:
(1)傳入?yún)?shù)處理不當(dāng),導(dǎo)致程序crash;
(2)類型溢出,導(dǎo)致數(shù)據(jù)讀出和寫入不一致;
(3)因?qū)ο髾?quán)限未進(jìn)行校驗(yàn),可以訪問其他用戶敏感信息;
(4)狀態(tài)處理不當(dāng),導(dǎo)致邏輯出現(xiàn)錯(cuò)亂;
(5)邏輯校驗(yàn)不完善,可利用漏洞獲取非正當(dāng)利益等。
工具下載鏈接:https://www.apipost.cn/
