一篇文章入門API測試

什麼是API

API是Application Programming Interface的簡寫。

實現了兩個或多個獨立系統或模塊間的通信和數據交換能力。

什麼是API測試

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協議,不然沒法溝通交流

總結

把日常接口測試工作進行了大概的總結,希望對入門接口測試的朋友們有點效果,沒效果那也沒辦法了,只能這樣了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章