🍅 視頻學習:文末有免費的配套視頻可觀看
🍅?關注公眾號【互聯網雜貨鋪】,回復 1?,免費獲取軟件測試全套資料,資料在手,漲薪更快
大多數人對于接口測試都覺得是一種高大上的測試,覺得學會接口測試就可以從小白測試員,變成了高級測試員,但其實接口測試只是測試的基礎內容
什么是接口?
接口泛指實體把自己提供給外界的一種抽象化物(可以為另一實體),用以由內部操作分離出外部溝通方法,使其能被內部修改而不影響外界其他實體與其交互的方式。
人類與電腦等信息機器或人類與程序之間的接口稱為用戶界面。電腦等信息機器硬件組件間的接口叫硬件接口。電腦等信息機器軟件組件間的接口叫軟件接口。
在計算機中,接口是計算機系統中兩個獨立的部件進行信息交換的共享邊界。這種交換可以發生在計算機軟、硬件,外部設備或進行操作的人之間,也可以是它們的結合。
接口測試主要用于外部系統與系統之間以及內部各個子系統之間的交互點,定義特定的交互點,然后通過這些交互點來,通過一些特殊的規則也就是協議,來進行數據之間的交互。
你要買一倆車,你不用知道車在工廠里面需要什么原理,怎么構造模型,怎么制作,你只要到能找到窗口,給出你要買車的信號,窗口返回給你一個車的相關信息的信號。接口也是這樣,你不用理解程序內部是怎么樣的,你只要理解你給出請求從而得到的請求是正確的,即你發出A的數據,必須得到B的返回,而不是C。
為什么要做接口測試?
在了解為什么要接口測試之前,我們需要了解以下幾點:1.越底層,越穩定。2.越底層,越高效。3.越底層,越低成本。4.越底層,越難實施。
接口測試測試系統組件間接口的一種測試。接口測試主要用于檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。就如同之前的買車時,我們需要確定你給出的是買車信號,返回的是相關車輛信息,而不是買房信息。
?
接口測試的模板
請求協議:
http — 普通的http請求,默認端口為80
https — 加密的http請求,傳輸數據更加安全,默認端口為443
ftp — 文件傳輸協議,主要用來傳輸文件,默認端口為21
請求IP:就是指提供接口的系統所部署的服務器地址,可以是直接的IP地址,也可以是域名
請求端口:如果不填端口,都是默認端口,否則需要填寫端口號
接口路徑:指系統提供的接口在什么位置
接口參數:參數在接口路徑后,用“?”來表示路徑地址完了,剩下的都是參數了,用“&”來區分參數個數
http中的常用請求方式
這個請求方式,作為一位測試人員,不需要擔心不知道該項目請求方式是什么,一般情況是在開發文檔中有具體的說明請求方式是什么,不過我們有時候需要有自我的判斷這個地方用什么接口合適,比如輸入密碼的地方一定要用post方法,絕對不能用get的方法。
序號 方法 描述
1 GET 請求指定的頁面信息,并返回實體主體。2 HEAD 類似于get請求,只不過返回的響應中沒有具體的內容,用于獲取報頭3 POST 向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會導致新的資源的建立和/或已有資源的修改。4 PUT 從客戶端向服務器傳送的數據取代指定的文檔的內容。5 DELETE 請求服務器刪除指定的頁面。6 CONNECT HTTP/1.1協議中預留給能夠將連接改為管道方式的代理服務器。7 OPTIONS 允許客戶端查看服務器的性能。8 TRACE 回顯服務器收到的請求,主要用于測試或診斷。9 PATCH 實體中包含一個表,表中說明與該URI所表示的原內容的區別。10 MOVE 請求服務器將指定的頁面移至另一個網絡地址。11 COPY 請求服務器將指定的頁面拷貝至另一個網絡地址。12 LINK 請求服務器建立鏈接關系。13 UNLINK 斷開鏈接關系。14 WRAPPED 允許客戶端發送經過封裝的請求。15 Extension-mothed 在不改動協議的前提下,可增加另外的方法。
接口測試的重點
目的:測試接口的正確性和穩定性;
原理:模擬客戶端向服務器發送請求報文,服務器接收請求報文后對相應的報文做處理并向客戶端返回應答,客戶端接收應答的過程;
重點:檢查數據的交換,傳遞和控制管理過程,還包括處理的次數;
核心:持續集成是接口測試的核心;
優點:為高復雜性的平臺帶來高效的缺陷監測和質量監督能力,平臺越復雜,系統越龐大,接口測試的效果越明顯(提高測試效率,提升用戶體驗,降低研發成本);
用例設計重點:通常情況下主要測試最外層的兩類接口:數據進入系統接口(調用外部系統的參數為本系統使用)和數據流出系統接口(驗證系統處理后的數據是否正常);
接口測試質量評估標準
- 業務功能覆蓋是否完整
- 業務規則覆蓋是否完整
- 參數驗證是否達到要求(邊界、業務規則)
- 接口異常場景覆蓋是否完整
- 接口覆蓋率是否達到要求
- 代碼覆蓋率是否達到要求
- 性能指標是否滿足要求
- 安全指標是否滿足要求
接口模擬測試
接口:https://api.apiopen.top/getWangYiNews
請求類型:POST
在線測試:https://www.sojson.com/httpRequest/
軟件測試:postman、jemter(這兩個后期出專門的使用教程)
1、輸入相應的數據
2、獲取的數據進行分析
這一塊是表頭,一般情況不需要特別記住,只要了解就可以了,注意返回的狀態碼是否是正確的,有一些時候需要注意加載的時間
這一塊內容為表主體,也就是我們查看返回的數據是否正確。

