接口測試怎么做

目錄:

一、什么是接口?

二、接口測試流程

三、接口測試工具

四、接口測試技術(shù)點(diǎn)

五、總結(jié)

導(dǎo)讀:

為什么要做接口測試

接口測試本質(zhì)上是功能測試的一種,屬于后端服務(wù)器測試。但是它的影響范圍要遠(yuǎn)廣于web,app層面。原因很簡單,因?yàn)槟壳昂芏喙?,服?wù)架構(gòu)都是多端共用一套接口。和用戶直接交互的UI界面,web,app,小程 序,H5,它們有可能都是公用一套接口邏輯。后端如果服 務(wù)器掛了,或者出bug了,這些終端可能都會出問題。所以,做接口測試就非常有必要的。重要性:

1.越底層發(fā)現(xiàn)bug,它的修復(fù)成本是越低的。

2.前端隨便變,接口測好了,后端不用變,前后端是兩撥人開發(fā)的。

3.檢查系統(tǒng)的安全性、穩(wěn)定性,前端傳參不可信,比如京東購物,前端價(jià)格不可能傳入-1元,但是通過接口可以傳入-1元。

4.如今的系統(tǒng)復(fù)雜度不斷上升,傳統(tǒng)的測試方法成本急劇增加且測試效率大幅下降,接口測試可以提供這種情況下的解決方案。

5. 接口測試相對容易實(shí)現(xiàn)自動化持續(xù)集成,且相對UI自動化也比較穩(wěn)定,可以減少人工回歸測試人力成本與時(shí)間,縮短測試周期,支持后端快速發(fā)版需求。接口持續(xù)集成是為什么能低成本高收益的根源。

6. 現(xiàn)在很多系統(tǒng)前后端架構(gòu)是分離的,從安全層面來說:

(1)只依賴前端進(jìn)行限制已經(jīng)完全不能滿足系統(tǒng)的安全要求(繞過前面實(shí)在太容易), 需要后端同樣進(jìn)行控制,在這種情況下就需要從接口層面進(jìn)行驗(yàn)證。(測試交流群:829792258/行業(yè)大神交流探討/共享資料)

(2)前后端傳輸、日志打印等信息是否加密傳輸也是需要驗(yàn)證的,特別是涉及到用戶的隱私信息,如身份證,銀行卡等。

一、什么是接口

接口測試是目前測試的主流手段之一,采用接口測試也有許多優(yōu)點(diǎn)

1.提高測試效率:可通過自動化手段實(shí)現(xiàn)重復(fù)驗(yàn)證,也可以在依賴服務(wù)沒有開發(fā)完成時(shí)優(yōu)先測試部分服務(wù)

2.方便定位Bug:通過接口的抓包和分析,可以清楚的知道問題是來源于前端還是后臺服務(wù)

3.提高服務(wù)端健壯性:通過接口測試可以測出來開發(fā)是否在后端做了校驗(yàn),幫助提高服務(wù)的健壯性

對很多新手來說接口測試很高大上,但實(shí)際上接口測試很簡單,掌握關(guān)鍵技術(shù)以后就可以把接口測試應(yīng)用到日常工作中。開始講解接口測試之前,(測試交流群:829792258/行業(yè)大神交流探討/共享資料)先看看當(dāng)你在瀏覽器中輸入地址,并看到Web頁面的時(shí)候底層問題:

1.瀏覽器根據(jù)輸入把請求發(fā)送到服務(wù)器

2.服務(wù)器獲取到請求以后生成響應(yīng)文件,把響應(yīng)文件發(fā)送給瀏覽器

3.瀏覽器解析響應(yīng),渲染數(shù)據(jù)生成Web頁面的展示效果

說了這么多,接口測試到底有重要呢,那么作為小白應(yīng)該如何學(xué)習(xí)接口測試呢?

重點(diǎn)來了

首先你要學(xué)習(xí)網(wǎng)絡(luò)協(xié)議知識,因?yàn)榇蟛糠纸涌诙际腔趆ttp協(xié)議的,當(dāng)然還有其它的比如dubbo協(xié)議。

