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