从手工测试转型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

相关文章
相关标签/搜索