「接口測試」一個讓人以爲很是高大上的名詞,特別是對於剛入門的測試同窗而言。隨着測試技術不斷的深化,「接口測試」出如今咱們視野中的頻次愈來愈高。那麼接口測試究竟是如何作的?接口測試的優點又體如今哪些方面?前端
接口:外部系統與系統之間以及內部各個子系統之間的交互點 —百度百科後端
接口通常分爲兩種:程序內部接口、系統對外接口。
1. 系統對外接口:例如最多見的系統對外接口—支付寶支付接口,不少app的支付功能都是調用支付寶的支付接口來進行支付,而該接口是支付寶系統提供給外部系統進行調用的
2. 程序內部接口:模塊與模塊之間的交互,好比淘寶商城要購買商品,下訂單前必需要先登陸,那麼下訂單與登陸之間就是一個交互,這個交互就是一個接口,讓程序內部的其餘模塊進行調用的前端工程師
1. HTTP 接口:經過HTTP協議來進行數據傳輸的接口
2. WebService 接口:經過soap協議進行數據傳輸的接口
3. 硬件接口:USB 、充電接口(此處不作討論)app
作接口測試前,須要對兩個概念有所瞭解,前端和後端
1. 前端:一般爲Web前端和app前端,前端的做用是爲了展現數據內容,作簡單的數據校驗,好比咱們看到的淘寶商城,那些商品信息,圖片展現等等
2. 後端:進行復雜計算的業務邏輯,功能實現,例如咱們購買商品後的價格計算,優惠活動的使用,最終的支付,都是經過後端實現的
而先後端就是經過接口來進行交互的。框架
系統組件間接口測試。主要是檢測外部系統與系統之間,以及內部各個子系統之間的交互點,檢查數據的交換,傳遞,和控制管理過程,以及系統間的相互邏輯依賴關係,適用於爲其餘系統提供服務的底層框架系統和中心服務系統,主要測試這些系統對外部系統提供的接口,驗證其正確性與穩定性 —百度百科工具
接口測試就是經過測試不一樣輸入條件下,接口返回的結果是否與預期結果一致。測試
接口測試實際上是一個很是簡單的過程,將接口的業務邏輯處理當作黑盒測試中的黑盒子,咱們只須要考慮各類輸入條件下,會產生相應的什麼結果。spa
接口測試就是黑盒測試設計
而咱們知道黑盒測試又稱功能測試,那麼接口測試與功能測試是否是一回事呢?答案是否認的,爲何呢?功能測試還包含了程序的UI層,包含了按鈕,UI交互等功能,而接口測試是沒有頁面操做的,只能經過調用接口來進行測試,只須要給接口傳遞相應的輸入條件,再檢查接口輸出的結果是否符合預期便可。某種程度講,接口測試比功能測試還要更簡單一些。blog
那麼問題來了,如何調用接口來進行接口測試呢?
在回答這個問題前,咱們須要知道接口的構成。HTTP協議的接口一般由如下幾部分構成:
因爲沒有可操做的頁面,須要使用工具來進行接口測試,在後續的教程中,我會陸續詳細介紹接口測試的工具。
經過前文咱們知道,程序的前端是用來展現數據以及簡單的數據檢驗的,而真正的業務邏輯核心是後端。
在傳統的功能測試中,若是前端工程師尚未將前端工做作完,咱們測試是沒法展開測試工做的,另外一方面,既然前端有校驗功能,那後端就有可能會遺漏該功能的數據校驗,若是用戶經過抓包繞過前端,直接進行後端操做,咱們的程序就可能出現重大問題。
因此進行接口測試主要是由於:
接口測試的原理跟功能測試是同樣的,那麼它的流程跟功能測試流程其實也是基本一致的。
接口測試 不等於 接口測試工具使用
不少人認爲會使用接口測試工具就是會接口測試。其實接口測試遠遠不止是工具的使用,SoapUI也好,Jmeter也好,這些工具都是咱們在進行接口測試過程當中可以更方便的進行測試,而工具僅僅是工具,真正核心部分仍是接口測試用例設計以及測試思惟。那麼當咱們作接口測試時,到底須要作哪些方面的工做呢?
接口測試流程:
在這次接口測試教程中,我會根據測試流程將接口測試進行詳細剖析,咱們會講到常見傳輸協議、抓包工具的使用、接口返回數據解析、接口測試用例設計、接口測試工具使用、接口自動化測試框架等內容,你們能夠持續關注這個系列,相信你必定會有收穫。
測試相關內容的交流,歡迎關注個人公衆號:山丘的測試之道