HTTP狀態碼列表
狀態碼 狀態碼英文名稱 中文描述
100 Continue 繼續。客戶端應繼續其請求
101 Switching Protocols 切換協議。服務器根據客戶端的請求切換協議。只能切換到更高級的協議,例如,切換到HTTP的新版本協議200 OK 請求成功。一般用于GET與POST請求
201 Created 已創建。成功請求并創建了新的資源
202 Accepted 已接受。已經接受請求,但未處理完成
203 Non-Authoritative Information 非授權信息。請求成功。但返回的meta信息不在原始的服務器,而是一個副本
204 No Content 無內容。服務器成功處理,但未返回內容。在未更新網頁的情況下,可確保瀏覽器繼續顯示當前文檔
205 Reset Content 重置內容。服務器處理成功,用戶終端(例如:瀏覽器)應重置文檔視圖。可通過此返回碼清除瀏覽器的表單域
206 Partial Content 部分內容。服務器成功處理了部分GET請求300 Multiple Choices 多種選擇。請求的資源可包括多個位置,相應可返回一個資源特征與地址的列表用于用戶終端(例如:瀏覽器)選擇
301 Moved Permanently 永久移動。請求的資源已被永久的移動到新URI,返回信息會包括新的URI,瀏覽器會自動定向到新URI。今后任何新的請求都應使用新的URI代替
302 Found 臨時移動。與301類似。但資源只是臨時被移動。客戶端應繼續使用原有URI
303 See Other 查看其它地址。與301類似。使用GET和POST請求查看
304 Not Modified 未修改。所請求的資源未修改,服務器返回此狀態碼時,不會返回任何資源。客戶端通常會緩存訪問過的資源,通過提供一個頭信息指出客戶端希望只返回在指定日期之后修改的資源
305 Use Proxy 使用代理。所請求的資源必須通過代理訪問
306 Unused 已經被廢棄的HTTP狀態碼
307 Temporary Redirect 臨時重定向。與302類似。使用GET請求重定向400 Bad Request 客戶端請求的語法錯誤,服務器無法理解
401 Unauthorized 請求要求用戶的身份認證
402 Payment Required 保留,將來使用
403 Forbidden 服務器理解請求客戶端的請求,但是拒絕執行此請求
404 Not Found 服務器無法根據客戶端的請求找到資源(網頁)。通過此代碼,網站設計人員可設置"您所請求的資源無法找到"的個性頁面
405 Method Not Allowed 客戶端請求中的方法被禁止
406 Not Acceptable 服務器無法根據客戶端請求的內容特性完成請求
407 Proxy Authentication Required 請求要求代理的身份認證,與401類似,但請求者應當使用代理進行授權
408 Request Time-out 服務器等待客戶端發送的請求時間過長,超時
409 Conflict 服務器完成客戶端的 PUT 請求時可能返回此代碼,服務器處理請求時發生了沖突
410 Gone 客戶端請求的資源已經不存在。410不同于404,如果資源以前有現在被永久刪除了可使用410代碼,網站設計人員可通過301代碼指定資源的新位置
411 Length Required 服務器無法處理客戶端發送的不帶Content-Length的請求信息
412 Precondition Failed 客戶端請求信息的先決條件錯誤
413 Request Entity Too Large 由于請求的實體過大,服務器無法處理,因此拒絕請求。為防止客戶端的連續請求,服務器可能會關閉連接。如果只是服務器暫時無法處理,則會包含一個Retry-After的響應信息
414 Request-URI Too Large 請求的URI過長(URI通常為網址),服務器無法處理
415 Unsupported Media Type 服務器無法處理請求附帶的媒體格式
416 Requested range not satisfiable 客戶端請求的范圍無效
417 Expectation Failed 服務器無法滿足Expect的請求頭信息500 Internal Server Error 服務器內部錯誤,無法完成請求
501 Not Implemented 服務器不支持請求的功能,無法完成請求
502 Bad Gateway 作為網關或者代理工作的服務器嘗試執行請求時,從遠程服務器接收到了一個無效的響應
503 Service Unavailable 由于超載或系統維護,服務器暫時的無法處理客戶端的請求。延時的長度可包含在服務器的Retry-After頭信息中
504 Gateway Time-out 充當網關或代理的服務器,未及時從遠端服務器獲取請求
505 HTTP Version not supported 服務器不支持請
如果文章對你有幫助,麻煩伸出發財小手點個贊,感謝您的支持,你的點贊是我持續更新的動力。
同時,在這我為大家準備了一份軟件測試視頻教程(含面試、接口、自動化、性能測試等),就在下方,需要的可以直接去觀看,也可以直接【點擊文末小卡片免費領取資料文檔】
B站強推!建議所有想學自動化測試的,死磕這個視頻,2024年字節最新內部教程,全程干貨無廢話!