<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          API測試| 了解API接口測試| API接口測試指南

          共 2906字,需瀏覽 6分鐘

           ·

          2020-08-15 21:56



          什么是API?

          API是一個縮寫,它代表了一個?pplication?P?AGC軟件覆蓋整個房間。API是用于構(gòu)建軟件應(yīng)用程序的一組例程,協(xié)議和工具。API指定一個軟件程序應(yīng)如何與其他軟件程序進(jìn)行交互。

          例行程序:執(zhí)行特定任務(wù)的程序。例程也稱為過程,函數(shù)或子例程。

          協(xié)議:在兩個系統(tǒng)之間傳輸數(shù)據(jù)的格式。

          簡單地說,API代表一個?pplication?P?AGC軟件覆蓋整個房間。API充當(dāng)兩個軟件應(yīng)用程序之間的接口,并允許兩個軟件應(yīng)用程序相互通信。API是可以由另一個軟件程序執(zhí)行的軟件功能的集合。


          讓我們以更平易近人的方式查看一些API示例。

          假定API餐廳服務(wù)員

          在餐廳,您可以根據(jù)菜單上的可用商品下訂單。餐廳的服務(wù)員寫下您的訂單,然后將其交付給準(zhǔn)備餐點的廚房。飯食準(zhǔn)備好后,服務(wù)員從廚房拿起您的食物,并在您的餐桌旁將其提供給您。

          在這種情況下,服務(wù)員的角色類似于API。作為服務(wù)員,API從源接收請求,將該請求接收到數(shù)據(jù)庫,從數(shù)據(jù)庫中獲取請求的數(shù)據(jù),然后將響應(yīng)返回給源。

          現(xiàn)在讓我們來看另一個例子。

          如果您使用的是航班服務(wù)引擎,請說出Expedia,在其中搜索特定日期的航班。出發(fā)地,目的地,到達(dá)日期和返回日期等數(shù)據(jù)后,單擊搜索。Expedia根據(jù)您的搜索詳細(xì)信息通過API向航空公司發(fā)送請求。然后,API將航空公司對您的請求的響應(yīng)發(fā)送回Expedia。

          API從用戶那里獲取請求并給出響應(yīng),而不會暴露內(nèi)部邏輯。API就像一個抽象OOPS概念

          什么是API測試?

          API測試是一種軟件測試,涉及直接測試API,并且是集成測試的一部分,以檢查API是否在應(yīng)用程序的功能,可靠性,性能和安全性方面達(dá)到期望。在API測試中,我們的主要重點是軟件體系結(jié)構(gòu)的業(yè)務(wù)邏輯層API測試可以在包含多個API的任何軟件系統(tǒng)上執(zhí)行。API測試不會專注于應(yīng)用程序的外觀。API測試與GUI測試完全不同。

          讓我們看看UI測試與API測試有何不同?

          UI(用戶界面)測試是測試應(yīng)用程序的圖形界面部分。它的主要重點是測試應(yīng)用程序的外觀。另一方面,API測試支持兩個不同軟件系統(tǒng)之間的通信。它的主要重點是應(yīng)用程序的業(yè)務(wù)層。


          API測試類型?

          API測試通常涉及以下實踐:

          • 單元測試:?測試單個操作的功能

          • 功能測試:?通過使用一起測試的一組單元測試結(jié)果來測試更廣泛場景的功能

          • 負(fù)載測試:?測試負(fù)載下的功能和性能

          • 運行時/錯誤檢測:?監(jiān)視應(yīng)用程序以識別問題,例如異常和資源泄漏

          • 安全測試:??確保API的實施不受外部威脅的影響

          • UI測試:此測試??是端到端集成測試的一部分,以確保用戶界面的各個方面都能按預(yù)期運行

          • 互操作性和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)得到正確實施和利用

          • 滲透測試:??查找來自攻擊者的應(yīng)用程序漏洞

          • 模糊測試:??通過強制輸入系統(tǒng)來測試API,以嘗試強制崩潰


          API的常見測試:

          我們在API上執(zhí)行的一些常見測試如下。

          • 驗證返回值是否基于輸入條件。應(yīng)根據(jù)請求驗證API的響應(yīng)。

          • 在API更新任何數(shù)據(jù)結(jié)構(gòu)時驗證系統(tǒng)是否正在驗證結(jié)果

          • 驗證API是觸發(fā)其他事件還是請求其他API

          • 在沒有返回值的情況下驗證API的行為

          API測試的優(yōu)勢:

          • 與GUI測試相比,API測試是省時的。API測試自動化需要更少的代碼,因此可以提供更快,更好的測試范圍。

          • API測試可幫助我們降低測試成本。通過API測試,我們可以在GUI測試之前發(fā)現(xiàn)一些小錯誤。這些小錯誤將在GUI測試期間變得更大。因此,在API測試中發(fā)現(xiàn)這些錯誤對公司而言是具有成本效益的。

          • API測試是獨立于語言的。

          • API測試對測試核心功能很有幫助。我們可以在沒有用戶界面的情況下測試API。在GUI測試中,我們需要等到應(yīng)用程序可用以測試核心功能。

          • API測試可幫助我們降低風(fēng)險。

          API測試中到底需要驗證什么?

          基本上,在API測試中,我們使用已知數(shù)據(jù)向API發(fā)送請求,然后分析響應(yīng)。

          • 資料準(zhǔn)確性

          • HTTP狀態(tài)碼

          • 響應(yīng)時間

          • API返回任何錯誤時的錯誤代碼

          • 授權(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ā)團隊進(jìn)行

          • 單元測試是白盒測試的一種形式

          • 在將代碼包含在構(gòu)建中之前,先進(jìn)行單元測試

          • 源代碼涉及單元測試

          • 在單元測試中,測試范圍是有限的,因此僅考慮基本功能進(jìn)行測試

          API測試:

          • API測試由質(zhì)量檢查小組進(jìn)行

          • API測試是黑盒測試的一種形式

          • API測試在構(gòu)建可用于測試之后進(jìn)行

          • API測試中不涉及源代碼

          • 在API測試中,測試的范圍很廣,因此要考慮所有正常運行的問題以進(jìn)行測試

          API測試中的挑戰(zhàn):

          在進(jìn)行API測試時,我們面臨的一些挑戰(zhàn)如下

          • 選擇合適的參數(shù)及其組合

          • 正確分類參數(shù)

          • 需要正確的呼叫排序,因為這可能導(dǎo)致測試覆蓋范圍不足

          • 驗證和驗證輸出

          • 由于沒有GUI,因此很難提供輸入值

          我們在執(zhí)行API測試時會遇到的錯誤類型:

          ????執(zhí)行API測試時觀察到的問題是

          • 壓力,性能和安全性問題

          • 功能重復(fù)或缺失

          • 可靠性問題

          • 消息傳遞不當(dāng)

          • 不兼容的錯誤處理機制

          • 多線程問題

          • 錯誤的錯誤


          API測試最佳做法:

          • 測試預(yù)期結(jié)果

          • 發(fā)送一系列API負(fù)載測試,給系統(tǒng)增加壓力

          • 按測試類別對API測試用例進(jìn)行分組

          • 使用所有可能的輸入組合創(chuàng)建測試案例,以完整地覆蓋測試

          • 優(yōu)先處理API函數(shù)調(diào)用,使其易于測試

          • 創(chuàng)建測試以處理無法預(yù)料的問題

          • 盡可能自動執(zhí)行API測試


          推薦閱讀

          瀏覽 64
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一本大道久久 | 在线播放亚洲天堂 | 久热视频在线观看 | 三级日逼 | AV影院啪啪啪 |