這個問題還是從需求、測試用例設(shè)計、執(zhí)行來說吧。
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)定結(jié),10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
A.需求
首先要了解這個接態(tài)液口提供的服務(wù)的需求定義,那么我們就知道大概測試的結(jié)果是啥。同時理論上要先提供接口規(guī)范,方便后續(xù)測試,以及給調(diào)用者聯(lián)調(diào)的一個文檔約定。
B.測試用例設(shè)計
根據(jù)測試的接口規(guī)范,基于業(yè)務(wù)進行場景設(shè)計,再結(jié)合邊界值設(shè)計方法、等價類劃分等常用設(shè)計方法進行用例設(shè)計。
1.設(shè)計的方向是常規(guī)的測試用例設(shè)計:協(xié)議規(guī)范測試、接口入?yún)ⅰ⒔涌诔鰠ⅰ?/p>
協(xié)議規(guī)范測試:比如HTTP協(xié)議:URL地址、Header測試。不過一般情況下,默認(rèn)調(diào)用者按照接口規(guī)范正常調(diào)用。這個不用過于詳細(xì)測試。
2.接口入?yún)ⅲ簠?shù)個數(shù)測試(注意是否必傳字段),參數(shù)值測試(為空、正常值、非法值等,以及首尾有空格是否過濾)。
3.接口出參:至少涵蓋一條成功的響應(yīng)和一條失敗的響應(yīng),當(dāng)然我們測試出更多錯誤碼,我們的覆蓋率也就更全面。
4.業(yè)務(wù)場景用例: 這個需要你對于這個接口的業(yè)務(wù)的了解程度,而且這是最重要的部分。
比如中間使用了緩存服務(wù)(第一次緩存沒有,是不是直接讀數(shù)據(jù)源,并存入緩存;第二次帆啟物直接讀取緩存是否正確);
比如需要考慮請求外部的接口獲取相應(yīng)的信息的時間損耗(連接不上外部接口,外部接口下線了,外部接口響應(yīng)太慢);
C.測試用例執(zhí)行
1.需要你對接口協(xié)議有一定的了解,選擇適當(dāng)?shù)拈_源工具(如postman)或者自己編寫腳本進行模擬請求。
2.需要熟悉接口所使用的中間件等知識(比如redis、kafka、mysql數(shù)據(jù)庫)。
3.需要模擬外部接口返回給你現(xiàn)在正在驗證的程序的接口。(比如扣費業(yè)務(wù),你不可能每測一個業(yè)務(wù),就去調(diào)真實扣費)。
是web開發(fā)接口嗎?建議使用Postman
一、什么是接口?
接口測試主要用于外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部旁銷各個子系統(tǒng)之間的交互點,定義特定的交互點,然后通過這些交互點來,通過一些特殊的規(guī)則也就是協(xié)議,來進行數(shù)據(jù)之間的交互。
二、 常用接口采用方式:
1、webService接口:是走soap協(xié)議通過http傳輸,請求報文和返回報文都是xml格式的,我們在測試的時候都用通過工具才能進行調(diào)用,測試。可以使用的工具有apipost、jmeter、loadrunner等;
2、http api接口:是走h(yuǎn)ttp協(xié)議,通過路徑來區(qū)分調(diào)用的方法,請求報文都是key-value形式的,返回報文一般都是json串,有g(shù)et和
post等方法,這也是最常用的兩種請求方式??梢允褂玫墓ぞ哂衋pipost、jmeter、loadrunner等;
三、前端和后端
前端:網(wǎng)站前端是對網(wǎng)頁靜態(tài)頁面的設(shè)計,通俗的來說,就是我們?nèi)庋勰芸吹牡降臇|西,當(dāng)我們?yōu)g覽網(wǎng)站的時候所看到的頁面上的內(nèi)容幾乎都是屬于前端,前端的工作就是網(wǎng)站頁面,靜態(tài)的頁面是沒有后端成分的,前端主要包括html和css外加js等一些樣式和布局。
后端: 網(wǎng)站的后端就是動態(tài)網(wǎng)站的技術(shù),比如網(wǎng)站上的一些注冊登錄和一些彈窗,這些都是后端的邏輯,常用的后端語言有php,jsp等,后端的數(shù)據(jù)庫也包含myspl等,都是對后端進行存儲數(shù)據(jù)。
四、 接口測試概念
接口測試是測試系統(tǒng)組件間接口的一種測試。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互點。測試的重點是要檢查數(shù)據(jù)的交換,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等(通俗來說就是,檢查業(yè)務(wù)邏輯是否滿足業(yè)務(wù)需求,校驗字段是否正常你實際結(jié)果是否滿足預(yù)期)
五、 接口的組成:
a、接口說明
b、調(diào)用url
c、請求方法(getpostput等)
d、請求參數(shù)、參數(shù)類型、請求參數(shù)說明
e、返回參數(shù)說明
六、為什么要做接口測試,接口測試的目標(biāo)
接口其實app和前端交互用的,所以好多人問,為啥做功能測試還要測接口,目標(biāo)是啥不是多此一舉嗎?首先我告訴大家,這種想法是錯誤的
那么舉一個例子:
例如一個登陸接口,例如產(chǎn)品上規(guī)定用戶名6-10個字符數(shù)字下劃線,但后端沒做判斷。但我們業(yè)務(wù)人員測試肯定驗證,但只是前端做了校驗,后端壓根就忘了這個小需求.那么后果來了如果一個懂的直接抓包去篡改你的接口,然后繞過校驗,通過sql注入直接隨意登錄。如果你這是一個下單業(yè)務(wù),是不是給公司造成了很大損失
所以此時此刻接口測試目標(biāo)來了:
1.可能發(fā)現(xiàn)客戶端沒有發(fā)現(xiàn)的bug(那么也叫隱藏bug)
2.及早爆出風(fēng)險(保證質(zhì)量正常上線)
3.接口穩(wěn)定了,前端隨便改
4.最重要檢查系統(tǒng)安全性,穩(wěn)定性
七、如何進行接口測試
1.使用接口測試工具進行測試,接口測試和接口文檔生成工具apipost,接口測試和性能測試工具jmeter
2.接口狀態(tài)碼表示含義
例如:200(成功)/300(重定向別的地方)/400(請求語法錯誤)/500(服務(wù)器異常)
測試點:
B. 參數(shù)組合(傳入不同值)
C. 接口安全(繞過驗證/繞過身份驗證/參數(shù)是否加密等)
D. 異常驗證(輸入異常參數(shù)邊界值)
練