記接口測試小里程

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

                                                                                          -----------------百度百科後端

  接口測試,屬灰盒測試範疇。可能都知道測試類型分黑盒測試,白盒測試,灰盒測試;黑盒測試又名功能測試,功能測試的範圍侷限於UI層面,主要測試產品的各個功能是否正常,是否如預期的同樣。遺憾,一般與預期的需求相差甚遠,催生了一系列的測試崗位誕生。安全

  固然,白盒測試則是基於代碼進行測試、對一個函數進行測試,顆粒度與黑盒測試造成一個極端對比。那麼,對於系統間的子模塊與子模塊之間的銜接,邏輯依賴、數據交換,接口之間的交互則是灰盒測試,也是接口測試。架構

  

      相似的圖有不少,本圖也是在百度進行搜索到的。併發

   「相似的圖」說明的有不少,不管是從測試類型、技術角度以及收益角度都是能夠說的通的。那麼今天的主角即是接口測試(API)測試,能夠拋出問題了。。框架

   秉行5w1H原則:前後端分離

     (why)爲何要作接口測試?分佈式

     (what)接口測試是測什麼?函數

     (where)接口測試應該在什麼地方進行?高併發

     (when)接口測試應該在什麼時間、地點完成?

        (who)接口測試應該由誰來執行?

     (how)接口測試應該怎樣來執行?採起哪些措施?

    衍生如下兩個問題:

     接口測試技術深度如何?

     接口測試能達到什麼樣的效果?

     

   

  一、(why)爲何要作接口測試?

    爲了知足分佈式、高併發、橫向擴展、低耦合度等要求、業務複雜度不斷上升。先後端分離的狀況下,中間有不少夾層,層與層之間各司其職又相互關聯,之間的通信協議以及報文格式並不徹底相同。

    從項目的角度來看,繞過前端太過於容易,不少UI層面的case已經不可以達到徹底的‘覆蓋’要求。那麼就必須對UI層面下方的API層進行測試。

 

  二、(what)接口測試是測什麼?

    接口測試是對系統中的各個子交互點進行測試,其重點即是測試數據之間的交互過程,以及邏輯。其本質仍是協議!

 

  三、(where)接口測試應該在什麼地方進行?

    執行接口測試的方法有太多,固然包括各類各樣的工具、框架、平臺等。

    對一些工具、代碼框架作了些許整理。(本人觀點、不表明所有、僅供參考)

    

  輕量工具級:Postman/Jmeter/soupUI

        該類工具級別具備包含經常使用協議,相似Postman,乃是Google的產品,開發經常使用於自行調試接口。簡單實用、上手簡單。

  高級工具級/代碼框架:Jmeter/SoupUI/(Python)Request庫/TestNG

        該類工具級/代碼,具有多種協議支持、前置條件、後置條件、外部文件讀取、檢查點、結果圖形化展現等功能。

  框架化:TestNG+Maven/Jmeter+Ant+Jenkins/Request+HTMLReport+Jenkins

      該級別的集成框架已是市場比較流行的一些框架,(向下兼容)多種協議支持,前置、後置條件、第三方集成、輕量自動化等功能。

  平臺化:平臺化的接口測試較爲複雜,由於已經不只僅涉及到了接口測試單方面的東西,從執行代理、執行引擎、協議支持、到數據讀寫、任務分發調度、結果收集、集成CI/CD等等功能,儼然搭建一套這樣的平臺是一項工做量十分大的工做,並且技術要求較高。

 

  四、(when)接口測試應該在什麼時間、地點完成?

    論起接口測試的介入時間,固然是越早越好,接口測試本就使整個項目的測試工做進行前移,減輕後期的功能測試成本,並且覆蓋率可以大大提高,所以,宜早不宜晚!

  

  五、(who)接口測試應該由誰來執行? 

    測試人員。

 

  六、(how)接口測試應該怎樣來執行?採起哪些措施?

    接口測試應該從立項和需求澄清開始跟進、熟悉系統的架構、瞭解內部、外部接口之間的關聯,對接口文檔進行分析、從小家到你們,小國到大國,持續推動。從最基礎的作起,實現持續集成,接口測試的效果會愈來愈明顯。

  

  七、接口測試技術深度如何?

    依項目狀況、技術延伸、業務須要而定。從功能到性能、安全,步步加深。

 

  八、接口測試能達到什麼樣的效果?

    從項目工做成本的角度來看,徹底能夠達到快速冒煙、快速回歸的測試目的,後期功能測試的壓力會隨之下降。覆蓋率也相對於UI測試而言,提升了不少。固然,也有部分可以彌補手工沒法完成的任務。

   從技術角度看,徹底是對測試人員在一個新領域的考驗。

相關文章
相關標籤/搜索