1. 程式人生 > >零基礎學習介面測試-介面測試基礎知識

零基礎學習介面測試-介面測試基礎知識

一、什麼是介面(API)?

1、百度詞條解釋:

API(Application Programming Interface,應用程式程式設計介面)是一些預先定義的函式,目的是提供應用程式與開發人員基於某軟體或硬體得以訪問一組例程的能力,而又無需訪問原始碼,或理解內部工作機制的細節。

2、白話解釋:

咱們去餐廳吃飯,首先:和前臺點餐員點餐“1、魚香肉絲,2、宮保雞丁”;然後:點餐員通過點餐系統把我們點的菜傳遞給後廚工作人員,後廚工作人員製作菜品;最終:餐廳服務人員給我們上菜。

在整個過程中,只需要關注輸入(也就是我們要點什麼菜,餐廳是否有我們要點的菜)、輸出(最終上的菜確實是我們點的東西),不需要關注處理過程和內部邏輯(後廚是如何做菜的)。

 

 

二、介面分類——內部介面與外部介面:

1、內部介面:

供程式內部呼叫的介面,一般指一個方法、函式、模組等。

例如:百度貼吧發帖需要調取登入介面,登入成功後才能發帖。登入模組就是內部介面。

2、外部介面:

提供給程式外部呼叫的介面(第三方)。

例如:用滴滴打車在支付時需要呼叫微信/支付寶等方式進行支付。微信/支付寶支付此時對於滴滴來說就是外部介面。

三、什麼是介面測試?

1、官方解釋:

測試系統元件間介面:主要用於檢測外部系統與系統之間以及內部各個子系統之間的互動點。測試的重點:要檢查資料的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。

2、白話解釋:

(1)介面是否滿足業務需求 (去飯店吃飯:能否成功點菜,併成功上菜)

(2)各欄位是否正常(欄位:菜名、單號、桌號是否正確)

(3)實際結果與預期是否一致(服務員上的菜和我們點單的菜是否一致,至於大廚如何做菜,我們不關注)

3、介面測試重點關注內容:

(1)介面要實現的業務功能

(2)不同的輸入對應不同的輸出

(3)錯誤處理情況

(4)不用關注介面的具體程式碼實現

四、為什麼要進行介面測試?

1、可以更早的介入測試。

例如:開發完一個介面就測試一個介面,不用等整個模組完成才開始測試,減少延期風險。

2、節約成本,越早發現bug,修復成本越低。

例如:在功能測試時發現底層bug,可能會導致專案重構或延期。

3、介面測試好了,前端變化只需測試前端即可,節省時間。

4、可以發現很多前端發現不了的問題。

例如:抽獎活動,每天只允許抽三次,三次後前端介面的抽獎按鈕灰顯,可通過呼叫介面跳過頁面的限制,進行第四次抽獎。如後端介面沒做限制,可直接對伺服器進行請求,再次抽獎;寫個指令碼不間斷的呼叫介面進行抽獎,一定能抽到最大獎。

5、可以檢查系統的安全性、穩定性。

例如:在搜尋時,前端會過濾掉特殊的SQL語句,如後端介面未過濾,會導致SQL注入。

6、可以檢查系統的異常處理能力。

例如:購買京東商品,通過前端下單時商品價格不可能為-1元,但呼叫介面可以傳引數-1元,介面要做此特殊處理。

7、介面測試更容易進行自動化以及持續整合,減少迴歸測試的人力成本和時間。

例如:每次專案上線前,跑一遍介面自動化指令碼,可以確保舊有介面以及新增介面各項正