介面自動化測試大牛養成記

介面自動化測試大牛養成記

5 人贊了文章

對於大多數未做過介面測試的同學來說,可能並不清楚介面到底是什麼,甚至你去問很多做過介面測試的同學什麼是介面,他們也說不出個所以然,

大多數人可能知道介面大概是什麼,也知道怎麼測,但是不知道如何用專業的術語去描述出來。

介面的本質:介面就是一個函數,通過將介面部署到web容器(tomcat,jboss,weblogic等),發布服務後,就可以通過一個url地址去訪問到介面了。

而介面文檔裡面描述的介面參數呢其實就是函數的參數,介面的返回數據就是函數的返回值。

即:介面=函數,介面參數=函數參數,介面返回值=函數返回值。

以如下介面項目中的「獲取用戶列表」介面為例:(119.23.241.154:8080/fut),

它其實就對應了後台的一個這樣的一個同名函數:

介面測試跟ui測試的本質區別:

UI測試更專註於ui頁面,而不關注系統內部實現,一個功能模塊是否有bug,所有的判斷依據都直接來自於前端頁面反饋,跟我們的預期對比,一樣就測試通過,不一樣就是bug。

而介面不一樣,需要藉助某些客戶端工具模擬前端頁面發送介面請求,測試人員通過判斷介面返回數據與預期是否一致,對測試人員的技術要求更高。

介面測試到底是在項目哪個階段去做?

介面測試可以在項目的任意階段做,只要介面已經開發出來了,提前介入,就能提前發現問題,不管系統是不是已經將頁面與後台介面集成了,項目時間充足的前提下都最好對介面進行一輪或者多輪測試,

基於兩點原因:

1)某些請求如果繞過前端直接往介面發送非法數據,而介面也有相應處理措施,那麼將最大限度的降低了系統的風險;

2)後端控制好了,所有的問題就集中與前端這一塊了。

手工測試介面有哪些工具:

Postman,jmeter,Soapui,Fiddler等主流的工具都能完成。

什麼是介面自動化? 通過代碼驅動測試而非人工。

為什麼需要做介面自動化? 通過機器來替代人工,解放生產力。

如何做介面自動化? 通過http技術處理介面調用。

介面自動化環境如何搭建:

1.創建maven項目,為什麼用maven項目,最重要最直接的原因是希望maven來管理咱們的項目依賴,這樣我們就不需要滿世界的找各種jar包去下載了。

2.集成HttpClient,在maven項目引入HttpClient-4.5.2這個框架的依賴,這個框架提供了一些http技術可以幫助咱們去發起介面調用並處理介面返回數據,以下是依賴描述。

<dependency>

<groupId>org.apache.httpcomponents</groupId>

<artifactId>httpclient</artifactId>

<version>4.5.2</version>

</dependency>

3.集成testng,利用testng這個測試框架來幫助咱們來更好的管理測試類,以及它提供了豐富的註解,方便咱們去實現多場景測試設計。以下是依賴描述。

<dependency>

<groupId>org.testng</groupId>

<artifactId>testng</artifactId>

<version>6.8.8</version>

<scope>test</scope>

</dependency>

4.至於項目的其他依賴在後面的介面自動化框架實現過程中再給大家補充,本節只為實現一個最簡單的環境和一個介面調用案例。

小試牛刀:

通過http技術post一次介面請求,完成對於註冊介面的調用,並得到介面返回數據。代碼如下:

總結:以上代碼是一個簡單的案例,離我們的介面自動化框架還差十萬八千里。後面的篇章將帶大家逐漸去完善這個框架,大家敬請期待。

下一篇專註於以下單介面測試到多介面的過渡以及以下圖中的兩個問題:


推薦閱讀:

軟體測試工程師人手必備的一隻:TOM貓,可以帶你裝逼帶你飛!
一個頁面有一個文本框,一個按鈕,如何判斷bug是前端還是後台的?
成功的自動化測試實施
半年從轉行軟體測試到產品經理

TAG:軟體測試 | 軟體測試培訓 | 軟體測試工程師 |