大多數(shù)人對(duì)于接口測(cè)試都覺(jué)得是一種高大上的測(cè)試,覺(jué)得學(xué)會(huì)接口測(cè)試就可以從小白測(cè)試員,變成了高級(jí)測(cè)試員,但其實(shí)接口測(cè)試只是測(cè)試的基礎(chǔ)內(nèi)容

什么是接口
接口泛指實(shí)體把自己提供給外界的一種抽象化物(可以為另一實(shí)體),用以由內(nèi)部操作分離出外部溝通方法,使其能被內(nèi)部修改而不影響外界其他實(shí)體與其交互的方式。
人類與電腦等信息機(jī)器或人類與程序之間的接口稱為用戶界面。電腦等信息機(jī)器硬件組件間的接口叫硬件接口。電腦等信息機(jī)器軟件組件間的接口叫軟件接口。
在計(jì)算機(jī)中,接口是計(jì)算機(jī)系統(tǒng)中兩個(gè)獨(dú)立的部件進(jìn)行信息交換的共享邊界。這種交換可以發(fā)生在計(jì)算機(jī)軟、硬件,外部設(shè)備或進(jìn)行操作的人之間,也可以是它們的結(jié)合。
接口測(cè)試主要用于外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn),定義特定的交互點(diǎn),然后通過(guò)這些交互點(diǎn)來(lái),通過(guò)一些特殊的規(guī)則也就是協(xié)議,來(lái)進(jìn)行數(shù)據(jù)之間的交互。
你要買一倆車,你不用知道車在工廠里面需要什么原理,怎么構(gòu)造模型,怎么制作,你只要到能找到窗口,給出你要買車的信號(hào),窗口返回給你一個(gè)車的相關(guān)信息的信號(hào)。接口也是這樣,你不用理解程序內(nèi)部是怎么樣的,你只要理解你給出請(qǐng)求從而得到的請(qǐng)求是正確的,即你發(fā)出A的數(shù)據(jù),必須得到B的返回,而不是C。
為什么要做接口測(cè)試
在了解為什么要接口測(cè)試之前,我們需要了解以下幾點(diǎn):1.越底層,越穩(wěn)定。2.越底層,越高效。3.越底層,越低成本。4.越底層,越難實(shí)施。
接口測(cè)試測(cè)試系統(tǒng)組件間接口的一種測(cè)試。接口測(cè)試主要用于檢測(cè)外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。測(cè)試的重點(diǎn)是要檢查數(shù)據(jù)的交換,傳遞和控制管理過(guò)程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。就如同之前的買車時(shí),我們需要確定你給出的是買車信號(hào),返回的是相關(guān)車輛信息,而不是買房信息。
接口測(cè)試的模板

接口的構(gòu)成

