软件测试真的看不到前途吗?

本篇转载自黑马测试高赞知乎文章:https://www.zhihu.com/question/454997801/answer/2324487359

看到这个问题和问题后的说明,题主的显性问题就有两个:
1、软件测试有没有前途
2、若从事没有前途的测试,该怎么办(真的只能转行么)?
一、软件测试有没有前途?
先说结论:如果在2020年后你还只会从事功能测试,那真的看不到前途了。

再说原因:这两年在互联网上,针对测试是不是好找工作,出现了两种极为矛盾的声调:
一方面大量手工测试人员,在知乎贴吧吐槽测试饱和不好找工作。
另一方面却是大量互联网公司在招聘网站疯狂招聘自动化测试,测试开发,导致测试平均薪资年年上涨,现在已经快达到20K(看下方截图)。

之所以会出现这两种矛盾的的声调,是因为低薪的手工测试正在被慢慢淘汰,高薪的自动化测试和测试开发人员不到涌入,提升了测试的平均薪资。
测试有没有前途,不用讲大道理,不断上涨的平均薪资已经告诉了答案。若还是怀疑测试有前途,请狠狠看下方链接:
《软件测试行业到底有没有前景和出路?1303 赞同 · 279 评论回答》https://www.zhihu.com/question/317754170/answer/1569957027

所以:
1、是功能测试没有前途,而不是测试没有前途,若怀疑请再看到连续上涨的测试平均薪资;
2、现在还从事慢慢淘汰的手工测试,就像1910年加入“清军”,1945年加入“皇协军”,1949年加入“国军”,真的看不到前途。
二、若从事没有前途的功能测试怎么办?
方法1,转行到开发岗
大部分人把功能测试没有前途看成是测试没有前途,所以,很自然的就想转行到开发。
真相是:
因为开发有35岁危机,所以开发转测试很多很多,因为开发转测试相对较容易。
而测试转开发,却会很难很难。因为学习门槛、所需能力完全不一样。
即使测试转开发成功,就一定是好的出路吗?请点击下方链接,了解下测试和开发各自的优劣势吧(在此不再赘述):
《男27,想转行互联网,是学习软件测试好,还是前端编程?512 赞同 · 57 评论回答》https://www.zhihu.com/question/408642335/answer/2080910630

《软件测试和软件开发哪个比较好?141 赞同 · 13 评论回答》https://www.zhihu.com/question/54178888/answer/1617568139

《软件测试的工资高还是开发者工资高?530 赞同 · 59 评论回答》https://www.zhihu.com/question/33405392/answer/1649870187

所以,若已经有了多年的功能测试经验去转做开发,不仅要花费巨大精力,就算成功,也未必是好的选择(你又要从0开始重新积累)。
方法2:转行到自动化测试岗


