什么是 API?
API 是一個(gè)縮寫,它代表了一個(gè)?pplication?P?AGC 軟件覆蓋整個(gè)房間。API 是用于構(gòu)建軟件應(yīng)用程序的一組例程,協(xié)議和工具。API 指定一個(gè)軟件程序應(yīng)如何與其他軟件程序進(jìn)行交互。
例行程序:執(zhí)行特定任務(wù)的程序。例程也稱為過程,函數(shù)或子例程。
協(xié)議:在兩個(gè)系統(tǒng)之間傳輸數(shù)據(jù)的格式。
簡單地說,API 代表一個(gè)?pplication?P?AGC 軟件覆蓋整個(gè)房間。API 充當(dāng)兩個(gè)軟件應(yīng)用程序之間的接口,并允許兩個(gè)軟件應(yīng)用程序相互通信。API 是可以由另一個(gè)軟件程序執(zhí)行的軟件功能的集合。
讓我們以更平易近人的方式查看一些 API 示例。
假定?API?是餐廳的服務(wù)員。
在餐廳,您可以根據(jù)菜單上的可用商品下訂單。餐廳的服務(wù)員寫下您的訂單,然后將其交付給準(zhǔn)備餐點(diǎn)的廚房。飯食準(zhǔn)備好后,服務(wù)員從廚房拿起您的食物,并在您的餐桌旁將其提供給您。
在這種情況下,服務(wù)員的角色類似于 API。作為服務(wù)員,API 從源接收請求,將該請求接收到數(shù)據(jù)庫,從數(shù)據(jù)庫中獲取請求的數(shù)據(jù),然后將響應(yīng)返回給源。
現(xiàn)在讓我們來看另一個(gè)例子。?
如果您使用的是航班服務(wù)引擎,請說出 Expedia,在其中搜索特定日期的航班。出發(fā)地,目的地,到達(dá)日期和返回日期等數(shù)據(jù)后,單擊搜索。Expedia 根據(jù)您的搜索詳細(xì)信息通過 API 向航空公司發(fā)送請求。然后,API 將航空公司對您的請求的響應(yīng)發(fā)送回 Expedia。
API 從用戶那里獲取請求并給出響應(yīng),而不會暴露內(nèi)部邏輯。API 就像一個(gè)抽象的?OOPS 概念。
什么是 API 測試?
API 測試是一種軟件測試,涉及直接測試 API,并且是集成測試的一部分,以檢查 API 是否在應(yīng)用程序的功能,可靠性,性能和安全性方面達(dá)到期望。在 API 測試中,我們的主要重點(diǎn)是軟件體系結(jié)構(gòu)的業(yè)務(wù)邏輯層。API 測試可以在包含多個(gè) API 的任何軟件系統(tǒng)上執(zhí)行。API 測試不會專注于應(yīng)用程序的外觀。API 測試與 GUI 測試完全不同。
讓我們看看 UI 測試與 API 測試有何不同?
UI(用戶界面)測試是測試應(yīng)用程序的圖形界面部分。它的主要重點(diǎn)是測試應(yīng)用程序的外觀。另一方面,API 測試支持兩個(gè)不同軟件系統(tǒng)之間的通信。它的主要重點(diǎn)是應(yīng)用程序的業(yè)務(wù)層。
API 測試類型?
API 測試通常涉及以下實(shí)踐:
- 單元測試:?測試單個(gè)操作的功能
- 功能測試:?通過使用一起測試的一組單元測試結(jié)果來測試更廣泛場景的功能
- 負(fù)載測試:?測試負(fù)載下的功能和性能
- 運(yùn)行時(shí) / 錯(cuò)誤檢測:?監(jiān)視應(yīng)用程序以識別問題,例如異常和資源泄漏
- 安全測試:??確保 API 的實(shí)施不受外部威脅的影響
- UI 測試:此測試??是端到端集成測試的一部分,以確保用戶界面的各個(gè)方面都能按預(yù)期運(yùn)行
- 互操作性和 WS 一致性測試:??互操作性和 WS 一致性測試是一種適用于 SOAP API 的測試類型。通過確保符合?Web 服務(wù)互操作性概要文件來檢查 SOAP API 之間的互操作性。?對 WS- *?遵從性進(jìn)行了測試,以確保諸如 WS-Addressing,WS-Discovery,WS-Federation,WS-Policy,WS-Security 和 WS-Trust 等標(biāo)準(zhǔn)得到正確實(shí)施和利用
- 滲透測試:??查找來自攻擊者的應(yīng)用程序漏洞
- 模糊測試:??通過強(qiáng)制輸入系統(tǒng)來測試 API,以嘗試強(qiáng)制崩潰
API 的常見測試:
我們在 API 上執(zhí)行的一些常見測試如下。
- 驗(yàn)證返回值是否基于輸入條件。應(yīng)根據(jù)請求驗(yàn)證 API 的響應(yīng)。
- 在 API 更新任何數(shù)據(jù)結(jié)構(gòu)時(shí)驗(yàn)證系統(tǒng)是否正在驗(yàn)證結(jié)果
- 驗(yàn)證 API 是觸發(fā)其他事件還是請求其他 API
- 在沒有返回值的情況下驗(yàn)證 API 的行為
API 測試的優(yōu)勢:
- 與 GUI 測試相比,API 測試是省時(shí)的。API 測試自動化需要更少的代碼,因此可以提供更快,更好的測試范圍。
- API 測試可幫助我們降低測試成本。通過 API 測試,我們可以在 GUI 測試之前發(fā)現(xiàn)一些小錯(cuò)誤。這些小錯(cuò)誤將在 GUI 測試期間變得更大。因此,在 API 測試中發(fā)現(xiàn)這些錯(cuò)誤對公司而言是具有成本效益的。
- API 測試是獨(dú)立于語言的。
- API 測試對測試核心功能很有幫助。我們可以在沒有用戶界面的情況下測試 API。在 GUI 測試中,我們需要等到應(yīng)用程序可用以測試核心功能。
- API 測試可幫助我們降低風(fēng)險(xiǎn)。
API 測試中到底需要驗(yàn)證什么?
基本上,在 API 測試中,我們使用已知數(shù)據(jù)向 API 發(fā)送請求,然后分析響應(yīng)。
- 資料準(zhǔn)確性
- HTTP 狀態(tài)碼
- 響應(yīng)時(shí)間
- API 返回任何錯(cuò)誤時(shí)的錯(cuò)誤代碼
- 授權(quán)檢查
- 非功能測試,例如性能測試,安全性測試
用于 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 測試和單元測試之間的區(qū)別?
單元測試:
- 單元測試由開發(fā)團(tuán)隊(duì)進(jìn)行
- 單元測試是白盒測試的一種形式
- 在將代碼包含在構(gòu)建中之前,先進(jìn)行單元測試
- 源代碼涉及單元測試
- 在單元測試中,測試范圍是有限的,因此僅考慮基本功能進(jìn)行測試
API 測試:
- API 測試由質(zhì)量檢查小組進(jìn)行
- API 測試是黑盒測試的一種形式
- API 測試在構(gòu)建可用于測試之后進(jìn)行
- API 測試中不涉及源代碼
- 在 API 測試中,測試的范圍很廣,因此要考慮所有正常運(yùn)行的問題以進(jìn)行測試
API 測試中的挑戰(zhàn):
在進(jìn)行 API 測試時(shí),我們面臨的一些挑戰(zhàn)如下
- 選擇合適的參數(shù)及其組合
- 正確分類參數(shù)
- 需要正確的呼叫排序,因?yàn)檫@可能導(dǎo)致測試覆蓋范圍不足
- 驗(yàn)證和驗(yàn)證輸出
- 由于沒有 GUI,因此很難提供輸入值
我們在執(zhí)行 API 測試時(shí)會遇到的錯(cuò)誤類型:文章來源:http://www.zghlxwxcb.cn/news/detail-430177.html
????執(zhí)行 API 測試時(shí)觀察到的問題是文章來源地址http://www.zghlxwxcb.cn/news/detail-430177.html
- 壓力,性能和安全性問題
- 功能重復(fù)或缺失
- 可靠性問題
- 消息傳遞不當(dāng)
- 不兼容的錯(cuò)誤處理機(jī)制
- 多線程問題
- 錯(cuò)誤的錯(cuò)誤
API 測試最佳做法:
- 測試預(yù)期結(jié)果
- 發(fā)送一系列 API 負(fù)載測試,給系統(tǒng)增加壓力
- 按測試類別對 API 測試用例進(jìn)行分組
- 使用所有可能的輸入組合創(chuàng)建測試案例,以完整地覆蓋測試
- 優(yōu)先處理 API 函數(shù)調(diào)用,使其易于測試
- 創(chuàng)建測試以處理無法預(yù)料的問題
- 盡可能自動執(zhí)行 API 測試
到了這里,關(guān)于API 測試 | 了解 API 接口測試 | API 接口測試指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!