微信号:grzlwx

介绍:光荣之路官方资讯

好吧,我是3M众!咋地?从3M众到3Y众很难吗?

2015-07-04 23:13 光荣之路


  • 从3M众到3Y众 - 自动化测试路线

一个3M众自然而然地会开始迷茫”学不到东西“,然后到处发帖、问人、互相讨论。运气不好的人会被引领到“软能力”方向、“业务积累”方向、甚至“混日子”方向和“自我催眠”方向。

然后有一部分3M众因为遇到一个好领导或者好公司或者看到一些好文章,而被点拨,开始走自动化测试的路线。

自动化测试路线是最常见的黑盒手工测试人员的技术发展方向,直接走性能测试路线的人比这个少多了。

但这条路并不好走。首先是技术门槛问题。

黑盒手工测试技术门槛是0,而网页自动化测试技术门槛我觉得是1Y+ X(X取决于英语能力,英语越强则X越小)

自动化测试的路线上,我个人掌握其基础大概花了3个月,掌握其原理又花了3个月,从掌握到应用自如的程度又花了6个月,之后继续充电和深化,从应用自如到有所突破又花了大概3个月。中间还有浪费在黑盒手工测试上和重复劳动上的沉淀时间若干个月。

照我自身经验来看,自动化测试的技术门槛是大学刚毕业的那个4Y+掌握基础用的3M,或者培训班里培训java开发用的6M+掌握基础用的3M,然后自动化测试的技术路线长度对我来说是一共9M+若干沉淀时间。

这里大部分人没我快,主要原因是:英语的积累不同

我这里的自学速度快的主要原因是接触到的学习资料质量高,全部用英文资料,并且个人学习能力还不错。

那么根据我接触的一般人的进度,掌握基础(包括程序语言基础)要1Y,掌握原理又要1Y,应用自如又要1Y,最后能不能有所突破则要看缘分了。


所以我的理解下,

自动化测试工程师的技术门槛是1Y+ X(X取决于英语能力,英语越强则X越小),技术路线长度(包括门槛)是3Y,简称3Y众

3Y众要掌握的东西通常有:

1.至少一个程序语言或脚本语言,如java或python

2.至少一个主流自动化测试工具,如selenium,并理解其大概原理

3.至少一个主流测试执行器,如testNG,并理解其大概原理

4.至少一个拿得出手的自动化测试项目,如自动化测试XXX信息管理系统。


而毕业标准则是

1.至少一个拿得出手的自己负责自动化测试项目,如基于XXX架构做了XXX系统的自动化测试脚本

2.理解至少一个自动化测试工具的深入原理,如selenium,并能在此基础上搭建自己的测试框架,如我们可以随便搭建一个 java+selenium2+testNG+Jenkins+selenium grid的测试框架并使用page object factory模式。

高一点的要求是

3.能理解别人的自动化测试框架的代码和他们这样写的原因,比如我随便看看以前公司其他人搭建的自动化测试框架,可以看出他的写法 有哪些好的地方,不好的地方,他当时为什么选择了这种不好的写法,现在能不能优化,成本要多少。他用的某种测试工具的优缺点,他选用的测试数据组织方式是否有可以优化的地方

4.读过一点开源工具的源代码

5.至少一个持续集成下的自动化测试项目,如jenkins下的

6.至少掌握一个非windows操作系统的操作和基本脚本

如果是你是做自动化接口测试的,那真是好运气,相应的只是改了改工具,而接口自动化测试遭遇垃圾框架的几率小得多。


自动化测试最怕的是:

1.录制回放测试工具 - 这工具不但扼杀你的技术路线,还会让你陷入一直傻傻录脚本的尴尬境地。唯一好处是给公司省钱。

2.垃圾框架 - 由初级开发人员在未掌握自动化测试基本原理时制作而成,会让你做自动化测试做得比黑盒手工测试还痛苦。诸如200个方法的上帝类,20个类的继承链,1000行测试数据和1000行预期结果混合杂乱放置的测试数据文本文件,麻烦得要死的关键字驱动的excel表格,一半要人工复核的不可靠测试结果,傻傻搞不清楚的业余级测试执行方式,莫名其妙死在那里还没法调试的持续集成测试脚本等等,以上均是我目睹的自动化测试做得比较成功的案例里的,他们至少自动化做出来了,虽然很垃圾,还有很多半途而废的失败案例更糟。

3.承担不起自动化测试成本的公司。自动化测试成本较高,特别是用户界面层最高。即使是接口层,仍比手工测试高。小公司我看还是算了吧,搞不来的。现在2014年,你花个12k/月在杭州只能请到3Y众里水平一般的,想找个技术好的纯属碰运气。但你看,小公司可能会20k/月请一个资深ios开发,但不会给20k/月来请一个资深自动化测试,资深自动化测试还是比不过资深开发。


