1、什麼是接口測試?
接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。
2、爲什麼要做接口測試?
a) 如今的系統複雜度不斷上升,傳統的測試方法成本急劇增加且測試效率大幅下降,接口測試可以提供這種情況下的解決方案。
b) 接口測試相對容易實現自動化持續集成,且相對UI自動化也比較穩定,可以減少人工迴歸測試人力成本與時間,縮短測試周期,支持後端快速發版需求。接口持續集成是爲什麼能低成本高收益的根源。
c) 現在很多系統前後端架構是分離的,從安全層面來說:
1、只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前面實在太容易), 需要後端同樣進行控制,在這種情況下就需要從接口層面進行驗證。
2、前後端傳輸、日誌打印等信息是否加密傳輸也是需要驗證的,特別是涉及到用戶的隱私信息,如身份證,銀行卡等。
3、接口測試持續集成:
對接口測試而言,持續集成自動化是核心內容,通過持自動化的手段我們才能做到低成本高收益。目前我們已經實現了接口自動化,主要應用於迴歸階段,後續還需要加強自動化的程度,包括但不限於下面的內容:
a) 流程方面:在迴歸階段加強接口異常場景的覆蓋度,並逐步向系統測試,冒煙測試階段延伸,最終達到全流程自動化。
b) 結果展示:更加豐富的結果展示、趨勢分析,質量統計和分析等
c) 問題定位:報錯信息、日誌更精準,方便問題復現與定位。
d) 結果校驗:加強自動化校驗能力,如數據庫信息校驗。
e) 代碼覆蓋率:不斷嘗試由目前的黑盒向白盒下探,提高代碼覆蓋率。
f) 性能需求:完善性能測試體系,通過自動化的手段監控接口性能指標是否正常。
4、接口測試質量評估標準:
a) 業務功能覆蓋是否完整
b) 業務規則覆蓋是否完整
c) 參數驗證是否達到要求(邊界、業務規則)
d) 接口異常場景覆蓋是否完整
e) 接口覆蓋率是否達到要求
f) 代碼覆蓋率是否達到要求
g) 性能指標是否滿足要求
h) 安全指標是否滿足要求