接口测试用例_【学习】接口测试用例编写和测试关注点
一、為什么要做接口測試
在日常開發(fā)過程中,有人做前端開發(fā),有人負(fù)責(zé)后端開發(fā)。接口就是連接前后臺,由于前端開發(fā)和后端開發(fā)的速度可能不一樣,例如后端開發(fā)好了,但是前端沒有開發(fā)。那么我們是不是就不需要測試呢?一般我們大部分人都是做功能測試,很多是界面的功能測試。如果你理解了接口測試,那么你就可以針對接口進(jìn)行測試。
二、什么是接口、什么是接口測試
接口:主要是子模塊或者子系統(tǒng)間交互并相互作用的部分。
這里說的接口是廣義的,客戶端與后臺服務(wù)間的協(xié)議;插件間通信的接口;模塊間的接口;再小到一個類提供的方法;都可以理解為接口。
接口測試:是指針對模塊或系統(tǒng)間接口進(jìn)行的測試。
三、接口測試流程
需求討論,需求評審,場景設(shè)計,編寫用列,準(zhǔn)備數(shù)據(jù),執(zhí)行測試
四、接口測試用例設(shè)計
1接口測試的用例設(shè)計,主要從輸入和接口處理兩方面考慮:
1)針對輸入,可按照參數(shù)類型進(jìn)行設(shè)計;
2)針對接口處理,可按照邏輯進(jìn)行用例設(shè)計;
3)針對輸出,可根據(jù)結(jié)果進(jìn)行分析設(shè)計。
2針對輸入設(shè)計
對于接口來說,輸入就是入?yún)ⅰ3R妳?shù)類型有:
(1)數(shù)值型(int,long,float,double等)
(2)字符串類型
(3)數(shù)組或鏈表
(4)結(jié)構(gòu)體
五.怎么進(jìn)行接口測試
通過工具模擬客戶端向服務(wù)端發(fā)送請求并接受服務(wù)器返回的數(shù)據(jù)來對接口的功能,邏輯業(yè)務(wù),異常,安全進(jìn)行測試
功能測試:測試這個接口的功能是否實現(xiàn),并且測試這個接口是否按照接口文檔來進(jìn)行開發(fā)的(比如說接口文檔規(guī)定了一些關(guān)鍵字,而開大的時候把關(guān)鍵字改成了其他的關(guān)鍵字,因為在整個項目周期,并不只有一個開發(fā)而是有多個,所以可能因為在開發(fā)過程中因為關(guān)鍵字不一樣導(dǎo)致某些開發(fā)的功能異常,還有自動化腳本也會發(fā)生異常)
邏輯業(yè)務(wù),主要指的是一些邏輯業(yè)務(wù)依賴關(guān)系(比如支付寶提交訂單的時候要保證你是在登錄的情況下,如果你沒有登錄而提交成功了,這就是異常,可以修改請求的cookie來測試)
異常測試:參數(shù)異常:關(guān)鍵字參數(shù)(應(yīng)用其他的關(guān)鍵字替換進(jìn)行測試)、參數(shù)為空、參數(shù)多少(通過添加參數(shù)增添個數(shù)),參數(shù)錯誤。數(shù)據(jù)異常:關(guān)鍵字?jǐn)?shù)據(jù)(填入的數(shù)據(jù)用其他的數(shù)據(jù)語言的數(shù)據(jù)替用)、數(shù)據(jù)長度、數(shù)據(jù)為空、數(shù)據(jù)錯誤。
由于我們項目前后端調(diào)用主要是基于http協(xié)議的接口,所以測試接口時主要是通過工具或代碼模擬http請求的發(fā)送與接收。工具有很多如:apipost、jmeter、java+httpclient、robotframework+httplibrary等。
–也可以用 接口自動化來實現(xiàn),就是用代碼實現(xiàn),框架和UI自動化差不多,發(fā)送請求用斷言來判斷。
六、接口測試需要用到的工具
接口測試常用的工具,fiddler抓取請求,apipost模擬客戶端通過對fiddler抓取的請求修改并發(fā)送到服務(wù)端并接收服務(wù)器返回的數(shù)據(jù)及異常來進(jìn)行驗證接口。工具不是固定的,需要根據(jù)項目來進(jìn)行選擇。
七、接口測試發(fā)現(xiàn)的典型問題
接口測試經(jīng)常遇到的bug和問題,如下:
(1)傳入?yún)?shù)處理不當(dāng),導(dǎo)致程序crash;
(2)類型溢出,導(dǎo)致數(shù)據(jù)讀出和寫入不一致;
(3)因?qū)ο髾?quán)限未進(jìn)行校驗,可以訪問其他用戶敏感信息;
(4)狀態(tài)處理不當(dāng),導(dǎo)致邏輯出現(xiàn)錯亂;
(5)邏輯校驗不完善,可利用漏洞獲取非正當(dāng)利益等。
工具下載鏈接:apipost
總結(jié)
以上是生活随笔為你收集整理的接口测试用例_【学习】接口测试用例编写和测试关注点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python hmac_Python实现
- 下一篇: 当代的设计潮流是什么_12月,潮流咖的出