如何測試接口
阿新 • • 發佈:2019-01-05
測試 所有 bsp int get 用戶 內部 add 團隊
①做接口測試的原因:
接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。接口一般采用RESTFUL風格的http調用,在業務測試之前驗證接口的正確性,將使得我們在更早的階段發現問題,提升效率。
②接口的分類
第一種是函數級別的,測試需要對接口的各個參數進行測試,如:
Int MathAdd(int a, int b)。
第二種是對象級別的,開發在使用API接口時,先引入包名,在使用之前聲明一個對象,之後可以使用對象提供的方法,而測試時,需要測試的是API的功能及對數據輸入的正確性。第二種和第一種的差別是,我們只需關註提供給用戶使用的接口就可以了,不用關心接口調用其他函數情況,相對於第一種來說,測試的粒度要大一些,範圍小一些。
第三種是http協議的接口,App客戶端和後端服務連接,一般采用的都是http協議,客戶端通過get和post的方法從後端服務獲取數據。第三種相對於第二種來說,粒度更大,我們關註的接口更少,但是這些接口都是核心功能。
③接口測試的目的
驗證服務端是否滿足他聲明提供的功能。
測試接口,尤其是那些與系統相關聯的外部接口,測試的重點是要檢查數據的交換,傳遞和控制管理過程,還包括處理的次數。
④接口測試的 方法
接口測試如何做呢?一般已經上線接口都會自動化掉,關於接口自動化,可以使用現成的接口框架;對於正在開發或還未達到上線條件的接口,就需要手工測試。
簡單的接口,可以通過fiddler模擬請求,也可以在接口請求發送前或服務器結果返回前加入斷點,更改請求內容或返回內容。
對於復雜的接口,或者需要多次定時運行,甚至接口間有先後調用順序的接口,或者團隊成員需要輪換測試不同的接口時,就用Postman。搞一下這個例子。
⑤設計接口測試用例
接口測試用例設計和測試用例設計一樣,用例設計的內容應該包括:主要測試功能點、測試環境、測試數據、執行操作以及預期結果。
選擇好測試對象。對於一個系統做接口測試選擇好的測試對象是接口測試關鍵, 因為我們不可能測試所有接口。
可將這些最外層的接口分為兩類:
1). 數據進入系統的接口;
進入系統的接口實際是我們用例的執行調用的接口。可通過變化參數對這些接口進行調用 ,模擬外部的使用;
2). 數據流出系統的接口。
流出的接口則是我們用例真正該驗證的點。數據從哪裏流出,流出時的狀態如何 ,此時系統又是什麽狀態都是我們所應該驗證的。
確認完整的測試對象的功能.確認外部接口提供給使用這些接口的外部用戶什麽樣的功能,外部用戶真正需要什麽樣的功能。此兩個功能一定要準確詳細,用例的設計要嚴格按照測試對象功能設計才是正確的用例。最後當出發點、對象、功能都確定了,就可以真正設計用例了。
⑥web端的接口測試,分類:
a:服務器接口測試:
是測試瀏覽器與服務器的接口用戶輸入的數據是輸入到的前端頁面上,通過http協議的get與post請求來實現前後端的數據傳遞。這也可認為是接口測試,調用的登錄接口還是查詢接口,傳參的是用戶密碼還是搜索關鍵字。
b:外部接口測試:
這個很典型的例子就是第三方登錄,比如你做的新系統免於新用戶重新註冊的麻煩會提供第三方登錄,那用戶在登錄的時候調用的就是第三方登錄的接口,由第三方驗證用戶名和密碼並且返回給當前系統。
⑦web接口測試要點:
1、請求是否正確,默認請求成功是200,如果請求錯誤也能返回404、500等。
2、檢查返回數據的正確性與格式;json是一種非常創建的格式。
3、接口的安全性,一般web都不會暴露在網上任意被調用,需要做一些限制,比如鑒權或認證。
4、接口的性能,web接口同樣註重性能,這直接影響用戶的使用體驗。
如何測試接口