什麽是API測試
什麽是API
API是Application Programming Interface的簡寫。
實現了兩個或多個獨立系統或模塊間的通信和數據交換能力。
什麽是API測試
圖片.png
API測試是不同於UI級自動化測試,其主要關註在系統架構的業務邏輯層,所以其主要關註不在於UI操作或用戶感觀上,更重調用邏輯關系。
與UI級自動化測試通過控制鍵盤輸入和鼠標等操作不同的是:API測試,我們是通過工具或代碼方式去調用特定的API,獲取輸出,並記錄系統的響應。
API測試需要與應用程序的API進行交互,為了測試這些API,我們可以:
-
使用測試工具來進行測試
-
自己寫代碼的方式進行測試
API測試準備工作
首先你得獲取目標測試系統的API相關文檔,例如API對應的參數格式、期望返回結果等(一由開發提供文檔,二自己抓包分析)
就我們所處國內的實際情況,在大部分情況下,開發都沒有成型的文檔。所以作為測試人員,你應該具備以下技能:
-
優先去推動開發生成一份合適的API說明文檔
-
掌握抓包分析工具,能夠自己去抓包分析形成API文檔
-
至少把http協議掌握,了解其報文結構
-
對用戶業務熟悉,能把API級業務邏輯和用戶業務結合起來
API主要測試什麽
API級測試至少應該覆蓋以下測試要點:
-
驗證API所暴露的資源是否恰當的列出、創建、修改、和刪除
-
驗證API是否功能可用以及用戶友好,是否便於與其他平臺集成
-
安全測試,驗證API是否包含了必要的認證以及敏感數據是否做了脫敏處理,是否支持加密或明碼的http訪問
-
自動化測試,將API高度業務場景化,實現自動化測試
-
文檔,形成足夠的文檔,確保API質量的可維護行
API測試要註意什麽
在API測試過程中要重點關註什麽呢?
-
API測試用例要進行分類分組
-
每個API測試用例都應該參數化
-
在測試執行時,優先執行API測試
-
測試用例應該盡可能做到可獨立執行
-
為了確保覆蓋率,應該為API的所有可能輸入進行測試數據規劃
API測試能發現什麽bug
在API測試時,一般會發現哪類型的bug呢?
-
無法正確處理錯誤的深入條件
-
缺少或重復功能
-
可靠性問題
-
安全問題
-
多線程問題
-
性能問題
-
響應數據結構不規範問題
-
有效參數值不能正確處理
API測試有哪些工具
-
SoapUI
-
JMeter
-
PostMan
-
自己寫代碼
其他工具不推薦了,筆者首推SoapUI或自己寫代碼
API測試你可能遭遇哪些大坑
-
無效的測試數據規劃,導致你的參數窮舉組合
-
因為沒有界面,開發又不提供文檔的情況下,大部分人無從下手,會一臉懵逼
-
平時測試大都關註正常的正常的情況,但要註意異常處理API必須進行測試,你懂的
-
代碼你要會點代碼,會點HTTP協議,不然沒法溝通交流
總結
把日常接口測試工作進行了大概的總結,希望對入門接口測試的朋友們有點效果,沒效果那也沒辦法了,只能這樣了。
什麽是API測試