其次你需要學(xué)習(xí)兩款測試工具,postman用來調(diào)用接口,fiddler用來抓包定位bug,當(dāng)然,你使用瀏覽器自帶的F12也是可以的。

二、接口測試流程

接口測試流程和手動測試/UI測試流程類似,但是側(cè)重點(diǎn)不同:

需求分析:需求文檔 VS 接口文檔。

編寫和評審用例:根據(jù)需求變更結(jié)合業(yè)務(wù)優(yōu)先級,邊界值等價(jià)類等分析方法設(shè)計(jì)手動測試用例;根據(jù)接口的參數(shù)組合以及接口的預(yù)期返回設(shè)計(jì)接口測試用例。

準(zhǔn)備測試環(huán)境和測試腳本:接口測試需選擇合適的工具實(shí)現(xiàn)步驟2中評審的用例。

執(zhí)行測試用例,發(fā)送測試報(bào)告:接口測試自動運(yùn)行腳本,生成和發(fā)送測試報(bào)告。

三、接口測試工具

接口測試的實(shí)現(xiàn)有多種工具,可根據(jù)團(tuán)隊(duì)情況選型:

Postman:谷歌提供的開源接口測試工具,支持Http接口的調(diào)用和驗(yàn)證

Jmeter:Apache提供的開源接口測試工具,除了支持Http接口還有很多擴(kuò)展功能(Mysql,Redis,RabbitMQ…)

Fiddler:抓包工具,常用于接口分析以及Mobile端接口自動化

HttpComponents:Apache提供的開源包,可以基于它實(shí)現(xiàn)接口代碼的編碼

四、接口測試技術(shù)點(diǎn)

接口測試最常用的技術(shù)點(diǎn):

1.參數(shù)化:自動生成不同的接口數(shù)據(jù),或者符合后端服務(wù)校驗(yàn)規(guī)約的接口數(shù)據(jù)(eg: 手機(jī)號,身份證,郵箱,用戶姓名)

2.斷言:驗(yàn)證接口的返回,包括響應(yīng)碼,響應(yīng)字段的校驗(yàn)(Json報(bào)文,HTML或XML報(bào)文)

3.關(guān)聯(lián):多接口測試時(shí),不同接口間的參數(shù)傳遞

4.數(shù)據(jù)庫:除了驗(yàn)證相應(yīng)報(bào)文,還可驗(yàn)證數(shù)據(jù)庫字段確保程序邏輯的正確性

5.持續(xù)集成:接口工具或框架和Jenkins等持續(xù)集成工具的結(jié)合,實(shí)現(xiàn)無人值守或者自動觸發(fā)

以上就是一個(gè)簡單的接口測試涉及到的方方面面,小伙伴們在日常工作中可以按這個(gè)思路開啟接口測試之路,并不斷豐富總結(jié)自己對接口測試工具,知識點(diǎn)以及流程的靈活應(yīng)用,為什么讓大家一定要掌握好接口測試?

原因也簡單,因?yàn)樗悄愫罄m(xù)深入進(jìn)階學(xué)習(xí)自動化和性能測試的基礎(chǔ)。拿接口自動化來說,這是目前公司使用性價(jià)比最高的自動化,原因就在于ui自動化成本太高,經(jīng)常頁面大改,可能整個(gè)框架就廢了,所以很多公司都優(yōu)先做接口自動化,比較穩(wěn)定,目前需求最多的。所以找工作,優(yōu)先學(xué)習(xí)掌握接口自動化。

五、總結(jié):

接口測試不僅僅是你找工作的必備技能,更是你以后深入學(xué)習(xí)自動化以及性能測試的基礎(chǔ)。除非,你想一直做點(diǎn)點(diǎn)點(diǎn)工程師,不然自動化測試和性能測試重要性不言而喻。當(dāng)然,也不是你想點(diǎn)就一直能點(diǎn)的,非常容易就被淘汰!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容