看完上面两张截图大家就会发现,只要你会自动化测试(接口 或 UI或 接口+UI),薪资将大幅上涨。为何懂自动化测试薪资会上涨这么快呢?
1)根本原因—对比手工测试,自动化测试和当前开发模式更匹配,企业急需
国内互联网行业早期,软件产品种类并没有现在这样繁多,用户量也没有这么庞大。
因此很多软件产品不需要经过多么专业系统的测试检测, 也可以上线发行给用户使用。因此软件测试人员相对的较少和不那么专业。
而且就算能实现测试,也仅仅局限于手工测试的点点的程度。 这种点点点的工作,只要花几天时间学点测试理论,再花个一两天时间学一些常用的测试工具就能胜任。
而目前的软件产品,往往是大负载,大并发,大数据。
加上目前软件的开发模式,往往是频繁迭代,小步快走的模式。手工测试没有办法保证之前的功能都有效覆盖。只能通过自动化的方式,提高测试效率。
所以企业急需自动化测试人员。
2)重要原因—手工测试饱和,但自动化测试因学习门槛较高,目前还非常紧缺
为了更好展示手工测试和自动化测试学习门槛的不同,现在将测试的各种技能整理如下:
初级必备技能
测试理论:熟悉测试流程、了解开发模型
需求分析:能读懂需求、分析需求,并且根据需求设计测试点
测试计划:能看懂计划,了解进度安排、测试策略以及风险事项对策
设计用例:能根据常用用例设计方法编写测试用例(边界值、等价类、场景法、判定表、错误推断法、因果图法)并且能对用例进行评审
执行用例:按时按量完成用例执行
提交缺陷:对于遇到的异常问题能提交缺陷进行管理(新建、修复、验证)
测试报告:能总结测试结果,并以报告形势输出产品质量情况
中级必备技能
Linux相关知识:测试环境搭建、Linux常用命令、日志分析等
数据库相关知识:掌握SQL语言,掌握建表语句、增删改数据语句,数据查询(单表查询、多表查询)
接口测试:API文档研读、接口用例设计、接口测试工具执行(Postman、Jmeter、Loadrunner等)、接口日志分析
Bug定位能力:能定位前、后端Bug
APP专项测试能力:兼容性测试、安装测试、卸载测试、升级测试、交叉(干扰)测试、弱网测试、Push消息测试
抓包工具使用:能使用抓包工具抓取数据包,并进行分析;
性能工具使用:能使用性能工具监控软件性能指标,分析结果数据
高级必备技能
开发语言:掌握一门开发语言(Python或Java)
接口自动化:能编写接口自动化脚本并对项目实施测试
UI自动化:能编写UI自动化脚本并对项目实施测试
性能测试:能针对接口性能、软件性能进行测试
……
作为手工测试人员,只需要掌握初级必备技能即可,不用报班,自学就可以学会。
作为自动化测试人员,除要掌握初级必备技能(测试工作的基础+核心),还必须掌握中级必备技能+高级必备技能。最重要的是还需将上述技能应用于实战项目,具有一定的项目实战经验。这些在自学过程中是很难完成的。所以掌握自动化测试技能的人很少,非常紧缺。
一方面企业急需自动化测试,一方面自动化测试学习门槛高,人才少。根据经济学的供求理论,供不应求,当然薪资水涨船高。

三、功能测试是不是适合转自动化测试?
适合。
理由1:功能测试的经验不会浪费
成功的道路上,有一个“一万小时定律”。
这个定律,通俗来讲,就是告诫我们做的每一件事,都产生「积累」的效果,前一件事是后一件事的预动作,过去的经验是今天的铺路石,让时间成为你的朋友,产生复利效应。
就像把一壶水烧开的过程,你必须持续对水加热,水温每升高一度,都让下一秒钟的加热,有了更高的起点,这样温度就能持续升高,直到某一刻的到来,量变到质变。
用四个字来概括,就是:积少成多
转行开发,功能测试从业人员相当于要将自己的工作经验归零,又重新开始积累。
而若转行自动化测试,因为还在测试领域,功能测试的经验不仅不会浪费,而且还能成为未来方向的坚定铺路石(功能测虽然饱和,但却是整个测试行业的基础+核心)。
理由2:懂数据库,懂编程,将技能升级自动化测试,能增强不可替代性,延长职业寿命
转行开发即使成功,往往有一个35岁危机。为什么开发会有35岁危机呢,请看下方链接:
《软件测试真的干到35就干不动了吗?1300 赞同 · 309 评论回答》https://www.zhihu.com/question/61117238/answer/1540761285

科班出身的人会因35岁受困扰,若你认为一个转行的人不会因此干扰,请告诉我理由。
转行开发,你35岁以后该怎么办?
反倒转自动化测试,懂数据库,懂编程会更值钱,升薪更快,突破35岁危机。
理由1:懂数据库,懂编程让测试人员更值钱,哪怕你学历低
测试圈子里的人都知道:“做好测试工作的根本是要了解产品”。
但如果仅凭这点你就推导出“测试工作根本不需要学代码、懂编程”,那就请问:不懂代码逻辑,不懂代码原理,测试人员就会陷入“为何要测这么多点,要测这么多项”的困惑,那还怎么做测试?
测试学不透,进入企业,大概率也只能按照企业的规定去做常规性工作,怎会有稀缺?
技术实力不够就接触不到核心项目,还怎么能冲击高薪?