請(qǐng)求協(xié)議
http — 普通的http請(qǐng)求,默認(rèn)端口為80
https — 加密的http請(qǐng)求,傳輸數(shù)據(jù)更加安全,默認(rèn)端口為443
ftp — 文件傳輸協(xié)議,主要用來(lái)傳輸文件,默認(rèn)端口為21
請(qǐng)求IP:就是指提供接口的系統(tǒng)所部署的服務(wù)器地址,可以是直接的IP地址,也可以是域名
請(qǐng)求端口:如果不填端口,都是默認(rèn)端口,否則需要填寫(xiě)端口號(hào)
接口路徑:指系統(tǒng)提供的接口在什么位置
接口參數(shù):參數(shù)在接口路徑后,用“?”來(lái)表示路徑地址完了,剩下的都是參數(shù)了,用“&”來(lái)區(qū)分參數(shù)個(gè)數(shù)
http中的常用請(qǐng)求方式
這個(gè)請(qǐng)求方式,作為一位測(cè)試人員,不需要擔(dān)心不知道該項(xiàng)目請(qǐng)求方式是什么,一般情況是在開(kāi)發(fā)文檔中有具體的說(shuō)明請(qǐng)求方式是什么,不過(guò)我們有時(shí)候需要有自我的判斷這個(gè)地方用什么接口合適,比如輸入密碼的地方一定要用post方法,絕對(duì)不能用get的方法。
序號(hào) 方法 描述
1 GET 請(qǐng)求指定的頁(yè)面信息,并返回實(shí)體主體。
2 HEAD 類似于get請(qǐng)求,只不過(guò)返回的響應(yīng)中沒(méi)有具體的內(nèi)容,用于獲取報(bào)頭
3 POST 向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請(qǐng)求體中。POST請(qǐng)求可能會(huì)導(dǎo)致新的資源的建立和/或已有資源的修改。
4 PUT 從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容。
5 DELETE 請(qǐng)求服務(wù)器刪除指定的頁(yè)面。
6 CONNECT HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。
7 OPTIONS 允許客戶端查看服務(wù)器的性能。
8 TRACE 回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷。
9 PATCH 實(shí)體中包含一個(gè)表,表中說(shuō)明與該URI所表示的原內(nèi)容的區(qū)別。
10 MOVE 請(qǐng)求服務(wù)器將指定的頁(yè)面移至另一個(gè)網(wǎng)絡(luò)地址。
11 COPY 請(qǐng)求服務(wù)器將指定的頁(yè)面拷貝至另一個(gè)網(wǎng)絡(luò)地址。
12 LINK 請(qǐng)求服務(wù)器建立鏈接關(guān)系。
13 UNLINK 斷開(kāi)鏈接關(guān)系。
14 WRAPPED 允許客戶端發(fā)送經(jīng)過(guò)封裝的請(qǐng)求。
15 Extension-mothed 在不改動(dòng)協(xié)議的前提下,可增加另外的方法。
接口測(cè)試的重點(diǎn)
目的:測(cè)試接口的正確性和穩(wěn)定性;
原理:模擬客戶端向服務(wù)器發(fā)送請(qǐng)求報(bào)文,服務(wù)器接收請(qǐng)求報(bào)文后對(duì)相應(yīng)的報(bào)文做處理并向客戶端返回應(yīng)答,客戶端接收應(yīng)答的過(guò)程;
重點(diǎn):檢查數(shù)據(jù)的交換,傳遞和控制管理過(guò)程,還包括處理的次數(shù);
核心:持續(xù)集成是接口測(cè)試的核心;
優(yōu)點(diǎn):為高復(fù)雜性的平臺(tái)帶來(lái)高效的缺陷監(jiān)測(cè)和質(zhì)量監(jiān)督能力,平臺(tái)越復(fù)雜,系統(tǒng)越龐大,接口測(cè)試的效果越明顯(提高測(cè)試效率,提升用戶體驗(yàn),降低研發(fā)成本);
用例設(shè)計(jì)重點(diǎn):通常情況下主要測(cè)試最外層的兩類接口:數(shù)據(jù)進(jìn)入系統(tǒng)接口(調(diào)用外部系統(tǒng)的參數(shù)為本系統(tǒng)使用)和數(shù)據(jù)流出系統(tǒng)接口(驗(yàn)證系統(tǒng)處理后的數(shù)據(jù)是否正常);
接口測(cè)試質(zhì)量評(píng)估標(biāo)準(zhǔn);
業(yè)務(wù)功能覆蓋是否完整;
業(yè)務(wù)規(guī)則覆蓋是否完整;
參數(shù)驗(yàn)證是否達(dá)到要求(邊界、業(yè)務(wù)規(guī)則);
接口異常場(chǎng)景覆蓋是否完整;
接口覆蓋率是否達(dá)到要求;
代碼覆蓋率是否達(dá)到要求;
性能指標(biāo)是否滿足要求;
安全指標(biāo)是否滿足要求;
接口模擬測(cè)試
接口:https://api.apiopen.top/getWangYiNews
請(qǐng)求類型:POST
在線測(cè)試:https://www.sojson.com/httpRequest/
軟件測(cè)試:postman、jemter(這兩個(gè)后期出專門(mén)的使用教程)
1、輸入相應(yīng)的數(shù)據(jù)

