通過(guò)我之前工作項(xiàng)目中有過(guò)一些測(cè)試接口功能、性能、穩(wěn)定性的經(jīng)驗(yàn)。但是一直沒(méi)有對(duì)自己的經(jīng)驗(yàn)進(jìn)行總結(jié)。這次,結(jié)合自己之前的經(jīng)驗(yàn),然后查閱了各種網(wǎng)上的資料,以此文章簡(jiǎn)單總結(jié)下接口測(cè)試:了解什么是接口測(cè)試,接口測(cè)試如何進(jìn)行。
一、什么是接口測(cè)試
接口測(cè)試是項(xiàng)目測(cè)試的一部分,正如其名,它測(cè)試的主要對(duì)象是接口,是測(cè)試系統(tǒng)組件間接口的一種測(cè)試。
百度百科對(duì)接口測(cè)試的定義:接口測(cè)試一般會(huì)用于多系統(tǒng)間交互開(kāi)發(fā),或者擁有多個(gè)子系統(tǒng)的應(yīng)用系統(tǒng)開(kāi)發(fā)的測(cè)試。接口測(cè)試適用于為其他系統(tǒng)提供服務(wù)的底層框架系統(tǒng)和中心服務(wù)系統(tǒng),主要測(cè)試這些系統(tǒng)對(duì)外部提供的接口,驗(yàn)證其正確性和穩(wěn)定性。接口測(cè)試同樣適用于一個(gè)上層系統(tǒng)中的服務(wù)層接口,越往上層,其測(cè)試的難度越大。
一般來(lái)說(shuō)接口測(cè)試按測(cè)試對(duì)象分為兩種類(lèi)型:模塊接口測(cè)試、web接口測(cè)試;web接口測(cè)試又可以分為服務(wù)端接口測(cè)試和外部接口測(cè)試。

模塊接口測(cè)試其實(shí)就是單元測(cè)試的基礎(chǔ),適用于分別開(kāi)發(fā)一些功能模塊,數(shù)據(jù)會(huì)在這些功能模塊之間傳遞。服務(wù)端接口測(cè)試,就是測(cè)試客戶端/瀏覽器與服務(wù)端接口,一般開(kāi)發(fā)人員都分為前端開(kāi)發(fā)和后端開(kāi)發(fā),他們之間的怎么進(jìn)行接口交互,可以參考我之前的文章接口測(cè)試基礎(chǔ)-了解http請(qǐng)求。外部接口測(cè)試,其實(shí)相對(duì)而言的,這個(gè)接口不是本系統(tǒng)內(nèi)部的,而是調(diào)用的是第三方的接口,如支付寶授權(quán)登錄,需要調(diào)用支付寶授權(quán)接口。
接口測(cè)試是一種完整的測(cè)試體系,也分為接口功能測(cè)試、接口性能測(cè)試、接口穩(wěn)定性測(cè)試、接口安全性測(cè)試。
接口測(cè)試也可以分為參數(shù)測(cè)試和場(chǎng)景測(cè)試。參數(shù)測(cè)試就是對(duì)單個(gè)接口的入?yún)⒑统鰠⑦M(jìn)行詳細(xì)的測(cè)試,包括入?yún)⒛J(rèn)值、必傳項(xiàng)、非必傳項(xiàng)、業(yè)務(wù)邏輯、兼容性測(cè)試(是否兼容不同版本的前端)、錯(cuò)誤碼、異常類(lèi)型、安全加密等。場(chǎng)景測(cè)試,就是指單個(gè)接口組成的連續(xù)的場(chǎng)景,比如注冊(cè)功能,需要包括發(fā)送驗(yàn)證碼接口、注冊(cè)接口,其中注冊(cè)接口包含的功能有驗(yàn)證注冊(cè)賬號(hào)和注冊(cè)驗(yàn)證碼功能。
二、接口測(cè)試的測(cè)試流程
了解了接口測(cè)試是什么之后,怎么做接口測(cè)試呢?接口測(cè)試的流程其實(shí)和功能測(cè)試流程類(lèi)似:接口測(cè)試計(jì)劃-接口測(cè)試用例-接口測(cè)試執(zhí)行-接口測(cè)試報(bào)告。測(cè)試用例設(shè)計(jì)的依賴(lài)對(duì)象主要是需求說(shuō)明書(shū)和接口文檔。
接口測(cè)試因其不是針對(duì)普通用戶,而是針對(duì)的另外一個(gè)系統(tǒng)組件,所以不能直接測(cè)試,需要使用工具測(cè)試,比如服務(wù)端http接口測(cè)試,常用的工具有jmeter、postman、httpclient等。用工具測(cè)試,所以目標(biāo)就是準(zhǔn)備要測(cè)試數(shù)據(jù)測(cè)試腳本后直接執(zhí)行即可, 在進(jìn)行測(cè)試執(zhí)行編寫(xiě)時(shí),有如下的原則:
1.不同的接口參數(shù)覆蓋不同的業(yè)務(wù)場(chǎng)景;
2.在后臺(tái)構(gòu)造合適的數(shù)據(jù)來(lái)滿足接口的測(cè)試用例;
3.根據(jù)接口的返回值,斷言其是否返回期望結(jié)果,并查看數(shù)據(jù)庫(kù)驗(yàn)證;
4.測(cè)試用例涉及多個(gè)步驟的,應(yīng)對(duì)涉及的步驟都驗(yàn)證
5.刪除測(cè)試過(guò)程中產(chǎn)生的結(jié)果,確保每個(gè)用例執(zhí)行前都是一個(gè)清潔的環(huán)境