一文搞懂九種 API 測(cè)試方法
今天我們來(lái)聊聊測(cè)試。
測(cè)試的本質(zhì)是檢測(cè)軟件的質(zhì)量,尋找潛在的 bug。
測(cè)試不應(yīng)僅僅是測(cè)試團(tuán)隊(duì)的職責(zé),開(kāi)發(fā)團(tuán)隊(duì)也應(yīng)具有測(cè)試思維并自行寫(xiě)測(cè)試,對(duì)生產(chǎn)環(huán)境懷抱敬畏之心。
測(cè)試團(tuán)隊(duì)也不應(yīng)滿足于前端人工測(cè)試,而是應(yīng)該在自動(dòng)化、覆蓋率和深入理解需求上下功夫。
下圖中展示了 9 種常用的測(cè)試方法。
煙霧測(cè)試
在 API 開(kāi)發(fā)完成后進(jìn)行。只需驗(yàn)證 API 是否正常工作,沒(méi)有任何調(diào)用不通的故障。
功能測(cè)試
根據(jù)功能需求創(chuàng)建測(cè)試計(jì)劃,并將結(jié)果與預(yù)期結(jié)果進(jìn)行比較。一般來(lái)說(shuō),功能測(cè)試覆蓋一些細(xì)粒度的功能模塊,可以是一個(gè) API 調(diào)用或幾個(gè) API 調(diào)用。
集成測(cè)試
該測(cè)試聯(lián)合多個(gè) API 調(diào)用來(lái)執(zhí)行端到端測(cè)試。這種測(cè)試包含了服務(wù)內(nèi)通信和數(shù)據(jù)傳輸,以及各個(gè)模塊間的互動(dòng),很容易暴露在并發(fā)下的設(shè)計(jì)問(wèn)題。
回歸測(cè)試
此測(cè)試確保修復(fù)錯(cuò)誤或上線新功能不會(huì)破壞其他 API 的現(xiàn)有行為。
負(fù)載測(cè)試
通過(guò)模擬不同的負(fù)載來(lái)測(cè)試應(yīng)用程序的性能。然后我們可以計(jì)算該應(yīng)用程序的容量。
壓力測(cè)試
我們故意為 API 創(chuàng)建高負(fù)載,測(cè)試 API 是否能夠正常運(yùn)行。
安全測(cè)試
針對(duì)所有可能的外部威脅測(cè)試 API。比如,服務(wù)是否可以承受 DDoS 攻擊,前端輸入框是否可以進(jìn)行 SQL 注入攻擊。這個(gè)方面有不少安全掃描工具可以用。也可以定期關(guān)注 OWASP (Open Web Application Security Project) 發(fā)布的文檔來(lái)有針對(duì)性地進(jìn)行測(cè)試。
用戶界面測(cè)試
此測(cè)試用戶界面與 API 的交互,以確保數(shù)據(jù)能夠正常顯示。
模糊測(cè)試
將無(wú)效或意外輸入數(shù)據(jù)注入 API,并嘗試使 API 崩潰。通過(guò)這種方式,可以識(shí)別 API 漏洞。