2、獲取的數(shù)據(jù)進(jìn)行分析
這一塊是表頭,一般情況不需要特別記住,只要了解就可以了,注意返回的狀態(tài)碼是否是正確的,有一些時(shí)候需要注意加載的時(shí)間

這一塊內(nèi)容為表主體,也就是我們查看返回的數(shù)據(jù)是否正確。

HTTP狀態(tài)碼列表
狀態(tài)碼 狀態(tài)碼英文名稱 中文描述
100 Continue 繼續(xù)??蛻舳藨?yīng)繼續(xù)其請(qǐng)求
101 Switching Protocols 切換協(xié)議。服務(wù)器根據(jù)客戶端的請(qǐng)求切換協(xié)議。只能切換到更高級(jí)的協(xié)議,例如,切換到HTTP的新版本協(xié)議
200 OK 請(qǐng)求成功。一般用于GET與POST請(qǐng)求
201 Created 已創(chuàng)建。成功請(qǐng)求并創(chuàng)建了新的資源
202 Accepted 已接受。已經(jīng)接受請(qǐng)求,但未處理完成
203 Non-Authoritative Information 非授權(quán)信息。請(qǐng)求成功。但返回的meta信息不在原始的服務(wù)器,而是一個(gè)副本
204 No Content 無(wú)內(nèi)容。服務(wù)器成功處理,但未返回內(nèi)容。在未更新網(wǎng)頁(yè)的情況下,可確保瀏覽器繼續(xù)顯示當(dāng)前文檔
205 Reset Content 重置內(nèi)容。服務(wù)器處理成功,用戶終端(例如:瀏覽器)應(yīng)重置文檔視圖??赏ㄟ^(guò)此返回碼清除瀏覽器的表單域
206 Partial Content 部分內(nèi)容。服務(wù)器成功處理了部分GET請(qǐng)求
300 Multiple Choices 多種選擇。請(qǐng)求的資源可包括多個(gè)位置,相應(yīng)可返回一個(gè)資源特征與地址的列表用于用戶終端(例如:瀏覽器)選擇
301 Moved Permanently 永久移動(dòng)。請(qǐng)求的資源已被永久的移動(dòng)到新URI,返回信息會(huì)包括新的URI,瀏覽器會(huì)自動(dòng)定向到新URI。今后任何新的請(qǐng)求都應(yīng)使用新的URI代替
302 Found 臨時(shí)移動(dòng)。與301類似。但資源只是臨時(shí)被移動(dòng)。客戶端應(yīng)繼續(xù)使用原有URI
303 See Other 查看其它地址。與301類似。使用GET和POST請(qǐng)求查看
304 Not Modified 未修改。所請(qǐng)求的資源未修改,服務(wù)器返回此狀態(tài)碼時(shí),不會(huì)返回任何資源。客戶端通常會(huì)緩存訪問(wèn)過(guò)的資源,通過(guò)提供一個(gè)頭信息指出客戶端希望只返回在指定日期之后修改的資源
305 Use Proxy 使用代理。所請(qǐng)求的資源必須通過(guò)代理訪問(wèn)
306 Unused 已經(jīng)被廢棄的HTTP狀態(tài)碼
307 Temporary Redirect 臨時(shí)重定向。與302類似。使用GET請(qǐng)求重定向
400 Bad Request 客戶端請(qǐng)求的語(yǔ)法錯(cuò)誤,服務(wù)器無(wú)法理解
401 Unauthorized 請(qǐng)求要求用戶的身份認(rèn)證
402 Payment Required 保留,將來(lái)使用
403 Forbidden 服務(wù)器理解請(qǐng)求客戶端的請(qǐng)求,但是拒絕執(zhí)行此請(qǐng)求
404 Not Found 服務(wù)器無(wú)法根據(jù)客戶端的請(qǐng)求找到資源(網(wǎng)頁(yè))。通過(guò)此代碼,網(wǎng)站設(shè)計(jì)人員可設(shè)置"您所請(qǐng)求的資源無(wú)法找到"的個(gè)性頁(yè)面
405 Method Not Allowed 客戶端請(qǐng)求中的方法被禁止
406 Not Acceptable 服務(wù)器無(wú)法根據(jù)客戶端請(qǐng)求的內(nèi)容特性完成請(qǐng)求
407 Proxy Authentication Required 請(qǐng)求要求代理的身份認(rèn)證,與401類似,但請(qǐng)求者應(yīng)當(dāng)使用代理進(jìn)行授權(quán)
408 Request Time-out 服務(wù)器等待客戶端發(fā)送的請(qǐng)求時(shí)間過(guò)長(zhǎng),超時(shí)
409 Conflict 服務(wù)器完成客戶端的 PUT 請(qǐng)求時(shí)可能返回此代碼,服務(wù)器處理請(qǐng)求時(shí)發(fā)生了沖突
410 Gone 客戶端請(qǐng)求的資源已經(jīng)不存在。410不同于404,如果資源以前有現(xiàn)在被永久刪除了可使用410代碼,網(wǎng)站設(shè)計(jì)人員可通過(guò)301代碼指定資源的新位置
411 Length Required 服務(wù)器無(wú)法處理客戶端發(fā)送的不帶Content-Length的請(qǐng)求信息
412 Precondition Failed 客戶端請(qǐng)求信息的先決條件錯(cuò)誤
413 Request Entity Too Large 由于請(qǐng)求的實(shí)體過(guò)大,服務(wù)器無(wú)法處理,因此拒絕請(qǐng)求。為防止客戶端的連續(xù)請(qǐng)求,服務(wù)器可能會(huì)關(guān)閉連接。如果只是服務(wù)器暫時(shí)無(wú)法處理,則會(huì)包含一個(gè)Retry-After的響應(yīng)信息
414 Request-URI Too Large 請(qǐng)求的URI過(guò)長(zhǎng)(URI通常為網(wǎng)址),服務(wù)器無(wú)法處理
415 Unsupported Media Type 服務(wù)器無(wú)法處理請(qǐng)求附帶的媒體格式
416 Requested range not satisfiable 客戶端請(qǐng)求的范圍無(wú)效
417 Expectation Failed 服務(wù)器無(wú)法滿足Expect的請(qǐng)求頭信息
500 Internal Server Error 服務(wù)器內(nèi)部錯(cuò)誤,無(wú)法完成請(qǐng)求
501 Not Implemented 服務(wù)器不支持請(qǐng)求的功能,無(wú)法完成請(qǐng)求
502 Bad Gateway 作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請(qǐng)求時(shí),從遠(yuǎn)程服務(wù)器接收到了一個(gè)無(wú)效的響應(yīng)
503 Service Unavailable 由于超載或系統(tǒng)維護(hù),服務(wù)器暫時(shí)的無(wú)法處理客戶端的請(qǐng)求。延時(shí)的長(zhǎng)度可包含在服務(wù)器的Retry-After頭信息中
504 Gateway Time-out 充當(dāng)網(wǎng)關(guān)或代理的服務(wù)器,未及時(shí)從遠(yuǎn)端服務(wù)器獲取請(qǐng)求
505 HTTP Version not supported 服務(wù)器不支持
如果對(duì)軟件測(cè)試、接口測(cè)試、自動(dòng)化測(cè)試、IT(測(cè)試、開(kāi)發(fā))行業(yè)資訊、持續(xù)集成、面試經(jīng)驗(yàn)交流??次覀€(gè)簽,有50G資源免費(fèi)提供下載,資源收集公???號(hào)