1.首先什么是接口呢?

      我們訪問一個(gè)網(wǎng)站的時(shí)候 網(wǎng)站的信息是在數(shù)據(jù)庫中存在的,但是系統(tǒng)不會(huì)把訪問數(shù)據(jù)庫的權(quán)限給我們,只能給我們提供一個(gè)接口 供我們訪問。其實(shí)接口就是我們從數(shù)據(jù)庫中取數(shù)據(jù)或者插入數(shù)據(jù)。

      接口分為系統(tǒng)內(nèi)部接口和外部接口:內(nèi)部接口就是系統(tǒng)內(nèi)模塊和模塊之間交互的接口,外部接口就是系統(tǒng)和系統(tǒng)之間交互的接口。另外一點(diǎn) 前端和后端的交互也是通過接口。

2.什么是接口測試呢?

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

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

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

get和post的區(qū)別是什么呢:

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

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

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

2.開發(fā)提供接口文檔

3.根據(jù)接口文檔編寫用例

4.評審用例

5.開始測試并提交測試報(bào)告

接口用例怎么寫呢?一條 接口用例包含:項(xiàng)目、模塊、用例id、用例描述、請求url、請求方式、請求數(shù)據(jù)、預(yù)期結(jié)果、請求報(bào)文、返回報(bào)文。

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

2.邊界值分析:覆蓋所有必選參數(shù)、參數(shù)有無或者null、參數(shù)組合在一起、參數(shù)的個(gè)數(shù)、輸入?yún)?shù)的順序、參數(shù)數(shù)值大小、參數(shù)中包含特殊字符

3.冪等級測試(假如登錄接口  我連續(xù)點(diǎn)擊登錄會(huì)提示什么)

4.并發(fā)測試

5.事務(wù)性測試

6.大數(shù)據(jù)量測試

7.環(huán)境異常測試

基本上設(shè)計(jì)用例的時(shí)候考慮到上面七個(gè)點(diǎn)基本就可以了。

執(zhí)行接口測試用例的時(shí)候我們需要注意的點(diǎn):

1、接口返回?cái)?shù)據(jù)

a)         返回json數(shù)據(jù)的層次關(guān)系是否與文檔一致

b)        數(shù)值類型數(shù)據(jù): 特別是金額,負(fù)數(shù)、小數(shù)轉(zhuǎn)為json輸出是否正確

c)         接口返回?cái)?shù)據(jù)與接口文檔一致

d)        接口返回?cái)?shù)據(jù)和數(shù)據(jù)庫一致

e)         接口返回?cái)?shù)據(jù)符合業(yè)務(wù)邏輯(比如轉(zhuǎn)賬功能,從一個(gè)賬戶扣款,另一個(gè)要增加相應(yīng)金額)

f)          對于列表,應(yīng)該根據(jù)請求參數(shù),也應(yīng)該驗(yàn)證列表的長度是否與期望值一致

g)         負(fù)面測試用例,應(yīng)驗(yàn)證ERROR INFO是否與實(shí)際相匹配

2.

2、數(shù)據(jù)庫

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

b)        前端某個(gè)操作涉及后臺(tái)DB多張表時(shí),每張表都要檢驗(yàn)數(shù)據(jù)正確性。

3、安全層面:

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

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

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

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

 

4、性能層面:

a)         接口響應(yīng)時(shí)間:  接口處理數(shù)據(jù)的時(shí)間也是測試需要關(guān)注的一個(gè)點(diǎn)。牽扯到內(nèi)部就是算法與代碼的優(yōu)化

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

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