接口測試要測試什麼?怎麼測?

 

本文主要分爲兩個部分:前端

  第一部分:主要從問題出發,引入接口測試的相關內容並與前端測試進行簡單對比,總結二者以前的區別與聯繫java

  第二部分:主要介紹爲何要作接口測試,並簡單總結接口持續集成和接口質量評估相關內容。mysql

 

第一部分:sql

首先,在作接口測試的過程當中,常常有後端開發會問:數據庫

  1. 後端接口都測試什麼?怎麼測的?
  2. 後端接口測試一遍 ,前端也測試一遍,是否是重複測試了?

      因而,爲了向開發解釋上述問題,普及基本的測試常識,特地梳理了接口測試的相關內容以及其與前端測試的區別,使開發團隊與測試團隊在測試這件上達成基本的共識,提升團隊協做效率,從而更好的保證產品質量。後端

 

而後,咱們試着回答上面的問題:安全

問題1.一、後端接口都測試什麼?服務器

  --回答這個問題,咱們能夠從接口測試活動內容的角度下手,看一下面這張圖,基本反應了當前咱們項目後端接口測試的主要內容:併發

 

 

問題1.二、咱們怎麼作接口測試?app

  --因爲咱們項目先後端調用主要是基於http協議的接口,因此測試接口時主要是經過工具或代碼模擬http請求的發送與接收。工具備不少如:postman、jmeter、soupUI、Java+httpclient等。

 

問題二、後端接口測試一遍 ,前端也測試一遍,是否是重複測試了?

  --回答這個問題,咱們能夠直接對比接口測試和app端測試活動的內容,以下圖爲app測試時須要覆蓋或考慮內容:

   從上面這兩張圖對比能夠看出,兩個測試活動中相同的部分有功能測試、邊界分析測試和性能測試,其它部分因爲各自特性或關注點不一樣須要進行特殊的測試,在此不作討論。接下來咱們針對以上三部分相同的內容再進行分析:

一、基本功能測試:

  因爲是針對基本業務功能進行測試,因此這部分是兩種測試重合度最高的一塊。

二、邊界分析測試:

  在基本功能測試的基礎上考慮輸入輸出的邊界條件,這部份內容也會有重複的部分(好比業務規則的邊界)。可是,前端的輸入輸出不少時候都是提供固守的值讓用戶選擇(以下拉框),在這種狀況下測試的邊界範圍就很是有限。

 三、性能測試:

  這個比較容易區分,雖然都須要作性能測試,但關注點確大不相同。App端性能主要關注與手機相關的特性,如手機cpu、內存、流量、fps等。而接口性能主要關注接口響應時間、併發、服務端資源的使用狀況等。

 

綜論:

      一、接口測試和app測試的活動有部分重複的內容,主要集中在業務功能測試方面。除此以外,針對各自特性的測試都不同,須要分別進行有針對性的測試,才能確保整個產品的質量。

  二、接口測試能夠關注於服務器邏輯驗證,而UI測試能夠關注於頁面展現邏輯及界面前端與服務器集成驗證

  

二部分:

一、什麼是接口測試?

      接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。

 

二、爲何要作接口測試?我我的認爲有三個緣由:

   1)、儘早暴露出接口問題,減小返工工做量 
   2)、自動化接口測試,減小冒煙、迴歸測試的重複工做

   3)、接口測試相對容易實現自動化持續集成,且相對UI自動化也比較穩定,能夠減小人工迴歸測試人力成本與時間,縮短測試周期,支持後端快速發版需求。

 

三、接口測試持續集成:

      對接口測試而言,持續集成自動化是核心內容,經過持自動化的手段咱們才能作到低成本高收益。目前咱們已經實現了接口自動化,主要應用於迴歸階段,後續還須要增強自動化的程度,包括但不限於下面的內容:

  a) 流程方面:在迴歸階段增強接口異常場景的覆蓋度,並逐步向系統測試,冒煙測試階段延伸,最終達到全流程自動化。

  b) 結果展現:更加豐富的結果展現、趨勢分析,質量統計和分析等

  c) 問題定位:報錯信息、日誌更精準,方便問題復現與定位。

  d) 結果校驗:增強自動化校驗能力,如數據庫信息校驗。

  e) 性能需求:完善性能測試體系,經過自動化的手段監控接口性能指標是否正常。

 

四、接口測試質量評估標準:

  a) 業務功能覆蓋是否完整

  b) 業務規則覆蓋是否完整

  c) 參數驗證是否達到要求(邊界、業務規則)

  d) 接口異常場景覆蓋是否完整

  e) 接口覆蓋率是否達到要求

  f) 性能指標是否知足要求

  g) 安全指標是否知足要求

相關文章
相關標籤/搜索