但反之,测试人员若懂编程,那不仅有助于测试同学透测试,更有机会应聘当前企业急需的自动化测试(请看上方截图),即使你学历不高也能很值钱。
原来,测试圈会编程的人很少,因为企业不需要;
现在,会编程做自动化测试的人薪资很高,因为市场上和企业里都很稀缺。
理由2:懂数据库,懂编程能让测试人员升薪更快,哪怕你是女生
测试圈子的人都知道,“测试本质是去理解业务和需求”。
但若你根据这点就推导出测试工作根本不需要学代码、懂编程,那请教下:懂源代码的测试和不懂源代码的测试,哪个能测的更深呢?

不懂代码,就不会理解代码逻辑层次的耦合,就会不理解数据库设计,甚至还可能不理解网络层如何通信,拓扑架构……
这种“不不不”同学能明白研发项目的风险么?
不明白风险,就难于精确设计测试用例,遗漏高风险场景可怎么办?
这种“不不不”的软件测试人员,哪个大企业敢要?
理由3:懂编程能让测试人员走的更远,哪怕你年龄大
测试圈子的人更知道,“测试工具的学习成本比较低”。
但若你从这个角度就推导出测试工作根本不需要学代码、懂编程,那咨询下:没有代码能力,你有机会成为测试领域最前沿的人员吗?
不懂编程,你既不能做企业急需的自动化测试,又做不了当前大厂疯抢的测试开发,那到了35岁你怎么办?

技术人员如何度过35岁危机呢?
解决方案永远是:努力做到技术领域的最前沿就不怕没工作。
但当今测试领域还算前沿的技术:接口测试、UI自动化测试、性能测试,测试开发…. 无一不需要读懂代码,甚至还要会写代码。
你若不懂编程,根本没有可能从手工跨越到测试技术的最前沿。
相反如果你懂编程,就有机会跨越到测试技术的最前沿。即使你过了35岁,在测试领域依然有机会。若能结合之前经历成功打造出稀缺性,薪资还能更高。
昨天,测试市场大量需求手工测试;
今天,手工测试已经饱和,测试市场大量需求自动化测试;
四、功能测试如何转行自动化测试
转自动化测试,懂数据库,懂编程,功能测试从业人员会更值钱,升薪更快,突破35岁危机。
那如何转行自动化测试呢?
方法1:培训
提到培训,同学们往往会想到3个问题
为什么大家不相信测试培训机构?
软件测试的想高薪(月薪10k+)工作有什么要求?
培训班3个月的时间里能不能达到高薪(月薪10k+)要求?
以上3个问题,下方链接已经回答,若感兴趣,可点击查看
《转行软件测试,报培训班3个月出来就是高薪工作,靠谱吗?159 赞同 · 26 评论回答》https://www.zhihu.com/question/289107467/answer/2312091425
方法2:自学
1)自学资源
若想自学自动化测试阶段,请狠狠点击下方这个链接,所有学习自动化学习资料已经全部备好,查遗补漏学习即可。
《新人如何入门和学习软件测试?1553 赞同 · 290 评论回答》https://www.zhihu.com/question/22230085/answer/1594809785
2)求职面试
自学后,如何写简历,如何投简历,如何准备笔试题,如何准备面试题,也已经为你备好,请狠狠点击下方链接:
《应届生找软件测试的工作应该怎么准备?14 赞同 · 0 评论回答》https://www.zhihu.com/question/21289768/answer/1922748219
《如何去面试软件测试工程师?1050 赞同 · 141 评论回答》https://www.zhihu.com/question/28981475/answer/1501615849
小贴士:若多年功能测试想转行测试开发,已经为你备好资料,请狠狠点击下方链接
《手工测试人员如何转测试开发?143 赞同 · 18 评论回答》https://www.zhihu.com/question/61162236/answer/1614932376
敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

若你是对测试不太了解的测试小萌新,有太多太多对测试的疑惑(前途、薪资、技术含量、男生是否可以干.....),强烈推荐你观看《测试小白必看:学习软件测试必问的100个问题,从此贴开始》,相信能扫除掉你心目中90%以上的常见问题
《软件测试100个常见问题》:http://bbs.itheima.com/thread-507947-1-1.html

最后,为方便大家自学软件测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
包括软件学习路线图,黑马50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2020软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…..
《2021软件测试学习路线图,内附视频教程+自学路线+工具+面试篇》:bbs.itheima.com/thread-405757-1-1.html