一、什么是接口測(cè)試
我們要想知道接口測(cè)試怎么做,首先要明白接口測(cè)試是什么?一般像系統(tǒng)內(nèi)的組件接口數(shù)據(jù)交互測(cè)試、不同系統(tǒng)與系統(tǒng)之間的接口數(shù)據(jù)交互測(cè)試等,我們都可以稱之為接口測(cè)試 !
那么接口測(cè)試是怎么來(lái)測(cè)試接口的呢?
接口測(cè)試就是通過接口的不同情況下的輸入和與之對(duì)用的輸出之間的關(guān)系,看看是否滿足接口規(guī)范所規(guī)定的功能性、安全性以及性能方面的要求.
簡(jiǎn)單的說(shuō):“接口測(cè)試是就是在沒有前端頁(yè)面或者前端還沒完成的情況下,代替前端頁(yè)面或者第三方使用者,來(lái)驗(yàn)證后端的接口實(shí)現(xiàn)是否符合接口規(guī)范。”
二、接口測(cè)試的好處
通過接口測(cè)試,我們可以測(cè)試出接口的穩(wěn)定和正確性, 可以拋開前端的影響,迅速定位到后端的缺陷,提升測(cè)試的效率.
通過接口測(cè)試, 可以為項(xiàng)目帶來(lái)高效的缺陷監(jiān)測(cè)和管理能力,可以提到軟件的整體質(zhì)量;
項(xiàng)目越復(fù)雜,系統(tǒng)越龐大,接口測(cè)試使用的越頻繁的效果越明顯
三、接口測(cè)試的原理
通過模擬客戶端 or Web瀏覽器向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器接收請(qǐng)求后對(duì)接收到的數(shù)據(jù)做處理,同時(shí)向客戶端返回應(yīng)答,我們模擬的客戶端,接收到返回的數(shù)據(jù)后再對(duì)數(shù)據(jù)進(jìn)行判斷 ,如何判斷呢?
1、判斷請(qǐng)求: 是否正確, 系統(tǒng)默認(rèn)的請(qǐng)求成功,會(huì)返回200狀態(tài)碼, 假如請(qǐng)求錯(cuò)誤返回400, 404, 500等狀態(tài)碼
2、判斷數(shù)據(jù): 返回?cái)?shù)據(jù)的正確性與完整性
3、判斷安全性: 接口一般不會(huì)隨意暴露在網(wǎng)上被其他人任意調(diào)用,一般我們會(huì)對(duì)接口做出一些限制,比如請(qǐng)求次數(shù)、請(qǐng)求頻率限制等等
簡(jiǎn)單來(lái)說(shuō):找個(gè)能聯(lián)網(wǎng)的工具根據(jù)接口文檔,向接口服務(wù)器發(fā)送請(qǐng)求,獲取響應(yīng),檢查響應(yīng)是否符合接口文檔的規(guī)范

四、接口測(cè)試測(cè)試工具
接口測(cè)試需要模擬客戶端發(fā)送請(qǐng)求獲取響應(yīng),所以我們就需要一個(gè)能夠發(fā)送請(qǐng)求獲取響應(yīng)的工具,也就是聯(lián)網(wǎng)工具:
通過工具來(lái)進(jìn)行接口測(cè)試
最知名的就是postman,當(dāng)然還有restclient之類的 。當(dāng)然也可以用jmeter,jmeter也可以用來(lái)做接口性能測(cè)試,當(dāng)然我們也可以通過編寫腳本(代碼)進(jìn)行接口測(cè)試。
一般我們使用python語(yǔ)言中最流行的聯(lián)網(wǎng)庫(kù)requests !
五、如何做好接口測(cè)試
接口測(cè)試要遵循一些要點(diǎn):
測(cè)試接口的功能實(shí)現(xiàn). 檢查不同參數(shù)的數(shù)據(jù)請(qǐng)求時(shí),接口返回的數(shù)據(jù)與預(yù)期結(jié)果也就是接口文檔的規(guī)范的一致性.
測(cè)試接口的健壯性(容錯(cuò)性), 比如說(shuō)傳遞的數(shù)據(jù)類型是錯(cuò)誤或者傳遞空數(shù)據(jù),特殊字符等與接口規(guī)范不符的能否正常處理.
測(cè)試接口參數(shù)的邊界值. 比如說(shuō)傳遞的數(shù)據(jù)超出了接口規(guī)范的規(guī)定的范圍,或者數(shù)據(jù)足夠大或者為負(fù)數(shù)時(shí)能否正常處理
測(cè)試接口的性能, 接口處理和響應(yīng)數(shù)據(jù)的時(shí)間,并發(fā)性等等, 當(dāng)然這牽扯到代碼實(shí)現(xiàn)的優(yōu)化,需要與開發(fā)人員溝通
測(cè)試接口的安全性.比如登錄的用戶名密碼等敏感數(shù)據(jù)是否明文顯示,需要權(quán)限的接口是否暴露在外面

六、接口測(cè)試流程
1、分析接口文檔和需求文檔
分析接口文檔或者需求文檔一般會(huì)去找測(cè)試點(diǎn),那么接口測(cè)試的測(cè)試點(diǎn)我們一般從幾種方向去找
· 功能性測(cè)試點(diǎn) · 性能測(cè)試點(diǎn) · 安全性測(cè)試點(diǎn)
2、編寫接口測(cè)試計(jì)劃
測(cè)試計(jì)劃就是功能測(cè)試計(jì)劃基本一樣就是知名的5w1h了
1) why——為什么要進(jìn)行接口測(cè)試; 2) what—測(cè)試接口包括哪些; 3) when—測(cè)試接口不同階段的起止時(shí)間; 4) where—相應(yīng)接口文檔,接口缺陷的存放位置,測(cè)試環(huán)境等; 5) who—項(xiàng)目有關(guān)人員組成,哪些接口分配給哪些人; 6) how—使用哪些測(cè)試工具以及測(cè)試方法進(jìn)行測(cè)試。
3、編寫接口測(cè)試用例
測(cè)試用例就是根據(jù)具體的哪個(gè)接口來(lái)編寫,一般會(huì)分為單接口和多接口兩種場(chǎng)景來(lái)編寫測(cè)試用例
1) 單接口場(chǎng)景的測(cè)試
正向數(shù)據(jù):也就是能正常發(fā)送請(qǐng)求,正常獲取響應(yīng)的數(shù)據(jù),一般我們從三個(gè)方面去組織:
所有必填參數(shù)
全部參數(shù)(必填參數(shù)+選填參數(shù))
參數(shù)組合(必填參數(shù)+某些選填參數(shù))
反向測(cè)試:用不屬于規(guī)定范圍的數(shù)據(jù)區(qū)發(fā)送請(qǐng)求檢查服務(wù)器能否正常處理
異常數(shù)據(jù):數(shù)據(jù)為空,長(zhǎng)度過多或者過少(邊界值外),類型不符(需要數(shù)字類型傳遞str類型),錯(cuò)誤的數(shù)據(jù)
異常的參數(shù):不傳參數(shù),少傳參數(shù),多傳參數(shù),傳遞錯(cuò)誤的參數(shù)
異常的業(yè)務(wù)數(shù)據(jù):結(jié)合業(yè)務(wù)功能考慮輸出的各種異常返回情況
2) 多接口場(chǎng)景的測(cè)試
業(yè)務(wù)場(chǎng)景功能測(cè)試(站在用戶角度考慮常用的使用場(chǎng)景)
多業(yè)務(wù)場(chǎng)景功能測(cè)試主要是測(cè)試接口之間數(shù)據(jù)依賴
4、接口測(cè)試執(zhí)行
根據(jù)設(shè)計(jì)的測(cè)試用例就可以執(zhí)行測(cè)試用例當(dāng)然執(zhí)行的方式有幾種
1. 使用postman之類的工具,一個(gè)一個(gè)進(jìn)行測(cè)試,這種方式我們叫做手工測(cè)試
2. 使用jmeter之類的有自動(dòng)化功能方式進(jìn)行測(cè)試,這種叫做工具自動(dòng)化測(cè)試
3. 我們可以自己編寫測(cè)試腳本,使用測(cè)試腳本自動(dòng)加載測(cè)試,這種就是自動(dòng)化測(cè)試了
5、生成接口測(cè)試報(bào)告。
測(cè)試完成了以后就可以生成測(cè)試報(bào)告了
接口測(cè)試流程

如果你想學(xué)習(xí)自動(dòng)化測(cè)試、性能測(cè)試、測(cè)試開發(fā),但是自己又非常的迷茫,沒有思路又怕耽誤時(shí)間,那么你可以找我。我非常愿意將自己從業(yè)10年的經(jīng)驗(yàn)傳授給你,也愿意將自己獨(dú)家的核心教程免費(fèi)贈(zèng)送。
