從功能測試轉成自動化測試,軟體測試工程師該如何成功轉型?
我 接觸了太多測試同行,由於多數同行之前一直做手工測試,現在很迫切希望做自動化測試,其中不乏工作 5年以上的同行。 我 從事軟體自動化測試已經近十年,接觸過底層服務端、 API 、Web、APP、H5 等等,對自動化算是比較瞭解。在此分享一下個人經驗。
如果對自動化完全不瞭解,每天在那嚷嚷要做自動化,都是空喊。
所以 想做自動化, 首先 得了解一下自動化測試的一些常見問題。
1. 什麼是自動化測試?
自動化測試,顧名思義,自動完成測試工作。
透過一些自動化測試工具或自己造輪子實現模擬之前人工點點 /寫寫的工作並驗證其結果完成整個測試過程,這樣的測試過程,便是自動化測試。
因為每一個自動化測試的 case都是從手工測試做起的, 所以自動化測試的基礎是手工測試 。
2. 為什麼要進行自動化測試
1)自動化測試節約成本(根據專案)
2)有些測試專案手工很難實現(手工成本較高)
3)專案質量流程需要
3 、自動化測試的優勢 及劣勢
優勢: 迴歸測試更方便可靠 ;可執行更多,更繁瑣的測試,且快速高效;可執行一些手工測試執行相當困難或者做不到的測試,如大量的使用者併發;更好的利用資源,具有一致性和可重複性的特點,自動化測試指令碼完全可複用;提升了軟體的可信度;多環境下測試等。
劣勢: 維護成本相對比較高
系統開發時間不一定能縮短
還是得依賴手工測試,很多問題無法發現
4、 自動化測試分類
按測試目的分類大致可劃分為:功能自動化測試,效能自動化測試
按測試物件可以劃分為: Web應用測試,APP測試,介面測試,單元測試等
功能自動化
測試目的是發現軟體中實現功能是否符合使用者需求規格,實踐證明,往往我們實施 UI自動化測試的目的不是去發現軟體系統中的缺陷,更多的是為了驗證系統是否可以正常執行。
除了可以基於 UI進行自動化測試,我們還可以基於網路服務介面提供者進行測試,基於介面進行功能測試較為常見,也是非常有效的手段。
另外還可以基於系統基礎程式碼進行測試,比如單元測試,整合測試階段,這一階段的測試也稱白盒測試,我們可以直接對 DAO,Service服務進行測試,這裡常用的測試技術包括Junit, TestNG, Mock, Stub等 。
效能自動化
效能自動化測試是透過測試工具模擬高併發負載進行壓力測試,以發現軟體系統在高負載情況下執行瓶頸, 包括 應用程式本身的效能瓶頸,網路瓶頸,伺服器硬體資源瓶頸,資料儲存伺服器等,通常唯有藉助自動化測試工具來完成,常見的效能測試工具包括, Loadrunner, Jmeter, Ngrinder, Gatling等,不管哪一款測試工具,基本有三大部分組成:測試指令碼管理,測試場景配置,監控結果。
與功能自動化類似的是,效能測試工作物件也可以面向使用者 UI層,或者服務介面提供方,甚至可以直接面向底層基礎業務邏輯層,絕大多數透過使用者層進行效能測試模擬的是最接近真實使用者場景的測試,也是效能測試必然實施的階段 。
5、 自動化測試的流程
6、 自動化測試常用工具
下面 我 簡要的羅列常見的測試,以及適合其最佳的測試工具。
效能測試工具 :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等
7、 什麼條件的人適合做自動化測試
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,掌握一個測試框架,平時多沉澱,然後抓住機遇,即可輕而易舉的轉型自動化測試。
關注 51Testing軟體測試網,提升it技能,從不會到熟練只差一步。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2168900/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體測試工程師如何從功能測試轉成自動化測試?經驗分享篇工程師
- 軟體測試:自動化測試
- 如何讓軟體開發從功能測試轉入應用測試?
- 軟體測試框架——自動化測試框架框架
- 認識軟體測試步測試測試 (轉)
- 軟體測試理論(2)自動化測試
- 軟體測試轉型之路
- 功能測試、自動化測試、效能測試的區別
- 如何學習自動化測試?從手工測試到自動化測試的過程…
- 軟體測試自動化
- 《軟體自動化測試成功之道》目錄
- 軟體測試人員的華麗轉身——自動化測試之我見
- 《軟體自動化測試成功之道》節選12 - 自動化測試指令碼的維護指令碼
- 軟體測試中的功能測試和非功能測試
- 新書《軟體自動化測試成功之道》出版新書
- 軟體測試自動化框架框架
- 軟體測試為什麼需要自動化測試框架?權威軟體測試公司分享框架
- 功能測試轉向自動化測試 / 開發。10年 心路歷程——願測試人不再迷茫
- 自動化測試如何管理測試資料
- 軟體測試筆記——11.自動化測試和手動測試的選擇筆記
- 自動化測試系列 —— UI自動化測試UI
- 軟體測試中功能測試的測試工作流程
- 軟體測試之功能測試、效能測試經驗談
- 剛入行的軟體測試工程師如何自學軟體測試?工程師
- 軟體測試(功能、介面、效能、自動化)詳解
- 軟體驗收測試 第三方軟體測試 軟體功能測試 軟體資訊保安測試
- 《軟體自動化測試成功之道》學習資源
- 自動化測試可替代手動測試?軟體測試這個誤區你有嗎?
- 通用自動化測試軟體 — TAE
- 軟體測試學習——移動端功能測試分析
- 《軟體自動化測試成功之道》節選6 - 自定義控制元件的測試方法控制元件
- 軟體自動化測試有什麼優勢?自動化測試框架有哪些?框架
- 自動化測試在國際軟體測試中的應用
- 軟體測試、自動化測試極容易產生的誤區
- 從傳統測試轉向敏捷測試敏捷測試
- 手工測試和自動化測試 BattleBAT
- 自動化測試系列(三)|UI測試UI
- 小程式自動化測試--測試3