3Y众的迷茫是“没有开发收入高“,“要不要做管理”,“性能测试怎么做”,“学的新东西老用不到,不用一段时间又忘记了”,“开发基础没打好,好多东西不懂”,“技术路线后面还有没有了“,”这框架太垃圾,做自动化测试比手工还累“。

到了这个阶段已经没多少人会满足于3M时代的“与开发沟通的技巧”之类的东西了。很显然当我们有和开发对等的技能时,并不需要看谁的脸色。很多人的工作根本不直接和开发打交道,就是写测试脚本、脚本发现的bug自然有人去跟。也有人做测试框架,压根不接触开发。我有段时间主要做测试框架的维护改进、测试脚本的review和带转职过来做自动化测试的开发,也有一段时间做自动化测试培训。

此时我们有了和一般开发不同的技能树,至少在面对初级开发人员时会比较有底气,当然高级的开发人员还是略显牛逼。显然,对于测试人员来说,从3Y到10Y的技术路线不是那么好找的。


如果一个自动化测试人员自以为自己有10Y的技术积累,而实际上和3Y路线走上来的新人水平差不多,那就会遇到和黑盒手工测试人员一样的被替代的危机。当然另一个方面来说,如果项目不倒灶,自己写的自动化测试脚本,自己维护起来显然比别人有优势。问题是这里仍旧有一个高级版"中年危机",如果你参与的自动化测试项目结束了。如果你使用的自动化测试技术过时了,如selenium 1,如果你用的工具本身就很有局限性如fitnesse,或者你用的是一些内部工具,然后公司倒闭,内部工具的工作经验变得毫无用处,如诺基亚手机部门。那你怎么办呀。实际上,当自动化测试掌握到一定程度后,我发现,自动化测试工作岗位在杭州很少,但是“要求懂一点自动化的黑盒手工测试岗位”不少。跟上海的同事交流发现那边自动化测试岗位比杭州多,但也有很多拿自动化做幌子的岗位存在,包括现在互联网巨头的一些测试开发工作岗位也有其实是黑盒手工测试为主的。


最后特别指出,外包行业的自动化测试仍然是不靠谱的占多数,比如所谓的平台自动化测试工程师,有些外包到互联网巨头做自动化测试的人在一些属于巨头的测试开发人员做好的自动化测试平台上,使用被包装又包装的面向领域语言编写测试脚本,对个人毫无技术积累,和黑盒手工测试有一拼。这是由外包行业能用就行,达到需求就能收钱,以及产值固定(如你的合同签订多少钱一人月就是多少钱一人月)决定的。不像做产品,不但要能用,还要精益求精以求卖得更好,当产品卖得好的时候,个人平均产值也高,说明工作产生的价值高。


总的来说,混到3Y众这个级别,算是傲视3M众了,有无数3M众一辈子也到不了3Y众的高度,如果基础太差,或者学习能力不足,很可能卡在某个地方上不来。


下一期/几期我想总结一下对于以下路线的理解

  • 从3M众到3Y众(伪) - 懂一点自动化的黑盒手工测试路线(“伪”3Y众仍旧可以混得比3M众好很多)

  • 从3M众到3Y众 - 接口自动化测试路线(我专门开一个讲接口测试的章节满足一下有的朋友的好奇心吧)

  • 从3M众到3Y众 - 移动端测试(我也不熟,只能凭感觉写写)

还有一些我不确定的猜想

  • 从3Y众往上走 - 性能测试路线?

  • 从3Y众往上走 - 测试开发路线?白盒测试路线?

  • 从3Y众往上走 - 如果掌握3个3Y众路线是不是可以摇身一变变成9Y众甚至传说中的测试架构师?

  • 从3Y众往上走 - 管理路线,走还是不走?

后面还有一些我想整理的

  • 核心竞争力 - 所谓“博”靠的是一堆不稀奇的技术组合成一个稀缺的技术组合?

  • 技术重叠度 - 来自开发人员、运维人员、其他技术人员的挑战

  • 公司/工作岗位和测试人员的技术路线、业务路线、管理路线的长度 - 怎么选公司?

  • 无尽的加班 - 小公司加班地狱的经历 - 为啥每次上线总是在半夜三更或凌晨,不管是做中国用的网站还是美国用的网站都在中国半夜上线?

(作者:又是你 来源:http://www.cnblogs.com/sdet/p/4072305.html)

一字一句当思来之不易,感谢作者,也让更多的人看到母们吧!

光荣之路软件测试培训

官网:http://www.gloryroad.cn/

微信公众号:gloryroadtrain

性能测试QQ群:415987441
软件测试招聘QQ群: 203715128
自动化3群QQ: 371211499



 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 网络招聘是个大坑(上) 为什么说12306的验证码是真正的好设计? 史上最强视频网站真实地址解析 花呗、白条套现 致所有创业者——YC史上最全面教科书