一、什么是接口測(cè)試?
所謂接口,是指同一個(gè)系統(tǒng)中模塊與模塊間的數(shù)據(jù)傳遞接口、前后端交互、跨系統(tǒng)跨平臺(tái)跨數(shù)據(jù)庫(kù)的對(duì)接。而接口測(cè)試,則是通過接口的不同情況下的輸入,去對(duì)比輸出,看看是否滿足接口規(guī)范所規(guī)定的功能、安全以及性能方面的要求。
二、為什么要做接口測(cè)試?
1、相比系統(tǒng)測(cè)試,更早介入測(cè)試,提高效率
2、可以發(fā)現(xiàn)前端測(cè)試不了的問題,提高版本質(zhì)量
3、接口標(biāo)準(zhǔn)化了,更容易實(shí)現(xiàn)自動(dòng)化和持續(xù)集成,降低測(cè)試成本
因此在軟件測(cè)試招聘崗位的要求中,無論是功能測(cè)試、自動(dòng)化測(cè)試、性能測(cè)試亦或測(cè)試開發(fā)崗位,接口測(cè)試都是必須掌握的!
三、如何開展接口測(cè)試?
接口測(cè)試的開展一般包含5個(gè)部分:接口文檔分析、接口用例設(shè)計(jì)、執(zhí)行接口用例、定位bug提交并跟蹤、輸出接口測(cè)試報(bào)告。
1、接口文檔分析
接口文檔一般是由后端開發(fā)提供,可以是在線的swagger也可以是word。
若開發(fā)未提供接口文檔,則可通過抓包工具fiddler或charles去抓取接口信息進(jìn)行分析,進(jìn)行接口測(cè)試。
獲取到接口文檔后,我們需要理清楚每個(gè)接口包含的請(qǐng)求、響應(yīng)信息,概括為?接口信息五要素:
1)接口地址url:
例注冊(cè)接口地址:http://api.lemonban.com:8765/futureloan/member/register
http-請(qǐng)求協(xié)議,api.lemonban.com-域名或ip,8765-端口號(hào),/futureloan/member/register-資源路徑
2)請(qǐng)求方法:
看開發(fā)定義的請(qǐng)求方法是什么,測(cè)試就對(duì)應(yīng)用什么方法。restful風(fēng)格中常見的請(qǐng)求方法為post、get、put、patch、delete等
3)請(qǐng)求頭:
發(fā)送請(qǐng)求到服務(wù)器,包含的頭部信息。常見的content-type。
4)請(qǐng)求體:
發(fā)送請(qǐng)求到服務(wù)器,具體傳遞的數(shù)據(jù)。例如要完成注冊(cè)接口的調(diào)用,請(qǐng)求體包含手機(jī)號(hào)mobile_phone、密碼pwd、用戶名reg_name、驗(yàn)證碼verification_code。
5)響應(yīng)內(nèi)容:
接口文檔中描述的響應(yīng)內(nèi)容,與接口測(cè)試的實(shí)際結(jié)果做比較,可以判斷當(dāng)前接口是否通過。響應(yīng)內(nèi)容包含:響應(yīng)碼-http狀態(tài)碼、響應(yīng)頭、響應(yīng)體。
2、接口用例設(shè)計(jì)
接口用例設(shè)計(jì)跟功能測(cè)試思維相通,需要:1)清楚項(xiàng)目業(yè)務(wù) 2)運(yùn)用用例設(shè)計(jì)8大方法:等價(jià)類、邊界值、場(chǎng)景法、因果圖、判定表、正交試驗(yàn)法、狀態(tài)遷移法、錯(cuò)誤推測(cè)法。
以下是接口用例模板參考:
3、執(zhí)行接口用例,進(jìn)行接口測(cè)試
接口測(cè)試原理:?模擬客戶端發(fā)送請(qǐng)求到服務(wù)器,服務(wù)器接收請(qǐng)求并處理,返回響應(yīng)到客戶端, 客戶端接收響應(yīng)這樣的一個(gè)過程。
通過接口測(cè)試原理可知,進(jìn)行接口測(cè)試需要借助工具或代碼。主流的接口測(cè)試工具Jmeter、postman。使用工具編寫腳本,需要結(jié)合接口項(xiàng)目具體應(yīng)用場(chǎng)景來設(shè)計(jì),運(yùn)用關(guān)聯(lián)、參數(shù)化、斷言等技術(shù)。
4、發(fā)現(xiàn)bug、定位、提交并跟蹤
怎么判斷是否是bug呢?
1)接口測(cè)試中響應(yīng)結(jié)果錯(cuò)誤,返回了錯(cuò)誤的code碼、msg信息:
- 判斷請(qǐng)求:請(qǐng)求地址、方式、請(qǐng)求頭、請(qǐng)求正文是否正確,如果不正確則修改對(duì)應(yīng)請(qǐng)求信息再做發(fā)送;如果正確,則說明是服務(wù)器端問題
- 進(jìn)一步查看服務(wù)器日志、數(shù)據(jù)庫(kù)信息,并整理信息提交bug
2)接口測(cè)試中響應(yīng)結(jié)果,code碼、msg正確,但返回的data數(shù)據(jù)不正確:
- 查看數(shù)據(jù)庫(kù)數(shù)據(jù)正確完整性,并結(jié)合服務(wù)器日志,整理信息提交bug
3)接口測(cè)試中響應(yīng)結(jié)果正確,但若是增刪改業(yè)務(wù)操作:
- 需進(jìn)一步確認(rèn)到數(shù)據(jù)庫(kù)層面,數(shù)據(jù)增刪改的正確性
4)考慮安全性:一般接口對(duì)請(qǐng)求會(huì)做出一些限制,比如請(qǐng)求次數(shù)、請(qǐng)求頻率限制;涉及敏感信息是否加密
5、接口測(cè)試報(bào)告文章來源:http://www.zghlxwxcb.cn/news/detail-499200.html
接口測(cè)試報(bào)告的整理這個(gè)看公司要求。有些公司是在整個(gè)項(xiàng)目測(cè)試結(jié)束后,整理一份統(tǒng)一的測(cè)試報(bào)告。有些公司會(huì)要求輸出階段性的測(cè)試報(bào)告。文章來源地址http://www.zghlxwxcb.cn/news/detail-499200.html
四、接口測(cè)試常見面試題
- 什么是接口?
- 如果模塊請(qǐng)求http 改為了https,測(cè)試方案應(yīng)該如何制定,修改?
- 用HTTP 協(xié)議調(diào)試代理工具有什么?詳細(xì)說明抓取 HTTPS 協(xié)議的設(shè)置過程?
- 接口產(chǎn)生的垃圾數(shù)據(jù)如何清理?
- 下個(gè)接口請(qǐng)求參數(shù)依賴上個(gè)接口的返回?cái)?shù)據(jù)?
- 接口測(cè)試的步驟有哪些?
- 接口測(cè)試中依賴登錄狀態(tài)的接口如何測(cè)試?
- 依賴于第三方數(shù)據(jù)的接口如何進(jìn)行測(cè)試?
- 文件上傳的接口如何處理?
- 解釋什么是SOAP?
- 解釋什么是REST API?
- API測(cè)試發(fā)現(xiàn)的Bug類型是什么?
- 我們測(cè)試的接口屬于哪一類?
- 說下你接口測(cè)試問題如何定位?
- Cookie 保存在哪里?
- HTTP有哪些請(qǐng)求方法?
- 接口自動(dòng)化測(cè)試的流程?
- 接口測(cè)試用例的編寫要點(diǎn)有哪些?
- 提到UI級(jí)別測(cè)試和API測(cè)試之間的關(guān)鍵區(qū)別?
- HTTPS的工作原理?
- HTTPS和HTTP的區(qū)別?
- POST和GET有什么區(qū)別?
- Session與Cookie有什么區(qū)別?
- TCP和UDP有什么區(qū)別?
- 在API測(cè)試中測(cè)試的常用協(xié)議是什么?
- Jmeter、postman工具的區(qū)別?
- 說下接口工具如何去操作數(shù)據(jù)庫(kù)?
- 傳參數(shù)據(jù)格式除了json格式還有哪些?
- 接口測(cè)試數(shù)據(jù)過多時(shí)如何進(jìn)行測(cè)試?
- 你們請(qǐng)求參數(shù)加密怎么處理的?
- 接口測(cè)試中有哪些印象深刻的bug?
- 項(xiàng)目中有測(cè)試過多少個(gè)接口?寫過多少用例?
到了這里,關(guān)于一篇文章,帶你徹底掌握接口測(cè)試!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!