从手工测试转型web自动化测试继而转型成专门做自动化测试的学习路线。
在开始之前先自学两个工具
商业web自动化测试工具请自学QTP;QTP的学习可以跳过,我是跳过了的。
开源web自动化测试工具请自学Selenium;我当年是先学watir(耗时1周),再学selenium(也耗时1周)。
这里主要讲一些能让读者和普通菜鸟区别开来的东西,这些请和上面的两个工具穿插地学:
基础:
1.浏览器前端相关的简单技术基础:就是那些什么html、xml、css、javascript、等等,详见w3c教程网站
http://www.w3schools.com/
2.学习使用一个单元测试框架或者叫做测试执行器,建议testNG,学完testNG,你应该具备了3小时学会任何一个测试执行器的能力,我用过的有testNG/Junit/Nunit/ruby unit test/python test unit/visual studio里的测试执行器、等等;
http://testng.org/doc/documentation-main.html
3.学习一个语言的基本语法:
静态语言建议java、动态语言建议python;只需要学基本语法,一般三个月之内都可以学完。我顺便学了一些ruby、groovy、shell脚本等。
4.学习一两个版本控制工具的使用:
svn和git; 我那时候还顺便学了hg,不过现在没多少人用了
只要使用,很简单,请自己找资料
5.学习page object设计模式:
selenium官网有例子,极其简单; 理解这个设计模式花了一两天。用这个模式改写一个网站的全套回归测试用例花了我一个月。
6.学习jenkins的使用:
只要使用,很简单,请自己找资料; 这一点大概花费一个下午时间。
7.学习自动化构建工具的使用:
至少学ant和maven; 这个在学testNG时顺便掌握,只需要简单应用。
提高:
1.浏览器是怎么工作的:
How browsers work
http://taligarsiel.com/Projects/howbrowserswork1.htm 这个听说有中文翻译的,自己找吧。
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.继续扩展学习各种开发框架、网络协议等。如果你想去巨头互联网公司做测试开发,学完这条才是刚刚开始;这也是为什么转型做专职的自动化测试、测试开发人员对很多手工测试人员而言这么困难。
当然互联网公司的测试开发前面的很多东西可以跳过不学。有的人跳过的东西太多了,就会开发出各种奇葩的测试框架/工具,但他反正可以做到这个职位了。
8.扩展到其他方向如app自动化、性能等等。如果想去新创业的互联网公司做测试开发,app的自动化肯定要学,但有前面的基础,学这个易如反掌。
其他可有可无的知识(主要用途是吹牛逼、给别人讲课、写文章吹牛逼):
1.黑盒测试理论;一周入门,三个月精通。大部分人学到三个月就够了。觉得自己很懂的同学其实要知道你还不是很懂。因为这块挖深了可以挖出很多神奇但对找份好工作没多大用的理论知识。建议你到架构师层次再来深入学习这些理论以便更好地给人讲课、吹牛逼。
2.白盒测试理论;这个建议还是要懂一点的。比如桩啊驱动啊,覆盖率啊;工具方面可以自学sonar,并尝试和jenkins一起用,集成进一个小项目中。工具不学也没关系因为很少有公司用。个把月可以掌握。但一般在前述很多东西学习时顺便掌握。
3.自动化测试理论;这个N多的人其实压根都不懂。比如你跟他说个数据驱动、业务逻辑和测试实现分离、False alarm误报之类的自动化测试的专有名词他都不知道你说什么鬼。但这种人也可以做自动化测试,做测试开发,所以这个也就是可有可无的了。当然我建议还是要有。顺便你可以看下别人研究的自动化测试ROI的错误计算方法(因为大部分计算方法都是错误的)、自动化测试和手工测试的区别等等。还有什么基于模型的自动化测试设计理论、正交设计法和全配对(pariwise)设计法的异同等等。这些学了之后可以用于吹牛逼和给别人讲课。
4.测试管理理论、项目管理知识:你学了如果没机会也做不了管理。你不学有机会了也可以坐上管理的位子。
从手工测试转型web自动化测试继而转型成专门做自动化测试的学习路线。的更多相关文章
- 在做自动化测试之前你需要知道的,转自:http://www.cnblogs.com/fnng/p/3653793.html
什么是自动化测? 做测试好几年了,真正学习和实践自动化测试一年,自我感觉这一个年中收获许多.一直想动笔写一篇文章分享自动化测试实践中的一些经验.终于决定花点时间来做这件事儿. 首先理清自动化测试的概念 ...
- 从手工测试逆袭为NB自动化测试的学习路线
在开始之前先学习两个工具商业web自动化测试工具请学习QTP:QTP的学习可以跳过,我是跳过了的.开源web自动化测试工具请学习Selenium:我当年是先学watir,再学selenium 这里主要 ...
- Java入门记(二):向上转型与向下转型
在对Java学习的过程中,对于转型这种操作比较迷茫,特总结出了此文.例子参考了<Java编程思想>. 目录 几个同义词 向上转型与向下转型 例一:向上转型,调用指定的父类方法 例二:向上转 ...
- Java中的向上转型和向下转型
首先要明白一点向上转型和向下转型他们都是建立在继承的基础上. 一.向上转型 子类到父类的转换通常称作向上转型,通俗的说就是定义父类对象指向子类对象. 下面通过一个例子来深入理解向上转型. //定义一个 ...
- Java转型(向上转型和向下转型)
在Java编程中经常碰到类型转换,对象类型转换主要包括向上转型和向下转型. 5.13.1 向上转型 我们在现实中常常这样说:这个人会唱歌.在这里,我们并不关心这个人是黑人还是白人,是成人还是小孩,也就 ...
- C# 数据类型转换 显式转型、隐式转型、强制转型
C# 的类型转换有 显式转型 和 隐式转型 两种方式. 显式转型:有可能引发异常.精确度丢失及其他问题的转换方式.需要使用手段进行转换操作. 隐式转型:不会改变原有数据精确度.引发异常,不会发生任何问 ...
- 重新精读《Java 编程思想》系列之向上转型与向下转型
前言 今天重读了一下向上转型与向下转型,有些新的体会,了解了向上转型的好处,及如何向下转型.在此分享给大家. 向上转型 向上转型是用来表现新类和基类之间的关系.在传统中,由导出类转型成基类,在继承图中 ...
- JavaSE(五)JAVA对象向上转型和向下转型
今天做了一个测试的题目,发现自己还是很多问题没有静下心来做.很多问题是可以自己解决的但是自己一是没有读清题意,二是自己心里太急躁了.所以这个要自己应以为鉴! 对象的转型问题其实并不复杂,我们记住一句话 ...
- JAVA的向上转型和向下转型怎么理解呢?
在定义中是子类向父类转型称为向上转型,父类向子类转型是向下转型(必须先向上转型过,才能向下转型), 但是在下面类定义后,我得到的结果却不同.求大佬解惑 class superclass{ public ...
随机推荐
- android 插件化开发 开源项目列表
开源的插件化框架 Qihoo360/DroidPlugin CtripMobile/DynamicAPK mmin18/AndroidDynamicLoader singwhatiwanna/dyna ...
- 剑指offer系列36----二叉搜索树的第k个节点
[题目]给定一颗二叉搜索树,请找出其中的第k大的结点. * 例如, 5 * / \ * 3 7 * / \ / \ * 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4. 中序遍历:2 3 4 ...
- Redis容灾部署(哨兵Sentinel)
Redis容灾部署(哨兵Sentinel) 哨兵的作用 1. 监控:监控主从是否正常2. 通知:出现问题时,可以通知相关人员3. 故障迁移:自动主从切换4. 统一的配置管理:连接者询问sentinel ...
- android学习笔记27——Activity
Activity配置==> android应用程序要求所有的应用程序组件都需要进行显示配置后,才可正常使用.包括:Activity.Service.BroadCastReceiver.Conte ...
- 源码安装extundelete以及对遇到问题的解决
软件下载:http://sourceforge.net/projects/extundelete/ 1.在安装extundelete包./configure时遇到configure: error: C ...
- 黄聪:MYSQL5.6缓存性能优化my.ini文件配置方案
使用MYSQL版本:5.6 [client] …… default-character-set=gbk default-storage-engine=MYISAM max_connections=10 ...
- NeHe OpenGL教程 第十九课:粒子系统
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- [MySQL] 字符集的选择
1. Mysql支持的字符集 MySQL服务器可以支持多种字符集,不同的字段都可以使用不同的字符集. 查看所有可用字符集: show character set; select * from info ...
- 转--android Toast大全(五种情形)建立属于你自己的Toast
Toast用于向用户显示一些帮助/提示.下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast. 1.默认效果 代码 Toast.makeText(getApplicationCo ...
- C#2
同名的两个类如果在不同的命名空间中,相互之间是不会混淆的. 一个名为TextHello的命名空间中创建一个名为Program的类,引用方法 TextHello.Program 我们常用的Console ...