自動化測試,你準備好了嗎?

1. 什麼是自動化測試?css

自動化測試,顧名思義,自動完成測試工做。html

經過一些自動化測試工具或本身造輪子實現模擬以前人工點點/寫寫的工做並驗證其結果完成整個測試過程,這樣的測試過程,即是自動化測試。java

由於每個自動化測試的case都是從手工測試作起的,因此自動化測試的基礎是手工測試。web

 2. 爲何要進行自動化測試c#

1)自動化測試節約成本(根據項目)ruby

2)有些測試項目手工很難實現(手工成本較高)服務器

3)項目質量流程須要網絡

3、自動化測試的優點及劣勢併發

優點:迴歸測試更方即可靠;可運行更多,更繁瑣的測試,且快速高效;可執行一些手工測試執行至關困難或者作不到的測試,如大量的用戶併發;更好的利用資源,具備一致性和可重複性的特色,自動化測試腳本徹底可複用;提高了軟件的可信度;多環境下測試等。app

劣勢:維護成本相對比較高

系統開發時間不必定能縮短

仍是得依賴手工測試,不少問題沒法發現

四、自動化測試分類

按測試目的分類大體可劃分爲:功能自動化測試,性能自動化測試

按測試對象能夠劃分爲:Web應用測試,APP測試,接口測試,單元測試等

功能自動化

測試目的是發現軟件中實現功能是否符合用戶需求規格,實踐證實,每每咱們實施UI自動化測試的目的不是去發現軟件系統中的缺陷,更多的是爲了驗證系統是否能夠正常運行。

除了能夠基於UI進行自動化測試,咱們還能夠基於網絡服務接口提供者進行測試,基於接口進行功能測試較爲常見,也是很是有效的手段。

另外還能夠基於系統基礎代碼進行測試,好比單元測試,集成測試階段,這一階段的測試也稱白盒測試,咱們能夠直接對DAO,Service服務進行測試,這裏經常使用的測試技術包括Junit, TestNG, Mock, Stub等。

性能自動化

性能自動化測試是經過測試工具模擬高併發負載進行壓力測試,以發現軟件系統在高負載狀況下運行瓶頸,包括應用程序自己的性能瓶頸,網絡瓶頸,服務器硬件資源瓶頸,數據存儲服務器等,一般惟有藉助自動化測試工具來完成,常見的性能測試工具包括,Loadrunner, Jmeter, Ngrinder, Gatling等,無論哪一款測試工具,基本有三大部分組成:測試腳本管理,測試場景配置,監控結果。

與功能自動化相似的是,性能測試工做對象也能夠面向用戶UI層,或者服務接口提供方,甚至能夠直接面向底層基礎業務邏輯層,絕大多數經過用戶層進行性能測試模擬的是最接近真實用戶場景的測試,也是性能測試必然實施的階段。

五、自動化測試的流程

 

 
 

六、自動化測試經常使用工具

下面我簡要的羅列常見的測試,以及適合其最佳的測試工具。

性能測試工具:Loadrunner,Jmeter,Ngrinder,Gatling,每款測試工具存在必定的差別及其侷限性,能夠參考相關文檔詳細瞭解。

功能測試工具: Selenium, QTP

APP自動化測試工具:Appium, UI Automator, MonkeyRunner, Android UI測試推薦使用UI Automator, 是Android提供的自動化測試框架,基本上支持全部的Android事件操做。IOS應用程序能夠選擇使用Appium。

接口自動化測試工具:Junit,TestNG, OKhttp, HttpClient,Spring Restful等,須要有必定的編碼經驗,固然也有現 成的工具,好比Postman,HttpRequester,SoapUI等。

單元測試工具:Junit, TestNG, EasyMock, Mockito, JMockit等

七、什麼條件的人適合作自動化測試

1)擁有代碼能力

掌握一門開發語言,java、Python、ruby、c#

2)熟悉被測系統

好比你是web測試,你就得懂js、css、html、xpath

你是移動端測試,你就得具有Android 開發基礎和iOS開發基礎,會debug app

你是C/S測試你就要很熟悉TCP、IP協議

3)掌握一套自動化測試框架(工具)

好比selenium/appium;nunit/testng;robot framework/cucumber

4)善於學習,達到知其然知其因此然

IT行業變化太快,新興的東西出現的頻率快,只有不斷地學習,才能與時俱進,不被淘汰。

總而言之

學習一門開發語言Java/Python,學習一個測試工具selenium/appium,掌握一個測試框架,平時多沉澱,而後抓住機遇,便可垂手可得的轉型自動化測試。

相關文章
相關標籤/搜索