一、簡介
在開始接口測試之前,我們想一下,接口測試的流程是什么?說到這里,有些人就會產生好奇和疑問,心里mmp:接口測試要什么流程哈???不就是參考接口文檔,直接利用接口測試工具(例如jmeter和postman)測試。。。其實,如果一個project中,只是幾個接口,你完全可以做臨時的接口測試,但project可不止幾個接口,少則幾十條接口,多則成百上千接口。另外,如果你公司的這個項目,第一次做接口測試。而且古人說過:“無規矩不成方圓。”所以哈,我們還是有必要嚴格遵守接口測試的流程。
二、接口測試的流程
接口測試屬於功能測試,接口測試的流程類似於以往的功能測試。接口測試的流程如下:
- 測試盡早找開發拿接口文檔(需求文檔);
- 根據接口文檔編寫測試用例(用例編寫可按照以往規則寫,比如等價類划分,邊界值,場景法等設計方法);
- 執行測試,查看不同的參數請求,接口返回的數據是否達到預期
三、為什么要寫用例
- 理清思路,避免漏測和重復測;
- 提高測試效率;
- 跟進測試進度;
- 更好的發現問題,記錄問題,復現問題;
- 跟進重復性工作;
- 告訴領導:我做過;
- 接口測試流程中的一個產物(測試用例)
上面7點,有用例,自己心中有數,不用一個測試點重復測好多次,也避免漏測。
四、接口用例設計
主要從四個方面來設計接口用例:功能,業務邏輯,異常,安全
功能:
1)功能是否正常;
2)功能是否按照接口文檔實現
舉例:比如博客園添加隨筆,需要登錄才能添加。也就是業務要求不支持游客添加隨筆功能,如果設計一個沒有登錄的用戶,然后去測試添加隨筆接口,結果接口能添加到隨筆,說明功能不正常,不符合需求和接口文檔描述。
業務邏輯:是否依賴業務;
舉例:該接口調用之前,需要調用登錄接口,如果不登錄也能請求數據,不符合業務邏輯。
異常:參數異常和數據異常
1)參數異常:關鍵字參數,參數為空,多,少參數,錯誤參數
2)數據異常:關鍵字數據,數據為空,長度不一致,錯誤數據
舉例:不管數據異常還是參數異常,測試點差不多,一個參數有key和value,key表示參數,value表示數據。第一,看看參數和數據能不能支持關鍵字,例如Java中的保留關鍵字等等。第二個就是參數和數據都為空,看看是否做了判斷。第三個,參數多和少,例如有兩個參數的接口,你需要設計一個三個參數的用例,一個只有一個參數的用例。數據那邊長度不一致,例如設計很長的字符串是否支持,因為數據庫創建表過程都設置好了每個字段的長度。輸入錯誤的參數和數據,例如故意輸出單詞等等。
安全測試用例設計:
1)cookie:有cookie才能獲取數據,如果不帶cookie還有信息返回,說明有問題
2)header:正常接口帶header信息,刪除header看是否能夠返回數據。
3)唯一識別碼:app手機識別碼,一般是唯一的。
安全測試主要從上面三點檢查。第三個是唯一識別碼,主要是指app上手機的識別碼,一般很少用到,除非很嚴格的接口測試,例如銀行app登錄,需要指紋,而指紋來源手機,一般有一個手機識別碼判斷過程。