作为一个资深测试开发工程师,同时以三年面试官的经验,感觉现在测试岗位供求关系严重失衡,同时也为一些测试工程师,测试开发工程师而着急,所以写了这篇文章,希望能给相关人员一些帮助。我是计算机专业硕士研究生,从实习到毕业一直从事测试开发工作,比较喜欢这个岗位,同时对这个岗位的发展,相关的新技术保持着高度的关注。我不是搞统计或是社会调研的,所以不会从数据方面来说明问题,以我每次换工作都能涨薪 40% 以上的工作经历,来阐述一下存在的现状。
一, 功能测试关注点比较窄
不管我们测试的是 web, app 还是 m 端,或是如微软 C/S 架构的软件,还是如银行,国企等专项的产品,功能测试是基础。工作上一年半载的,就能了解相关的测试流程,如需求分析,测试用例编写,用例评审,提测试验收,功能测试,Bug 回归以及上线和线上回归。但是很多人员比较关注自己的需求,而不是整体项目或是这个需求在整体项目中的作用,在大型项目或是与多部门合作的时候就手足无措。在一个新项目的测试的时候,如 app,仅仅考虑到 App 本身,而对接口的传递,服务的测试,以及后端数据的校验不去关注。
在测试工具的使用上,局限于公司提供的工具,仅仅会使用就满足了,而不去了解为什么要这么用?还有没有其他相关的工具?再者是就是沉迷于自己公司的产品,如微软的产品测试方法与流程可能和其他互联网公司不一样,也不去了解大部分企业是怎么测试的,深信自己公司的测试方案比较牛。除非你想一直在公司干下去,否则你就要了解一下行业现状,现在没有公司愿意花大量的时间来培训员工,招你来就是让干活的。你以往的工作经历再厉害,企业如果用不上也不会要你的。离开现在的平台,你还有什么,这个才是最重要的。
二, 自动化测试没有方向
在最近一年多的时间,大多数做测试相关的同学都意识到了如果没有代码经验,测试工作也达到了瓶颈。所以都会去学习相关的自动化测试,但是往往不得法。一者通过参加培训班来学习,参加培训班的时候由于不了解行业发展现状,学习一些过时的技术或是方法,一至实际工作中就变得无所事从。如学习 QTP, Loadrunner 等自动化测试软件,发现社会上使用不多;学习通过 Excel 来组织测试数据,用 python 或是 java 来编写自动化测试用例,执行起来效率非常低;编写自动化测试用例的时候,没有整体考虑,后期执行用例时一个个执行,没有执行结果汇总,没有错误记录等问题层出不穷。
由于自己公司业务的限制,缺乏尝试和创新,要么只了解公司现有的框架,要么就是在公司现在的框架上写用例而不去了解整体框架的工作原理。当面试的时候问到自己的自动化测试用例的优缺点,是否了解过业界其他相关的框架或是开发模式的时候,两眼一抹黑。这些情况在现在的面试过程中很常见,而如果你是这种水平的话,不能说明你会自动化测试,当然也很难面试通过。
三, 企业空缺大,求职者达标少
目前企业对测试人员也要求越来越高,仅仅响应需求的功能测试人员基本饱和或是留给了校招生。通过社招渠道找工作的人,都要求有一定的自动化或是代码经验,能解决工作过程中遇到的问题;或是编码能力较强,能参与公司相关测试项目的开发工作。薪资待遇基本上是 15—25K,然后是一大堆岗位要求,要求会上一串很唬人的语言或是技术。
应该有不少人员在面试过程中会被要求写不少编程题,如单链表逆序,二叉树遍历,日志过滤等。这一方面是看你的编码能力如何,另一方面也能从编码习惯来看你有没有参加过大型的项目开发。再者还有给你一个具体的问题,让你来给出解决方案,如:现在有一个全新的 App,如果让你负责测试,你可能会实施哪些测试方案?而不像以前那样做个逻辑题,或是写个测试用例什么的了,这个变化相信大家一定深有感触。
在这几年的面试过程中,公司一直在招聘 T3,T4 级别的测试人员,通过简历筛选进入面试的人,差不多三四十个才能有一两个达到要求。更多的人员是在公司完成部分代码工作,模仿和重复的成份居多,同时不关注当前业界测试技术的发展。
四, 资深测试开发,测试架构师独孤求败
测试行业不断发展,公司的测试部门也需要一些大牛来进行相关的工作。一是由于行业原因,代码能力强,有架构经验的人员一般都在开发部门;二是要求高,资源测试开发工程师不仅要精通测试相关的技能,还要会前端设计,服务器配置等等,几乎是全栈工程师;而做程序的人员一般精通一点或是几点的较多,从前到后全都能上的越来越少。
但是企业想快速发展自己的业务的时候,必须有一个强大的测试团队来保证质量,通过一系列的 CI,CD 以及其他的手段来促进项目的实施与投放。这就要求相关工程师要从多方面来考虑问题,不仅要考虑项目的实施成本,还要考虑参考与的测试,开发,产品甚至用户等人员,同时要与公司发展的前景及方向相切合,并能很好地为之服务。同时这类人才公司都比较看中,每年的找工作季节也就那么几个人会进入人才市场流通,而且很快就能找到工作,企业的通常定位都在 30K 以上。这也是我们每个测试人员的努力方向,只有你具备了相应的实力,才有资格向企业要求你期望的薪资。
上面通过我的个人经验对测试岗位的供求现状,可能存在的片面与不足之处,但是也能说明点儿问题。文章从表象来介绍了一下相关不同测试人员的现状,而从与面试人员的聊天过程中,发现大多数人是想好好学习,想进步可是不知道学习的方向,以及如何学习?后面我会通过几篇文章介绍相应的测试人员应该掌握的内容,以及如何学习。不足之处还请及时交流,大家相互学习,相互促进嘛!
其实人这么少是有原因的,仔细想一下,开发厉害的都去做开发了,现在虽然都开始重视测试,但是实际上大部分企业测试地位还是不如开发,甚至没有测试,一个测试开发岗位要求辣么多,薪水和同等级开发差不多,那为什么不去做开发嘞。说实话,真正是热爱测试行业的有几个?多少人是看中了测试比其他行业门槛低,工资高进来的。。大部分人都是混口饭吃吧。。。
要走到测试开发那个地步,起码有点计算机基础吧,然后逐渐深入,现在培训会讲这些嘛?
可能是测试行业在国内开的这个头就不太好吧。。。
期待楼主后面的文章
其实国内测试起步不好,不过慢慢地正在改进,目前高级别的测试人员待遇可能不能和同级别的开发相比, 但是也比大部分技术人员的待遇要好。国外的要求是测试必须比开发牛,否则你怎么能发现他的问题呢?以后国内也可能会是这个趋势的。
😂😂😂所以我们招了应届生和实习生
—— 来自 TesterHome 官方 安卓客户端
跳槽过几次,我来推算下你现在的工资
期待后期内容
期待后续文章
最近一个月面了 20 多人,有一部分是业务测试想转测试开发,这部分人,计算机基础,代码能力确实差一些。多人合作开发项目的能力就更差了。
T3,T4 是腾讯的?还是百度的?
我最反感面试写算法了,写不出来代表啥,一般算法百度都能出来,高深的基本没数学专业毕业的都不会。
期待后续~~~
期待后续
最近也面试了不少人 有很多 4-8 年的的测试 会的东西真的不多 不够 一个稍微好学点的 2 年的可以轻松替代
自己目前从业 2 年多 对于测试还是有很大期待的 不是测试未来不行 是厉害的测试太少
互联网从业人员一定要有技术上的追求 希望能向业界大佬 多多学习
实习一年,刚工作半年,负责自动化测试, 从 web app 到现在的接口和性能,每次培训都有很多人去听,但是让配合开展自动化,都是回应需求紧,任务重,导致自动化工作进展并不顺利,让我们去给功能组写脚本,感觉刚工作的热情也慢慢磨没了。
是啊,大家工作久了就有点儿麻木,当前工作做的好就行,没有长远的追求。想换工作的时候就暴露出问题了,如果不提升自己的能力,早晚会被社会淘汰的。
这个是很正常的,现在企业是一边走高消耗路线,让员工不停地工作,加班加点,一边还要求员工的能力要强,要学习新技术。这本身就是个悖论,从我们自身发展来讲,要有明确的发展规划,不能随着公司的业务走。因为你不可以在公司工作一辈子,公司也会不断更新员工的,不能懈怠,好好规划一下职业生涯才是!
自己想做测试开发, 本来想跳槽,但是自己编码能力可能相对来说弱一些,现在跟着一个大牛做性能测试,分析调优, 自己也是有点迷茫, 没有跳过槽, 只是感觉尽可能的多学一些是一些, 自动化 selenium appium 也懂一些, 感觉自己什么都是略懂皮毛, 出去也是没人要,所以有些迷茫。
个人感觉吧,你选择压力测试方向不太好,给你分析一下原因:一,专业压力测试的岗位比较少,你可以从招聘网站上看到这个现象;二,工作需求少,公司产品对压力要求高需要大量的客户,当客户少的时候是不需要这么高的压力的,同时就算需要压力,也不是全部功能。三,压力测试成本大,公司不愿意开展。压测环境要和线上相同,压出的数据才有参考价值,相差很远的环境是没有用的。
我就属于那种想学不知道学什么,用 java,python 搭个框架写写自动化没问题,但是总是感觉自己太菜了,又跑去学大数据,实在是没方向。
请持续关注我的文章哟,其他的方面不敢说,测试,测试开发,高级测试开发,测试架构等方面还是有点儿经验的,
人,行业,企业,共有的痛点
有必要请大佬们讲个职业规划的课啦
大佬有没有个人博客,膜拜下文章
转测试感觉无从下手 做开发好几年了 小公司 现在开始注重测试~然后上头让我参合进去 但是无从下手~主要是 WEB 方向~~
先从功能测试入手,然后多关注一下自动化测试,测试开发方面的技术。根据自己的业务来逐步引入相关的项目,毕竟你是做过开发的,代码能力肯定没有问题的
功能测试是基础,业务是基础,自动化是测试进阶的能力。另外,业务测试做到极致,也很牛,比如说你如果能测到开发看到你就发怵,从而把你当最好的业务伙伴。当然楼主提到的最新的测试技术是需要跟踪的,但千万不要认为程序能力是区分测试人员的最重要因素,那就有点偏了。
理想是这个状态的,可是我们也要认清事实,毕竟我们不是为了工作而工作。社会上就认为测试人员会程序,就给高工资,这也不是我们能左右的。可以追求自己喜欢的,但也要尊重规律,按规律办事才行嘛,
作者说的很有道理,测试行业一个关键的问题是,很多是野路子出身,没有受过专业的计算机或者软件工程训练,然后真正能自学成才的又较少。当然,大部分水平较高的都做开发去了,所以才造成了高水平的测试人员较少。
开发发布中看了这个文章,感觉是非常有紧迫感。懵懂中做测试 2 年了,但感觉自己除了功能测试什么都不会,怕哪天自己离开了现在的公司,找工作很尴尬
不论开发还是测试,3 年和 8 年工作经验人差距不太大。要想拉开差距自己下狠心的学习更新的技术。8 年的经验完全能被 3 年的替代。
楼主总结的真是一针见血。我觉得测试就是开发能想到的你得想到,开发想不到的,你也能想到。
感觉测试开发这个 title 把很多人都搞懵逼了,测试基本功都忽视了。最后功能测试也没心思搞,搞出来的自动化测试也是毫无价值
读完之后感到这就是心灵毒汤.90% 的测试人都是在混日子,不管是因为公司整体水平,还是行业浮躁,
靠人脉上位,归根到底就是个人不努力,造成 年纪大水平差....
写重复的代码,计算机基础知识浅薄,自动化只会用不会开发,看了这个回答完全没有勇气出去面试。拜托你能早点发学习路线。
作为年纪大水平差的一员,真心认同这碗毒汤
做好自动化真的不容易啊 光是代码逻辑就够吃一壶了
发过了啊,关注一下我其他文章,如何学好功能测试,自动化测试爱恨情愁,其他关于测试开发,高级测试开发的文章还没有写呢!
其实代码逻辑比较简单,自动化测试有固定的框架,思路,涉及到的语言要求也就那几十个关键字,主要是思路。学会了思路,其他的就比较简单了
暂时还不知道如何践行确定的方向,期待后续文章
看一下我的博客吧,以前写的针对测试的文章还挺多,现在写的比较多的是分析现状或是指导性的文章了。博客地址:http://blog.sina.com.cn/eagleking0318
做过一段时间的开发,基本属于复制黏贴代码。后面转去做功能测试,接触过部分自动化测试,未参与框架开发,现在做的是公司内部 QA 测试工具化平台开发,觉得自己的自动化方面还是挺薄弱,下个阶段是否应该把自动化搞起来?,现在测试开发要求一般都要会自动化吧
其实你这种情况也比较常见,开发同学编码能力非常强,可是缺乏测试思维,全局考虑问题的眼界。有意识地提升一下这方面的能力,在测试行业会发展很好的;如果缺少这方面的能力,可以说高级测试开发就不能胜任的。
大牛分析写的非常好,对于第二点中 “用 python 或是 java 来编写自动化测试用例,执行起来效率非常低;” 这个是指代码结构性不好,执行比较耗时吧, 粗看以为是 python 或是 java 语言编写的脚本测试用例效率低,所接触不是用 java 就是用 python 做测试就这两个语言用的比较多
这是社会上有些人的看法,其实和语言没有任何关系,就是你的测试用例的架构如何设计,用例如何组织,用例的粒度,用例执行策略等等都会影响效率的!