接口測(cè)試和接口自動(dòng)化測(cè)試一直都是很多人混亂的概念。所以搞清楚2個(gè)的概念是很重要的一件事情。
接口:一段具備邏輯處理功能的程序代碼組成的,可被其他方法、服務(wù)或應(yīng)用所使用。
對(duì)于調(diào)用接口的那一方,可以把接口看做一只黑匣子,只需要負(fù)責(zé)按約定傳入?yún)?shù),再接收返回的數(shù)據(jù),而不需要知道黑匣子里的邏輯。
1.接口的作用
- 1.系統(tǒng)與系統(tǒng)之間的調(diào)用。比如銀聯(lián)會(huì)提供支付接口給負(fù)責(zé)三方支付的應(yīng)用程序調(diào)用,應(yīng)用程序在用戶發(fā)起支付請(qǐng)求時(shí),將相關(guān)的必要參數(shù)值通過支付接口傳給銀聯(lián)服務(wù)器,銀聯(lián)服務(wù)器處理完成之后會(huì)調(diào)用應(yīng)用程序方的回調(diào)接口,返回支付處理結(jié)果。
- 2.前端應(yīng)用對(duì)后端服務(wù)的調(diào)用。比如應(yīng)用程序調(diào)用服務(wù)器端的接口,服務(wù)器端調(diào)用DAO[data access object 數(shù)據(jù)訪問對(duì)象]的接口。以某系統(tǒng)來看,應(yīng)用程序本身主要包括2部分:一是交互,二是數(shù)據(jù)展示。應(yīng)用程序通過數(shù)據(jù)訪問對(duì)象的接口從數(shù)據(jù)庫中獲取到相應(yīng)的數(shù)據(jù),服務(wù)器端接口在將數(shù)據(jù)做相應(yīng)的處理并最終返回給應(yīng)用程序,應(yīng)用程序?qū)⑵湔故境鰜怼?/li>
- 3.服務(wù)與服務(wù)之間的調(diào)用。比如,注冊(cè)用戶,會(huì)先調(diào)用查詢用戶信息的服務(wù),目的是檢查是否已注冊(cè)。如果返回已注冊(cè),則負(fù)責(zé)注冊(cè)用戶的接口就會(huì)將該結(jié)果返回到前段頁面。
接口測(cè)試是測(cè)試系統(tǒng)組件間接口的一種測(cè)試,主要用于檢測(cè)外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。測(cè)試的重點(diǎn)是檢查數(shù)據(jù)的交互、傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。
2.為什么要做接口測(cè)試
- 1.只靠前端測(cè)試很難確保很高的覆蓋率。接口測(cè)試,可以模擬出各種類型的入?yún)?,包括一些在前端模擬不出來的入?yún)ⅲ€能根據(jù)接口文檔的定義,設(shè)計(jì)出相對(duì)完善的入?yún)⒅?,在接口層保證質(zhì)量,剩余的絕大多數(shù)問題就是應(yīng)用程序自身的交互和數(shù)據(jù)展示問題。
- 2.接口測(cè)試相對(duì)于交互界面測(cè)試和功能測(cè)試來說,更容易實(shí)現(xiàn)自動(dòng)化,執(zhí)行起來比較穩(wěn)定,維護(hù)成本也比較低。
- 3.接口自動(dòng)化適用于回歸測(cè)試等,可以減少人工回歸測(cè)試的人力成本。
- 4.前、后端系統(tǒng)分離,從安全層面來說,只依賴前端進(jìn)行不能滿足安全要求,繞過前端相對(duì)容易,所以需要后端同樣進(jìn)行輸入校驗(yàn),只能依賴接口測(cè)試去驗(yàn)證了。