什麼是API安全
API是Application Programming Interface的簡寫。數據結構
實現了兩個或多個獨立系統或模塊間的通訊和數據交換能力。多線程
什麼是API測試架構
圖片.png工具
API測試是不一樣於UI級自動化測試,其主要關注在系統架構的業務邏輯層,因此其主要關注不在於UI操做或用戶感觀上,更重調用邏輯關係。性能
與UI級自動化測試經過控制鍵盤輸入和鼠標等操做不一樣的是:API測試,咱們是經過工具或代碼方式去調用特定的API,獲取輸出,並記錄系統的響應。測試
API測試須要與應用程序的API進行交互,爲了測試這些API,咱們能夠:加密
使用測試工具來進行測試spa
本身寫代碼的方式進行測試線程
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協議,否則無法溝通交流
總結
把平常接口測試工做進行了大概的總結,但願對入門接口測試的朋友們有點效果,沒效果那也沒辦法了,只能這樣了。