1. 程式人生 > >什麽是API測試

什麽是API測試

用戶 left 類型 過程 系統 覆蓋率 add 分析 高度

什麽是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測試