#### 一、接口定義
軟件不同部分之間的交互接口。通常就是所謂的API――應用程序編程接口,其表現的形式是源代碼。 —— [ 百度百科 ]
我們常說的接口一般指兩種:
(1)API:應用程序編程接口。程序間的接口
(2)GUI:圖形用戶界面。人與程序的接口
這里我們所說的接口特指API接口。
> API接口定義:對協議進行定義的引用類型。
好多公司開發人員分前后端,他們之間如何配合工作的,就是其中一方定義接口,另一方來調用接口,以實現預期功能。
#### 二、接口的分類
1、接口分類
(1)HTTP接口
(2)Webservice接口
(3)RESTful接口
WebService接口是走soap協議,請求報文和返回報文都是xml格式,通過SoapUI工具進行測試;
HTTP API接口走HTTP協議,通過路徑來區分調用的方法,請求報文入參有多種形式,返回報文一般為json串,最常見的是get和post方法。
#### 三、為何要進行接口測試
1、接口測試必要性
當今的系統復雜度不斷上升,傳統的測試方法成本急劇增加且測試效率大幅下降,所以就要做接口測試。同時,接口測試相對容易實現自動化持續集成,且相對UI自動化也比較穩定,可以減少人工回歸測試人力成本與時間,縮短測試周期,支持后端快速發版需求。接口持續集成是為什么能低成本高收益的根源。現在很多系統前后端架構是分離的,從安全層面來說,只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前面實在太容易), 需要后端同樣進行控制,在這種情況下就需要從接口層面進行驗證。前后端傳輸、日志打印等信息是否加密傳輸也是需要驗證的,特別是涉及到用戶的隱私信息,如身份證,銀行卡等。
2、接口測試原理
模擬客戶端向服務器發送請求報文,服務器接收請求報文后對相應的報文做處理并向客戶端返回應答,客戶端再接收應答的一個過程。
3、接口測試范圍
接口的功能、性能、安全性。重點關注數據的交換,傳遞和控制管理過程,還包括處理的次數。
接口測試對象是接口,但隨著系統復雜度越來越高,接口越來越多,完全覆蓋是一件很困難的事情。通常情況下主要測試最外層的兩類接口:數據進入系統的接口(調用外部系統的參數為本系統使用)、數據流出系統接口(驗證系統處理后的數據是否正常)
四、接口文檔示例
1、接口文檔應該包括哪幾部分?
* 接口說明
* 調用的url
* 請求方法(get、post)
* 請求參數,參數類型、請求參數說明
* 返回參數說明
* 返回示例