從手工測試轉型web自動化測試繼而轉型成專門作自動化測試的學習路線。

在開始以前先自學兩個工具
商業web自動化測試工具請自學QTP;QTP的學習能夠跳過,我是跳過了的。
開源web自動化測試工具請自學Selenium;我當年是先學watir(耗時1周),再學selenium(也耗時1周)。

這裏主要講一些能讓讀者和普通菜鳥區別開來的東西,這些請和上面的兩個工具穿插地學:

基礎:
1.瀏覽器前端相關的簡單技術基礎:就是那些什麼html、xml、css、javascript、等等,詳見w3c教程網站

2.學習使用一個單元測試框架或者叫作測試執行器,建議testNG,學完testNG,你應該具有了3小時學會任何一個測試執行器的能力,我用過的有testNG/Junit/Nunit/ruby unit test/python test unit/visual studio裏的測試執行器、等等;

3.學習一個語言的基本語法:
靜態語言建議java、動態語言建議python;只須要學基本語法,通常三個月以內均可以學完。我順便學了一些ruby、groovy、shell腳本等。
4.學習一兩個版本控制工具的使用:
svn和git; 我那時候還順便學了hg,不過如今沒多少人用了
只要使用,很簡單,請本身找資料
5.學習page object設計模式:
selenium官網有例子,極其簡單; 理解這個設計模式花了一兩天。用這個模式改寫一個網站的全套迴歸測試用例花了我一個月。
6.學習jenkins的使用:
只要使用,很簡單,請本身找資料; 這一點大概花費一個下午時間。
7.學習自動化構建工具的使用:
至少學ant和maven; 這個在學testNG時順便掌握,只須要簡單應用。

提升:
1.瀏覽器是怎麼工做的:
How browsers work

2.學習瞭解一個關鍵字驅動的測試執行器,建議robot
Robot Framework 有前面的基礎,這個大概學一個下午可簡單掌握,深刻掌握清熟讀官方文檔。
3.學習瞭解一個BDD業務驅動的測試執行器,建議cucmber
Cucumber 我的對BDD持保留意見,有testNG的基礎學這個大概一兩個下午(這個是用ruby的,我假設你順便學了ruby語法)。另外我順便花了一兩個下午看了看JBehave(Java的)、Spock(groovy的)。
4.學習幾個數據庫的簡單使用:
mysql,mongodb; 這個w3cschool有教程。本身找。我其實還沒看。
5.學習服務器端的操做系統簡單使用:
linux,unix及shell腳本之類的; 這個比較費時間,推薦鳥哥的linux私房菜系列。
6.學習其餘的商業工具或自動化測試工具
原理都是差很少的,大概有幾十種能夠學,但都差很少。這個我斷斷續續把網上能找到都看了看,大概看了幾十種吧。其中不乏很奇葩的產品好比fit和fitness
7.繼續擴展學習各類開發框架、網絡協議等。若是你想去巨頭互聯網公司作測試開發,學完這條纔是剛剛開始;這也是爲何轉型作專職的自動化測試、測試開發人員對不少手工測試人員而言這麼困難。javascript

固然互聯網公司的測試開發前面的不少東西能夠跳過不學。有的人跳過的東西太多了,就會開發出各類奇葩的測試框架/工具,但他反正能夠作到這個職位了。css

8.擴展到其餘方向如app自動化、性能等等。若是想去新創業的互聯網公司作測試開發,app的自動化確定要學,但有前面的基礎,學這個易如反掌。html

 

其餘無關緊要的知識(主要用途是吹牛逼、給別人講課、寫文章吹牛逼):前端

1.黑盒測試理論;一週入門,三個月精通。大部分人學到三個月就夠了。以爲本身很懂的同窗其實要知道你還不是很懂。由於這塊挖深了能夠挖出不少神奇但對找份好工做沒多大用的理論知識。建議你到架構師層次再來深刻學習這些理論以便更好地給人講課、吹牛逼。java

2.白盒測試理論;這個建議仍是要懂一點的。好比樁啊驅動啊,覆蓋率啊;工具方面能夠自學sonar,並嘗試和jenkins一塊兒用,集成進一個小項目中。工具不學也不要緊由於不多有公司用。個把月能夠掌握。但通常在前述不少東西學習時順便掌握。python

3.自動化測試理論;這個N多的人其實壓根都不懂。好比你跟他說個數據驅動、業務邏輯和測試實現分離、False alarm誤報之類的自動化測試的專有名詞他都不知道你說什麼鬼。但這種人也能夠作自動化測試,作測試開發,因此這個也就是無關緊要的了。固然我建議仍是要有。順便你能夠看下別人研究的自動化測試ROI的錯誤計算方法(由於大部分計算方法都是錯誤的)、自動化測試和手工測試的區別等等。還有什麼基於模型的自動化測試設計理論、正交設計法和全配對(pariwise)設計法的異同等等。這些學了以後能夠用於吹牛逼和給別人講課。mysql

4.測試管理理論、項目管理知識:你學了若是沒機會也作不了管理。你不學有機會了也能夠坐上管理的位子。linux

相關文章
相關標籤/搜索