簡介
上一篇和大家一起科普掃盲接口后,知道什么是接口,接口類型等,對其有了大致了解之后,我們就回到主題-接口測試。
什么是接口測試
一般來說,測試接口,就是指測試接口的功能,性能和穩定性測試,當然可能還有安全性測試。這個入門系列會讓你掌握接口的功能測試。一般,來說我們聽說到的接口基本上都是指HTTP或者HTTPS協議的接口測試,也就是一些web服務請求。一個軟件項目中,
有很多接口,少的有幾十個,多的有幾百上千個接口。這個時候,我們沒有軟件界面,沒有具體的測試場景,只有一個接口描述文檔。我們需要把接口這樣抽象的東西,通過軟件測試的理論和方法去測試接口,找出接口的功能和安全性的缺陷。接口有內部接口和外部
接口。內部接口就是開發人員自己開發的接口。外部接口,好比網站調用微信支付和支付寶支付接口。還有一些模塊與模塊之間的接口。學習過Java或者用過selenium的人,應該對接口有了解。你的自動化腳本調用了很多selenium的接口。
為什么要做接口測試

金字塔模型
接口將前端和后端進行很好的分離,幫前后端實現數據交互,這樣在項目初期就可以和前端工程師討論需要的后端數據,然后后端根據需求開發后接口,將數據返回給前端,測試人員提前進入測試接口,前后端然后在各自開發自己模塊。
項目遷移,以及后期維護,接口帶來的便利性,試想一下,如果沒有項目交付以后,后端人員將數據庫的某個字段的長度、類型修改后發版,而由於某些原因沒有及時通知前端工程師,而此時前端的獲取的這個字段的類型、長度是以前的,那么就可能引發線上事故。如
果前端技術牛叉,存儲獲取字段是一個變量,工作量還小點。只需要改變變量類型、長度即可,如果是一個差一點的沒有用變量,而前端又是好幾百個頁面都用到這個字段,這樣就造成后果無法想象的,但是用到接口就有不一樣了,如果出現類似的情況,后端人員只需
要將這個字段通過接口做處理是返回的字段保持一致即可,也就是分分鍾的事,可能用戶都沒有察覺就修復了。而且前端、后端、測試也很好排查問題,跑一下接口,查看接口文檔返回數據有差異,修給接口就可以,這樣處理問題效率也會大大提高。
簡單概括:
①.越底層發現bug,它的修復成本是越低的。
②.前端隨便變,接口測好了,后端不用變,前后端是兩撥人開發的。
③.檢查系統的安全性、穩定性,前端傳參不可信,比如京東購物,前端價格不可能傳入-1元,但是通過接口可以傳入-1元。
④.如今的系統復雜度不斷上升,傳統的測試方法成本急劇增加且測試效率大幅下降,接口測試可以提供這種情況下的解決方案。
⑤. 接口測試相對容易實現自動化持續集成,且相對UI自動化也比較穩定,可以減少人工回歸測試人力成本與時間,縮短測試周期,支持后端快速發版需求。接口持續集成是為什么能低成本高收益的根源。
⑥. 現在很多系統前后端架構是分離的,從安全層面來說:
(1)、只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前面實在太容易), 需要后端同樣進行控制,在這種情況下就需要從接口層面進行驗證。
(2)、前后端傳輸、日志打印等信息是否加密傳輸也是需要驗證的,特別是涉及到用戶的隱私信息,如身份證,銀行卡等。