看了不少文章,就這篇說明白了什麼是接口測試(含視頻教程)

接口(API)是一個簡稱,全名叫應用程序編程接口(Application Programming Interface),是一些預先定義的函數。目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工做機制的細節。前端

工做中的接口如打電話的按鍵,電梯中的樓層按鍵,開車時腳踩油門,接口就是一個位於複雜系統之上而且能簡化你的任務,它就像一箇中間人讓你不須要了解詳細的全部細節,咱們今天要講的Web API就是這麼一類東西。面試

例如百度搜索,它提供了搜索接口,簡化了你的搜索任務數據庫

越底層發現bug,它的修復成本是越低的,接口屬於金字塔模型 的中間層,屬於收益產出比最高的編程

金字塔模型後端

前端隨便變,接口測好了,後端不用變安全

檢查系統的安全性,穩定性服務器

系統複雜度上升,傳統測試方法成本加大,效率下降,接口能夠 解決這個問題網絡

先後端框架分離,從安全層面說架構

只依賴前端進行驗證已經不能知足安全的需求,由於繞過前 端太容易,要對接口作控制,作相應的校驗框架

先後端傳輸,日誌打印等信息是否加密傳輸也是須要驗證的,特別是密碼,身份證,銀行卡信息等。

接口測試的原理是什麼呢?

測試人員能夠藉助工具模擬客戶端向服務器端發送請求報文,服務器端接收請求報文後,對相應的報文作出處理並向客戶端返回應答,工具模擬客戶端接收應答,而後測試人員檢查應答是否準確,這就是接口測試的原理。

接口測試的範圍有哪些呢?

關於接口的測試的範圍,主要從如下兩個方面進行介紹。

一、是否全部的接口都須要測試?

隨着系統複雜度愈來愈高,接口愈來愈多,想徹底覆蓋全部接口是一件很困難的事情。

一般狀況下,主要測試最外層的兩類接口:數據進入系統的接口(調用外部系統的參數爲本系統使用)和數據流出系統的接口(驗證系統處理後的數據是否正常)

二、被測接口須要測試哪些方面?

測試人員須要關注被測接口的功能是否實現,性能是否達標,安全性是否知足,重點關注數據的交換,傳遞,處理次數以及控制管理的過程。

接口的分類?

依據所遵循協議的不一樣,常見接口能夠分爲如下三類。

HTTP接口,他是基於超文本傳輸協議開發的接口,但並不能排 除沒有使用其餘協議

WebService接口,他是系統對外的接口,好比你要從別的網站或服務器上獲取資源,通常來講,別人不會把數據共享給你的,他們會提供一個他們寫好的方法,讓外部人員獲取數據,從而達到數據同步的目的。

RESTful接口,簡稱REST其描述了一個架構樣式的網絡系統,核心是面向資源。REST專門針對網絡應用設計和開發方式,下降開發的複雜性,提供系統的可伸縮性。

基於B/S架構的軟件系統接口大多數爲HTTP接口

接口測試流程?

一、編寫接口測試計劃

接口測試計劃跟功能測試計劃是同樣的,都是爲了確認是否知足需求,肯定測試環境及測試計劃,爲設計測試用例作準備,通常來講,接口測試計劃包含概述,測試資源,測試功能及重點,測試策略,測試風險及測試標準

二、編寫,評審接口測試用例

根據需求文檔,接口文檔寫測試用例,而後開發,測試一塊兒評審測試用例是否符合需求和相關要求。下面的圖裏面的內容能夠供你們寫測試用例的時候參考。

三、執行接口測試

執行接口測試的時候,能夠藉助已經開發好的工具,如比較主流Jmeter,Postman,SoapUI,或者直接本身寫代碼進行相應的接口測試。

四、接口自動化測試持續集成

第一,流程方面,在迴歸階段增強異常場景的覆蓋,並逐步向系統測試,冒煙測試階段延伸,最終達到全流程自動化。

第二,結果展現,更加豐富的結果展現,趨勢分析,質量統計和分析等

第三,問題定位,報錯信息,日誌更精準,方便問題復現與定位

第四,結果校驗,增強自動化校驗能力,如數據庫信息校驗。

第五,代碼覆蓋率,不斷嘗試由目前的黑盒向白盒下探,提供代碼覆蓋率。

第六,性能需求,完善性能測試體系,經過自動化的手段監控接口性能指標是否正常

小編今天就介紹到這裏,但願對你有所幫助,若是你們有什麼補充的能夠留言,互相探討(^U^)ノ~Y

視頻教學傳送門:

阿里面試官:你說一下Python接口測試,這樣回答讓他豎起大拇指!

相關文章
相關標籤/搜索