接口测试必要性
什么是接口?
? ? ? 我們訪問一個網站的時候 網站的信息是在數據庫中存在的,但是系統不會把訪問數據庫的權限給我們,只能給我們提供一個接口 供我們訪問。其實接口就是我們從數據庫中取數據或者插入數據。
? ? ? 接口分為系統內部接口和外部接口:內部接口就是系統內模塊和模塊之間交互的接口,外部接口就是系統和系統之間交互的接口。另外一點 前端和后端的交互也是通過接口。
?
什么是接口測試呢?
接口測試就是比功能測試還簡單的功能測試,區別就是功能測試是在頁面上點點點,而接口測試就是需要開發人員給出接口文檔 接口文檔中包含:url 、請求方式、請求參數。我們可以借助工具來進行測試。
其中最常用的接口請求方式就是 ?get 、post、json 等。
如果是get請求 不需要借助任何工具,直接在瀏覽器中輸入url按照url?參數=值&參數=值的形式就可以就可以
http://api.nnzhp.cn/api/user/stu_info?stu_name=小黑&sex=男
?
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)???????? 并發承載能力:多用戶并發時接口可以承載合同中的并發量。
以上信息參考了老師的上課講的資料和文檔。
?
?
總結
- 上一篇: FreeSql与SqlSugar性能测试
- 下一篇: 程序猿到了30岁以后,是如何把自己逼死的