API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。
API一般都是基於http、https協議的。也就是說接口一般都是基於這兩種協議(硬件之間也有對應的協議,再次就不作深究)
常用的方法是Get和Post,我們先來了解一下基本的知識。
GET - 從指定的資源請求數據。
POST - 向指定的資源提交要被處理的數據
PUT、DELETE在接口測試時也會遇見,基本的原理都差不多的。
- 再來了解HTTP、https請求的相關的狀態碼。如200,代表的是ok,即請求成功
- 注:
- 接口均會有返回碼,如200、400、501等
- 接口都有狀態碼,如errCode0 等 如下實例
返回結果中的錯誤碼表示了用戶調用雲 API 的結果。其中,code 為公共錯誤碼,其適用於所有模塊的 API 接口。若 code 為 0,表示調用成功,否則,表示調用失敗。當調用失敗后,用戶可以根據下表確定錯誤原因並采取相應措施。(摘自某雲,內部給出的,基本上多數的公司都會自定義錯誤碼)
以上為API基本的知識,需要知道清楚才行。下面總結一下接口測試的一些側重點。
- 接口測試:
接口的測試驗證,主要是針對錯誤的情況展開的驗證,如果只是單純的正向驗證通過,並不代表接口測試就已經完成。
如登陸的接口,用戶名和密碼正確了,可以登陸。如果用戶名密碼錯誤的情況下呢?如何提示?密碼不符合規則呢?用戶名錯誤呢?系統該如何響應,如何提示?
所以,接口測試的重點就是在於驗證錯誤的情況,如字符類型錯誤、為空、字符長度等等情況,均需要進一一驗證。並且接口的測試是在功能測試的前面,只有當接口測試完成后,才可以進行功能性的測試。如果接口測試都不能達到的情況下,對程序或者軟件進行功能性測試,將很容易導致問題得出現、甚至阻礙功能測試的進程。(一般情況下,接口測試走在最前沿,正規的企業應該是有一套成熟的管理系統去把控的。)
- 用例驗證點:
- 每一條用例均需要去驗證返回碼200 (如 Response200代表請求成功)
- 每一條用例均需要去驗證錯誤的狀態碼(如 errCode 0代表沒有錯誤)
- 每一條用例均需要去驗證數據庫存儲數據一致性(查詢數據庫與返回值進行對比)
- Response:請求返回的值/參數(開發人員將數據庫查詢出的對應的數據進行提取,並進行重新組裝而成,最后通過接口返回的數值)
-
- 不是所有的請求都會存在返回值,但一定有返回碼。
- 不是所有的請求都會存在返回值,但一定有返回碼。
-
有返回參數,就有請求參數。Request --> Response,如下圖所示