[雪峰磁針石部落格]介面測試面試題

書籍尋找發表於2018-11-19

文最新更新體現在pdf文件:介面測試面試題.pdf

什麼是API?

API是(Application Programming Interface)首字母縮略詞,即應用程式程式設計介面。 API是一組用於構建軟體應用程式的規程,協議和工具。API充當軟體應用程式之間的介面,並允許兩個軟體應用程式相互通訊。 API是一組軟體功能,可以由其他軟體執行。

概念相關的題目, 10分鐘學會API測試 可供參考。

什麼是API測試?

API測試是一種軟體測試,涉及直接測試API,也是整合測試的一部分,用於檢查API是否滿足應用程式的功能,可靠性,效能和安全性方面的期望。在API測試中,我們主要關注軟體架構的業務邏輯層。可以在包含多個API的任何軟體系統上執行API測試。

常見的API測試型別有哪些?

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

  • 單元測試
  • 功能測試
  • 負載測試
  • 執行時/錯誤檢測
  • 安全測試
  • UI測試
  • 互操作性和WS一致性測試
  • 滲透測試
  • 模糊測試

列舉API測試中使用的一些常用協議?3個即可。

  • thrift
  • HTTP
  • REST
  • SOAP
  • JMS
  • UDDI
  • dubbo

API和Web服務之間的區別?

Web服務:

  • 所有Web服務都是API
  • 所有Web服務都需要通過Web(HTTP)公開
  • Web服務只有三種使用方式:SOAP,REST和XML-RPC進行通訊

介面:

  • API有很多並不基於HTTP
  • API使用多種方式進行通訊,例如C / C ++中的DLL檔案,java中的Jar檔案/ RMI,Linux核心API中的中斷等。

什麼是Soap?

SOAP代表簡單物件訪問協議(Simple Object Access Protocol)。它是一種基於XML的訊息傳遞協議。雖說名字帶了簡單,但是協議比較羅嗦,已經遠沒有後來居上的JSON使用廣泛。

什麼是Rest API?

REST即Representational State Transfer。它是一組幫助開發人員執行請求和接收響應的函式。通過REST API中的HTTP協議進行互動。

SOAP和REST的區別?

SOAP:

  • 通過共享XML文件進行通訊
  • 僅支援XML格式
  • 不支援快取
  • SOAP比REST慢
  • SOAP就像自定義桌面應用程式,緊密連線到伺服器
  • SOAP基於HTTP進行封裝

REST:

  • 基於網路的軟體架構的服務架構和設計
  • 支援不同的資料格式
  • 支援快取
  • 比SOAP更快
  • REST客戶端就像瀏覽器並使用應用程式必須適合的標準方法
  • REST使用HTTP標頭來儲存元資訊

API常見測試有哪些?

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

  • 驗證不同輸入條件的返回。
  • 驗證不同資料結構
  • 驗證API是否觸發其他事件或請求其他API
  • 在沒有返回值時驗證API的行為

API測試有哪些優勢?

  • 更快及更高的測試覆蓋率。
  • API測試有助於我們降低測試成本。通過API測試,我們可以在GUI測試之前找到小錯誤。在GUI測試期間,這些小錯誤將變得更大。因此,在API測試中發現這些錯誤將對公司具有成本效益。
  • API測試與語言無關。
  • API測試在測試核心功能方面非常有用。我們可以在沒有使用者介面的情況下測試API。在GUI測試中,我們需要等到應用程式可用於測試核心功能。
  • API測試有助於我們降低風險。

API測試中究竟需要驗證哪些內容?

  • 資料準確性
  • HTTP或其他協議狀態程式碼
  • 響應時間
  • API返回任何錯誤時的錯誤程式碼
  • 授權檢查
  • 非功能測試,如效能測試,安全測試

列舉一些用於API測試的工具?

用於API測試的一些工具如下:

python是目前介面測試使用最廣的語言,python 測試框架 及python 抓包工具(Hardware)都可參考。

列出一些最常用的API文件模板?

一些API文件模板如下。

  • Swagger
  • FlatDoc
  • RestDoc
  • API blueprint
  • Slate
  • Miredot
  • Web服務API規範。

列舉一些非常受歡迎的API。

  • Google Maps API
  • YouTube的
  • 推特Twitter
  • 亞馬遜廣告API
  • 微博認證API
  • 釘釘開放介面

API測試和單元測試之間的區別?

單元測試:

  • 多由開發團隊進行
  • 白盒測試
  • 構建中的過程之前
  • 涉及原始碼
  • 測試範圍有限,只考慮基本功能

API測試

  • 多由QA團隊進行
  • 多為黑盒測試
  • 在構建部署後進行
  • 大多不涉及原始碼API測試
  • 測試範圍很廣

API測試面臨的主要挑戰是什麼?

  • 適當的引數及其組合
  • 正確分類引數
  • 順序
  • 驗證輸出
  • 由於缺少GUI,提供輸入值較困難

執行API測試時我們面臨的BUG型別是什麼?

  • 壓力,效能和安全問題
  • 功能重複或缺失
  • 可靠性問題
  • 訊息不當
  • 不相容的錯誤處理機制
  • 多執行緒問題
  • 不合適的錯誤

UI測試與API測試有何不同?

UI(使用者介面)測試是測試應用程式的圖形介面部分。它的主要重點是測試應用程式的外觀和感覺。API測試支援兩個不同軟體系統之間的通訊。它的主要重點是應用程式的業務層。

列舉一些最常用的HTTP方法?

  • GET:從伺服器檢索資料
  • POST:將資料新增到伺服器中的現有檔案或資源
  • PUT:它允許您替換伺服器中的現有檔案或資源
  • DELETE:它允許您從伺服器中刪除資料
  • PATCH:用於對資源進行部分修改
    選項:用於描述目標資源的通訊選項
  • HEAD:它要求響應與GET請求相同,但沒有響應正文

可以使用GET請求而不是PUT來建立資源嗎?

不,GET請求僅允許只讀許可權。它使您可以從伺服器檢索資料,但不能建立資源。應使用PUT或POST方法來建立資源。

PUT和POST方法有什麼區別?

POST用於在伺服器上建立新物件,PUT請求用於在替換物件。

當客戶端將頁面傳送到伺服器,然後伺服器讓客戶端知道它放在何處時,應該使用POST。當客戶端指定頁面的位置時,應使用PUT。

參考資料


相關文章