API 測試 | 瞭解 API 介面測試 | API 介面測試指南
什麼是 API?
API 是一個縮寫,它代表了一個 pplication P AGC 軟體覆蓋整個房間。API 是用於構建軟體應用程式的一組例程,協議和工具。API 指定一個軟體程式應如何與其他軟體程式進行互動。
例行程式:執行特定任務的程式。例程也稱為過程,函式或子例程。
協議:在兩個系統之間傳輸資料的格式。
簡單地說,API 代表一個 pplication P AGC 軟體覆蓋整個房間。API 充當兩個軟體應用程式之間的介面,並允許兩個軟體應用程式相互通訊。API 是可以由另一個軟體程式執行的軟體功能的集合。
讓我們以更平易近人的方式檢視一些 API 示例。
假定 API 是餐廳的服務員。
在餐廳,您可以根據選單上的可用商品下訂單。餐廳的服務員寫下您的訂單,然後將其交付給準備餐點的廚房。飯食準備好後,服務員從廚房拿起您的食物,並在您的餐桌旁將其提供給您。
在這種情況下,服務員的角色類似於 API。作為服務員,API 從源接收請求,將該請求接收到資料庫,從資料庫中獲取請求的資料,然後將響應返回給源。
現在讓我們來看另一個例子。
如果您使用的是航班服務引擎,請說出 Expedia,在其中搜尋特定日期的航班。出發地,目的地,到達日期和返回日期等資料後,單擊搜尋。Expedia 根據您的搜尋詳細資訊透過 API 向航空公司傳送請求。然後,API 將航空公司對您的請求的響應傳送回 Expedia。
API 從使用者那裡獲取請求並給出響應,而不會暴露內部邏輯。API 就像一個抽象的 OOPS 概念。
什麼是 API 測試?
API 測試是一種軟體測試,涉及直接測試 API,並且是整合測試的一部分,以檢查 API 是否在應用程式的功能,可靠性,效能和安全性方面達到期望。在 API 測試中,我們的主要重點是軟體體系結構的業務邏輯層。API 測試可以在包含多個 API 的任何軟體系統上執行。API 測試不會專注於應用程式的外觀。API 測試與 GUI 測試完全不同。
讓我們看看 UI 測試與 API 測試有何不同?
UI(使用者介面)測試是測試應用程式的圖形介面部分。它的主要重點是測試應用程式的外觀。另一方面,API 測試支援兩個不同軟體系統之間的通訊。它的主要重點是應用程式的業務層。
API 測試型別?
API 測試通常涉及以下實踐:
單元測試: 測試單個操作的功能
功能測試: 透過使用一起測試的一組單元測試結果來測試更廣泛場景的功能
負載測試: 測試負載下的功能和效能
執行時 / 錯誤檢測: 監視應用程式以識別問題,例如異常和資源洩漏
安全測試: 確保 API 的實施不受外部威脅的影響
UI 測試:此測試 是端到端整合測試的一部分,以確保使用者介面的各個方面都能按預期執行
互操作性和 WS 一致性測試: 互操作性和 WS 一致性測試是一種適用於 SOAP API 的測試型別。透過確保符合 Web 服務互操作性概要檔案來檢查 SOAP API 之間的互操作性。 對 WS- * 遵從性進行了測試,以確保諸如 WS-Addressing,WS-Discovery,WS-Federation,WS-Policy,WS-Security 和 WS-Trust 等標準得到正確實施和利用
滲透測試: 查詢來自攻擊者的應用程式漏洞
模糊測試: 透過強制輸入系統來測試 API,以嘗試強制崩潰
API 的常見測試:
我們在 API 上執行的一些常見測試如下。
驗證返回值是否基於輸入條件。應根據請求驗證 API 的響應。
在 API 更新任何資料結構時驗證系統是否正在驗證結果
驗證 API 是觸發其他事件還是請求其他 API
在沒有返回值的情況下驗證 API 的行為
API 測試的優勢:
與 GUI 測試相比,API 測試是省時的。API 測試自動化需要更少的程式碼,因此可以提供更快,更好的測試範圍。
API 測試可幫助我們降低測試成本。透過 API 測試,我們可以在 GUI 測試之前發現一些小錯誤。這些小錯誤將在 GUI 測試期間變得更大。因此,在 API 測試中發現這些錯誤對公司而言是具有成本效益的。
API 測試是獨立於語言的。
API 測試對測試核心功能很有幫助。我們可以在沒有使用者介面的情況下測試 API。在 GUI 測試中,我們需要等到應用程式可用以測試核心功能。
API 測試可幫助我們降低風險。
API 測試中到底需要驗證什麼?
基本上,在 API 測試中,我們使用已知資料向 API 傳送請求,然後分析響應。
資料準確性
HTTP 狀態碼
響應時間
API 返回任何錯誤時的錯誤程式碼
授權檢查
非功能測試,例如效能測試,安全性測試
用於 API 測試的工具:
用於 API 測試的一些工具如下:
Postman
Katalon Studio
SoapUI
Assertible
Tricentis Tosca
Apigee
JMeter
Rest-Assured
Karate DSL
API Fortress
Parasoft
HP QTP(UFT)
vREST
Airborne
API Science
APIary Inspector
Citrus Framework
Hippie-Swagger
HttpMaster Express
Mockbin
Ping API
Pyresttest
Rest Console
RoboHydra Server
SOAP Sonar
Unirest
WebInject
API 測試和單元測試之間的區別?
單元測試:
單元測試由開發團隊進行
單元測試是白盒測試的一種形式
在將程式碼包含在構建中之前,先進行單元測試
原始碼涉及單元測試
在單元測試中,測試範圍是有限的,因此僅考慮基本功能進行測試
API 測試:
API 測試由質量檢查小組進行
API 測試是黑盒測試的一種形式
API 測試在構建可用於測試之後進行
API 測試中不涉及原始碼
在 API 測試中,測試的範圍很廣,因此要考慮所有正常執行的問題以進行測試
API 測試中的挑戰:
在進行 API 測試時,我們面臨的一些挑戰如下
選擇合適的引數及其組合
正確分類引數
需要正確的呼叫排序,因為這可能導致測試覆蓋範圍不足
驗證和驗證輸出
由於沒有 GUI,因此很難提供輸入值
我們在執行 API 測試時會遇到的錯誤型別:
執行 API 測試時觀察到的問題是
壓力,效能和安全性問題
功能重複或缺失
可靠性問題
訊息傳遞不當
不相容的錯誤處理機制
多執行緒問題
錯誤的錯誤
API 測試做法:
測試預期結果
傳送一系列 API 負載測試,給系統增加壓力
按測試類別對 API 測試用例進行分組
使用所有可能的輸入組合建立測試案例,以完整地覆蓋測試
優先處理 API 函式呼叫,使其易於測試
建立測試以處理無法預料的問題
儘可能自動執行 API 測試
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026910/viewspace-2944430/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- API測試:瞭解API介面測試與API介面測試指南API
- 瞭解1688API介面測試 | 1688 API介面測試指南API
- 1688 API介面測試指南API
- 小紅書API介面測試 | 小紅書筆記詳情 API 介面測試指南API筆記
- 商品API介面測試步驟API
- 黑羽壓測 做 API介面功能測試API
- 快速測試 API 介面的新技能API
- 如何選擇測試微信域名檢測介面-域名檢測api介面測試標準API
- Stub-API 下的介面自動測試API
- API測試之Postman使用全指南APIPostman
- Postman之API測試使用全指南PostmanAPI
- Django REST framework API 指南(26):測試DjangoRESTFrameworkAPI
- OpenAI ChatGPT API介面免費測試程式碼分享OpenAIChatGPTAPI
- api-hook,更輕量的介面測試工具APIHook
- api測試框架 GuardianAPI框架
- API介面的測試步驟和返回資料展示API
- API自動化測試平臺,支援場景化的API測試API
- 測試人員如何提高API功能測試效率?API
- 介面測試測試流程
- API自動化測試API
- Spring API 的 CORS 測試SpringAPICORS
- Just-API:無需編碼測試APIAPI
- Jmeter介面測試+效能測試JMeter
- 介面測試 - 引數測試
- 【軟體測試】——介面測試
- jmeter介面測試教程以及介面測試流程JMeter
- 初步瞭解URL(介面測試必備)
- drf : web應用模式,RESTful API規範,介面測試工具:PostmanWeb模式RESTAPIPostman
- 第三方API介面測試問題反饋文件API
- burpsuite學院之api測試UIAPI
- API 安全中的“左移”測試API
- 使用 HTTPie 進行 API 測試HTTPAPI
- 常用的api管理測試工具API
- 使用PostMan進行API測試PostmanAPI
- Go 單元測試之HTTP請求與API測試GoHTTPAPI
- API自動化測試平臺,高效實現對API的自動化測試API
- 介面測試要測試什麼?
- 測試平臺之介面測試