市面上有許多種風(fēng)格的Web API,目前最流行也最容易訪問的一種風(fēng)格是基于REST風(fēng)格的API,后續(xù)的文章主要以REST API接口進(jìn)行講解。本篇文章主要就“接口測試相關(guān)知識”進(jìn)行展開講解,包括接口測試相關(guān)概念,測試的內(nèi)容,使用的工具以及一個(gè)簡單的實(shí)例化接口測試和接口測試質(zhì)量標(biāo)準(zhǔn)等。希望感興趣的小伙伴可以堅(jiān)持看下去同時(shí)歡迎提出寶貴的意見讓我們一起進(jìn)步!
01:接口的相關(guān)概念(API)
1)接口定義:表示某個(gè)對象和外界交互的部分,一個(gè)API就是一個(gè)Interface。
2)接口分類:一個(gè)軟件產(chǎn)品,可能有如下幾種和外界交互的部分。
①提供用戶界面給用戶使用(UI)
②提供消息交互接口和其他應(yīng)用程序交互(基于SOAP的Web Service和REST API)
③提供編程接口,供開發(fā)者的程序調(diào)用
④其他接口
3)Web服務(wù)接口:互聯(lián)網(wǎng)產(chǎn)品對外提供的接口,有Web服務(wù)接口,Web service接口和Web API。
4)注意事項(xiàng):目前REST類型的接口基本上都是基于HTTP協(xié)議
02:接口測試的相關(guān)概念
1)接口測試:是測試系統(tǒng)組件間接口的一種測試。
2)核心功能:構(gòu)建HTTP請求消息和解析收到的HTTP響應(yīng)消息
3)使用場景:主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。
4)測試重點(diǎn):檢查數(shù)據(jù)的交換,傳遞和控制管理過程以及系統(tǒng)間的相互邏輯依賴關(guān)系等。
5)QA一定要做Web API測試嗎?一般情況下看該接口是否對外提供
03:如何做接口測試
1)概述:由于前后端調(diào)用主要是基于http協(xié)議的接口,因此通過工具或代碼模擬http請求的發(fā)送與接收
2)常用的第三方工具:postman、jmeter、soupUI
04:后端接口測試的內(nèi)容

05:如何做接口測試一個(gè)簡單的實(shí)例化接口測試
增加課程接口文檔內(nèi)容如下所示:
(1)增加課程:用來創(chuàng)建一個(gè)新的培訓(xùn)課程
(2)請求語法:POST /api/mgr/sq_mgr/ HTTP/1.1
(3)內(nèi)容類型:Content-Type: application/x-www-form-urlencoded
(4)url請求參數(shù):無url請求參數(shù)
(5)請求體內(nèi)容
action 必填 填寫add_course,表明是為了創(chuàng)建課程
data 必填 存儲(chǔ)創(chuàng)建課程的信息,包括名稱、描述、顯示次序。為json格式。例如:
{
"name":"python",
"desc":"python基礎(chǔ)課程",
"display_idx":"4"
}

列出課程接口文檔內(nèi)容如下所示:
(1)列出課程:用來列出所有的培訓(xùn)課程
(2)請求語法:GET /api/mgr/sq_mgr/?action=list_course&pagenum=1&pagesize=20 HTTP/1.1
(3)url請求參數(shù):
action 填寫list_course,表明是要列出所有課程信息
pagenum 表示當(dāng)前要顯示的是第幾頁,目前固定填寫1
pagesize 表示一頁最多顯示多少條課程信息,目前固定填寫20
(4)請求體內(nèi)容:無

06:接口測試持續(xù)集成
對接口測試而言,持續(xù)集成自動(dòng)化是核心內(nèi)容。通過持自動(dòng)化的手段我們才能做到低成本高收益。包括但不限于:
①流程方面:回歸階段加強(qiáng)接口異常場景的覆蓋度,最終實(shí)現(xiàn)全流程自動(dòng)化
②結(jié)果展示:更加豐富的結(jié)果展示、趨勢分析、質(zhì)量統(tǒng)計(jì)和分析等
③問題定位:報(bào)錯(cuò)信息,日志更精準(zhǔn),方便問題復(fù)現(xiàn)與定位。
④結(jié)果校驗(yàn):加強(qiáng)自動(dòng)化校驗(yàn)?zāi)芰?/strong>
⑤代碼覆蓋率:不斷嘗試由目前的黑盒向白盒下探,提高代碼覆蓋率。
⑥性能需求:完善性能測試體系,通過自動(dòng)化的手段監(jiān)控接口性能指標(biāo)是否正常。
07:接口測試質(zhì)量標(biāo)準(zhǔn)
①業(yè)務(wù)功能覆蓋是否完整
②參數(shù)驗(yàn)證是否達(dá)到要求(邊界,業(yè)務(wù)規(guī)則)
③接口異常場景覆蓋是否完整
④接口覆蓋率是否達(dá)到要求
⑤代碼覆蓋率是否達(dá)到要求
⑥性能指標(biāo)是否滿足要求
⑦安全指標(biāo)是否滿足要求