1.首先什么是接口呢?

      我們訪問一個網站的時候 網站的信息是在數據庫中存在的,但是系統不會把訪問數據庫的權限給我們,只能給我們提供一個接口 供我們訪問。其實接口就是我們從數據庫中取數據或者插入數據。

      接口分為系統內部接口和外部接口:內部接口就是系統內模塊和模塊之間交互的接口,外部接口就是系統和系統之間交互的接口。另外一點 前端和后端的交互也是通過接口。

2.什么是接口測試呢?

接口測試就是比功能測試還簡單的功能測試,區別就是功能測試是在頁面上點點點,而接口測試就是需要開發人員給出接口文檔 接口文檔中包含:url 、請求方式、請求參數。我們可以借助工具來進行測試。

其中最常用的接口請求方式就是  get 、post、json 等。

如果是get請求 不需要借助任何工具,直接在瀏覽器中輸入url按照url?參數=值&參數=值的形式就可以就可以

get和post的區別是什么呢:

1、get請求只有請求頭,沒有請求體,它的參數是寫在url里面

2、get請求一般用來向服務器獲取數據,post請求呢用來向服務器發送數據
3、get請求有參數長度限制,post請求沒有
4、get請求沒有post請求安全

 接口測試的流程:1分析需求

2.開發提供接口文檔

3.根據接口文檔編寫用例

4.評審用例

5.開始測試并提交測試報告

接口用例怎么寫呢?一條 接口用例包含:項目、模塊、用例id、用例描述、請求url、請求方式、請求數據、預期結果、請求報文、返回報文。

接口測試用例怎么設計?我們要從以下幾個方面去考慮用例的設計:1.基本功能測試就是設計出符合正常業務場景的用例

2.邊界值分析:覆蓋所有必選參數、參數有無或者null、參數組合在一起、參數的個數、輸入參數的順序、參數數值大小、參數中包含特殊字符

3.冪等級測試(假如登錄接口  我連續點擊登錄會提示什么)

4.并發測試

5.事務性測試

6.大數據量測試

7.環境異常測試

基本上設計用例的時候考慮到上面七個點基本就可以了。

執行接口測試用例的時候我們需要注意的點:

1、接口返回數據

a)         返回json數據的層次關系是否與文檔一致

b)        數值類型數據: 特別是金額,負數、小數轉為json輸出是否正確

c)         接口返回數據與接口文檔一致

d)        接口返回數據和數據庫一致

e)         接口返回數據符合業務邏輯(比如轉賬功能,從一個賬戶扣款,另一個要增加相應金額)

f)          對于列表,應該根據請求參數,也應該驗證列表的長度是否與期望值一致

g)         負面測試用例,應驗證ERROR INFO是否與實際相匹配

2.

2、數據庫

a)         接口傳入數據與插入DB的數據一致性:

b)        前端某個操作涉及后臺DB多張表時,每張表都要檢驗數據正確性。

3、安全層面:

a)         后端接口返回給前端的數據包含敏感信息(如:姓名、身份證號、卡號、手機號、加密后的密碼等)時,不能明文傳輸,需要加密。

b)        后臺打日志要求對于敏感信息不能打出,或者進行加星號脫敏后打出,具體有:

1)          身份證號,用戶密碼(含加密后),用戶手機號碼,用戶姓名,銀行卡號

2)          身份證號碼脫敏字段為生日時,生日在日志中不能打出

 

4、性能層面:

a)         接口響應時間:  接口處理數據的時間也是測試需要關注的一個點。牽扯到內部就是算法與代碼的優化

b)        接口數據包大小:接口傳遞的數據包大小也需要關注,特別是返回給前端的接口,要把不同接口數據包大小需要做限制。

c)         并發承載能力:多用戶并發時接口可以承載合同中的并發量。