一、当前软件测试的现状是什么?
现状:网络上大量人唱衰,测试就业不行了
2022年5月后,越来越多人网络发声“互联网行业不行了”。贴吧、知乎、小红书上,也有大量人反馈软件测试就业惨淡……,篇幅有限,仅列举贴吧的声音:
总结网络上的声音大概是这么两种:
吐槽a):相比去年,测试岗位数下跌,几个月都找不到工作
现在很多大厂、中厂人员编制都锁定了,基本不怎么招人。猎头们也都很安静了,主动沟通岗位的很少。
求职网站如Boss直聘,上面的岗位大多只是挂着。很多都是发了消息没人回复,好不容易有人回复,也是需要等待评估。
吐槽b):有限的测试岗位,应聘者多,要求变高
有的企业一天简历收到一万份都不夸张。应聘人多了自然要求也高了起来。学历和技术全部卷起来。
深圳一家不到20人的小公司半天收到的简历量
二、深度思考:为什么软件测试就业会出现上述各现象?
1、外部诱因:经济不好,导致就业市场招聘需求不旺
疫情、美元经济周期加息、俄乌战争,导致各公司盈利普遍低于预期,对未来的展望均呈现悲观。企业出于生存本能,会勒紧裤腰带,通过停招、裁员等手段,提高人效比。让公司的运营成本、人力效率和业务质量达到最佳平衡点。
举例:2019 年初,任正非的公开信《全面提升软件工程能力与实践,打造可信的高质量产品》,宣布华为投入 20 亿美元全面提升软件质量。但今年,华为也无奈收紧了项目,任正非在华为内部发文说“要把寒气传递给每个人”。
若华为都如此,网上吐槽的软件测试岗位减少,不奇怪。
2、本质原因:软件测试产业近几年一直在技术升级,经济寒冬加速推进
近年来,研发流行敏捷开发,版本高速迭代;运维部署也在逐渐自动化。但软件测试领域,企业却有两大无法忽视的痛点:
痛点1、互联网行业产品对产品质量和速度的诉求;
痛点2、市场上占比最多的功能测试工程师在工作常常出现的瓶颈。
当前各企业正在实施的办法,是持续建设自动化测试体系,将软件测试从手工密集升级到自动化测试体系中,通过提高测试流程的有效性和效率来消除测试瓶颈。
随着“点点点”的手工测试,逐渐被自动化测试技术接管,原来需要10个手工测试完成的工作量,现在自动化测试团队不到5个人就能完成。
业务价值不变,人数下降就意味着薪酬变高。近年来,测试平均薪资一路上扬,背后就是自动化测试正在逐步取代手工测试。
经济寒冬放大了软件测试工程师职业危机,也加速推动了测试行业从劳动密集(点工)逐渐转变为技术密集(自动化)。
3、重要原因:测试培训机构太多,学历卷到本科起
这几年,因为软件测试好就业,还好培训,以培养测试人员为主业的培训机构,在全国各地纷纷建立起来。
这些机构,培训两月的时间,就敢让学员去找工作,上1休1三个月时间,就敢称自己主打自动化测试。“保证就业”协议掩盖下的,是课程实质教的是手工测试这类皮毛。
培训机构已累计培训了大量手工测试人员,测试行业又在升级过程中,正在淘汰了大量手工测试人员。二者相加,手工测试数量惊人。
所以才导致HR抱怨:
“刚开放3分钟,就有200多份测试相关的简历,可是实际只招1个。这让我们不得不在5分钟以内赶紧关,根本回复不过来。”
市场行情好时,HR会精准招聘,毕竟学历高用工成本也高,开发招本科,测试用专科。
但当前行情下,为减少工作量,HR招聘往往简单粗暴,采用一刀切。比如:没有打三针不行!不是统招本科不要!高水平但大专学历求职者也会无辜躺枪。
三、软件测试从业者该怎么办,卷or润?
1、心态上:看下面这4点,治愈焦虑
a)互联网不倒,软件测试就不会消亡
2016年左右,阿里搞过一次全栈工程师运动,一项很重要的环节就是去掉测试岗,测试工程师必须转岗做开发。而不管是后端还是前端,所有人都必须掌握测试技能。
该运动的结果最后以失败告终。
阿里大厂聚集了大量高水平开发人员都失败了,小厂若想继续想维持开发团队,去掉测试岗那更是痴人说梦。
这充分说明,只要互联网不倒,软件测试就不会消亡。
b)软件测试需求量不仅会稳健,还会放大
疫情前,人们的“吃、穿、住、用、行”方方面面都有对应APP软件。疫情后,复工最快最迅速的企业也都是通过互联网技术实现。
所以马云说:”疫情后,中国经济发生巨大变化。过去,互联网技术只是让某些企业活的好;未来,互联网技术是很多企业能够活下去的关键点。互联网技术必须成为新的基建”。
c)软件测试在所有互联网岗位中,不用担心吃青春饭
软件测试劳动强度相比后端开发低,技术更新速度相比前端开发慢,而且还有业务测试经验护身,可做到“越老越吃香”,不惧35岁危机。
软件测试还有足够的技术纵深和广阔的发展前景,能足够让从业者遨游。职业发展更不用焦虑。
d)不要因为网络说测试没有前途,就轻易转行
如果去百度搜索就会发现,从2017年开始,每一年都在说互联网寒冬。但互联网行业却一直都在持续发展中,给出的工资依旧是所有行业中具有竞争力。
所以不要因为网上的负面声音就轻易放弃了互联网,放弃了软件测试。若软件测试行业都缺前途,生化环材、土木机械、历史考古就能有阳光和面包?
疫情下,互联网行业可算是被影响不大的行业了,至少我们还可以在家办公。
2、技术上:自动化测试是趋势,是机遇,列出学习内容
目前手工测试已被初级测试工程师占满,若技术还停留在该阶段不知进步,只能去卷。现在要找到工作,软件测试工程师必须同时具备一定的开发能力和运维能力,要倒逼自己往自动化测试+测试开发领域发展。
接口自动化测试流程
a)手工测试阶段要学会抓重点:
熟悉系统框架,能够梳理业务流程,掌握测试用例的设计。不要把宝贵的测试时间浪费在纠结细枝末节上。
b)一定要掌握一些主要的测试工具:
接口自动化测试所常用的Jmeter、Postman,UI自动化常用的Robotframework、Airtest,App自动化常用的Appium。这些工具的应用一定要落到实际工作,才能够越用越熟练,为工作产出更多的价值。
c)一定要掌握Python这门编程语言
现在行业内的高薪职位,基本90%以上都是与Python自动化测试技能相关。所以若要尽快突破薪资瓶颈,这个技能太关键了。
d)要努力成为高级测试,提升个人的人效比,打造不可替代
高级测试人员可以通过测试左移,提前与开发人员一起制定测试计划,推动代码评审,代码审计,单元测试,自动化冒烟测试,测试精准化分析以及研发自测,来保证研发阶段的质量。同时,高级测试人员也会参与配置部署,通过测试右移,将自动化测试用例,配置到持续交付链中,全程监控发布后的应用质量。
3、业务方向:建议在某个方向上深挖,积累丰富测试经验
为什么公司的开发人员没法直接做自动化测试? 为什么研发人员编写的自动化测试框架会达不到预期效果? 为什么16年阿里取消测试部门会失败?
那是因为测试人员除了技术要求外,还要关注业务细节、关注产品使用场景,要站在客户的维度设计用例。经过长时间的历练后,测试人员的思维就有那么一点特殊,他设计的用例就是能发现BUG。
所以软件测试岗位是有业务门槛的,这也是测试部门能长期存在的重要原因。所以测试人员若不能满足业务需求,技术再高也是不能实现到提升测试效率这个核心目的,也会被淘汰出局。
所以如果产品或者项目前景比较好,不建议频繁换工作。建议在这个行业深挖,产生质量的积累。举个栗子:通过深度测试一款稀缺的金融软件,从而掌握了它的结构设计与功能。这名测试还仅仅是功能测试人员吗?
金融行业某订单流程业务图
最后用比尔盖茨的话,作为文章的结尾,看看测试的地位: