你不知道的接口自動化測試!

1、分層自動化測試前端

 


 

分層自動化測試是最近曝光度比較高的概念,傳統的自動化測試更關注的是UI層的自動化測試,而分層自動化測試則倡導產品的不一樣層次都要進行自動化測試。
單元測試:關注代碼的實現邏輯,好比一個if分支或者一個for循環的實現;
服務層測試:關注的代碼所提供的接口是否可靠;
UI層測試:關注的是界面層的測試;
單元測試和服務層測試,能夠經過junit、testNG、unittest等一些測試框架來實現自動化測試。
UI層的測試能夠藉助selenium、appium模擬頁面操做實現自動化測試。
咱們看這個模型爲何要設計成金字塔形,而不是長方形或者倒三角形呢,這是爲了表示不一樣階段投入自動化測試的比例,越往上層,其維護成本越高,尤爲是ui層的元素會時常發生變化,因此咱們應該把更多的自動化測試放在單元測試和接口測試階段。
在這裏咱們不是說不提倡你們作UI測試,而是不該該投入太多精力去作UI層的自動化測試。後端

 

什麼是接口
接口:外部系統與本系統之間以及系統內部的各個子系統間,以約定標準提供的服務,包括對外提供的接口/對內提供的接口。安全

 

 

在這塊咱們舉一個比較生活化的例子,咱們日常使用的筆記本,在筆記本的兩端有不少小插口,最多見的就是USB插口,咱們能夠把鼠標鏈接在USB插口上,也能夠把鍵盤、U盤鏈接在USB插口上,爲何同一個USB接口能夠鏈接這麼多設備呢,其實這個接口,他就有一個統一對外的鏈接標準。
在咱們開發當中,也有一個對外暴露的接口,由於他們服務的協議都是統一的,最多見的就是hhtp協議,咱們規定好一種格式,讓客戶端來調用咱們。
這裏面鍵盤鼠標屬於調用方,插到筆記本的USB上,就能夠鏈接設備,就能夠進行操做了。對外暴露的一個統一的一個規範,這樣去理解接口,更形象一些。架構

什麼是接口測試
在瞭解完什麼是接口以後,咱們來講一下什麼是接口測試。
接口測試測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等,保證對外提供接口的正確性和健壯性。
咱們在具體測試過程當中,咱們不用關心接口調用方和接收方的實現邏輯,咱們只須要知道傳入什麼數據,返回什麼的結果是否達到咱們的預期。接口測試其實也是黑盒測試,他與UI測試的區別就是沒有界面交互,是不可視化的。app

咱們爲何要作接口測試
測試前置:咱們不能等到整個系統所有開發完成才能進行測試,咱們能夠經過調用接口來進行測試,把問題攔截在前期,下降問題修復成本。
Bug更容易定位:由於咱們按接口進行測試,出現問題後在被測接口中排查就能夠了,它比系統集成以後,發現問題更容易定位,系統集成以後有各類模塊的調用,出現bug以後再排查,排查的鏈路很是的長。另外從機制上更接近出問題的地方更容易命中問題。
先後端分離結構:如今不少系統都採用先後端分離架構,各服務之間更多的是經過接口來實現信息互通,對接口進行直接測試,能夠更全面的覆蓋各種測試場景。
自動化測試落地性價比高:比UI自動化測試更穩定,咱們上面已經說了UI層的元素時常發生變化,有時改一個簡單的元素,都有可能致使咱們的自動化測試走不下去,寫一套自動化測試腳本比較容易的,可是維護起來,會耗費很大的時間精力,相對來講,接口就比較穩定,一個項目沒有大的改造,入參和出參就是固定的,變化的機率比較小,這樣維護起來也比較方便。
減小安全隱患:好比咱們在日常的測試過程當中,測試用戶名和密碼,密碼格式要求不能輸入特殊字符,前端作了校驗,然後端沒有處理,這樣咱們只測試頁面,這條case就默認經過了,但一些黑客可能經過抓包的方式進行登陸,這樣安全隱患就比較大了。咱們對接口進行安全測試,能夠避免安全隱患。框架

接口測試用例如何設計
 前後端分離

 

 

 

自動化測試如何落地工具

藉助工具: Postman、Jmeter、jsf平臺、jsf測試工具、easytest
編寫測試腳本:Java+TestNG單元測試

下面就是我爲你們整理出來的一份軟件測試資料圖免費獲取,加羣:681491189測試

 

加油吧,測試員!路就在腳下,成功就在明天!

將來的你確定會感謝如今拼命的本身!

相關文章
相關標籤/搜索