1、当前测试市场技术发生了什么变化?
自18年,软件测试就业市场发生了变化。因为随着国内互联网的发展,测试越来越重要,根据业务的不同,导致发展方向越来越多,细分职能越来越多。
所以市场上对软测技能要求也是水涨船高,企业更需要的是全栈型测试,或懂得多种测试技能,以提高人效。
早期功能测试打天下,撸起袖子就是点的时代早已一去不复返,如果你刚入行也许认为我还能点点点,那么你可能很快会被行业淘汰,从入门到失业你做到了无缝衔接。
未来路如果想走的更好,我们有必要深入了解下软件测试行业未来发展趋势
趋势1:
功能测试虽然是测试的核心,但提供的价值日益降低。
当前行业积压大量功能测试,虽然都是我们的前辈,理应尊敬,但行业在进步,技术在创新,公司需求在提高,很抱歉,留给这些前辈的时间不多了,不进则退,前辈们(功能测试)提供的价值日益降低,新生代的你们将会取代他们曾经的风光。
趋势2:
软测市场趋向工具化,代码化,测试过程可视化的方向,那么这将是我们跟上行业步伐的清晰路线,技术从简到繁。
趋势3:
企业对测试人员的岗位要求越来高。
招聘网站上如果你是通过薪资筛选的岗位,那么我想不难看出刚入行的你,技能有点捉襟见肘,凭什么功能测试要会数据库,Linux,编程语言,各种自动化工具,前端开发啊,我就是一个测试啊,怎么要求这么多呢?
因为你刚入行,刚跨过行业的门槛儿,门内的世界很大,也充满的各种魅力和财富;但如果你想得到这些,那么就需要与之匹配的技能。
看到这里我我想你已经危机感满满了吧?怎么化危为安呢?
2、入行测试,你的前景和出路到底在哪?
不多说,直接说结论,入行测试的前景和出路,那就是要“只做测试工程师里更懂编程的人”。
为什么测试的前景和出路是这个?从下面测试行业传统的3个观点反驳开始论证。
观点1:
“做好测试工作的根本是要了解产品”,所以测试工作根本不需要学代码、懂编程
反驳1:
那就请问:
不懂代码逻辑,不懂代码原理,测试人员就会陷入“为何要测这么多点,要测这么多项”的困惑,那还怎么做测试?
测试学不透,进入企业,大概率也只能按照企业的规定去做常规性工作,怎会有稀缺?
技术实力不够就接触不到核心项目,还怎么能冲击高薪?
原来,测试圈会编程的人很少,因为企业不需要;
现在,会编程做自动化测试的人薪资很高,因为市场上和企业里都很稀缺。
只有懂编程,测试才能学得透,才能更值钱。
观点2:
“测试本质是去理解业务和需求”,所以测试根本不需要学代码、懂编程
反驳2:
那请教下:
懂源代码的测试和不懂源代码的测试,哪个能测的更深呢?
不懂代码,就不会理解代码逻辑层次的耦合,就会不理解数据库设计,甚至还可能不理解网络层如何通信,拓扑架构……
这种“不不不”同学能明白研发项目的风险么?
不明白风险,就难于精确设计测试用例,遗漏高风险场景可怎么办?
这种“不不不”的软件测试人员,哪个大企业敢要?
所以这两年在互联网上,针对测试是不是好找工作,出现了两种极为矛盾的声调:
一方面大量测试人员,在知乎贴吧吐槽测试饱和不好找工作。
另一方面却是大量互联网公司在招聘网站疯狂招聘测试,导致测试平均薪资年年上涨,现在已经快达到20 K(饱和的岗位能薪资年年涨?)。
上述矛盾体深刻揭露一个现象:软件测试行业已经分化,懂编程的中高端测试人员稀缺,不懂编程的手工测试人员饱和。
观点3:
“测试工具的学习成本比较低”,测试人员根本不需要学代码、懂编程
反驳3:
那咨询下:
没有代码能力,你能有机会成为测试领域最前沿的人员吗?
不懂编程,你既不能做企业急需的自动化测试,又做不了当前大厂疯抢的测试开发,那到了35岁你怎么办?
3、技术人员如何度过35岁危机呢?
解决方案永远是:努力做到技术领域的最前沿就不怕没工作。
但当今测试领域还算前沿的技术:接口测试、UI自动化测试、性能测试,测试开发….
无一不需要读懂代码,甚至还要会写代码。
你若不懂编程,根本没有可能从手工跨越到测试技术的最前沿。
相反如果你懂编程,就有机会跨越到测试技术的最前沿。
现在学测试,一定要“只做测试工程师里更懂编程的人”,因为这样才能更值钱,升薪更快,才会不惧35岁危机。这才是学测试的前景和处理。如还有一丝丝疑问,请将上方的三个反驳再看一遍。
4、如何让自己在这个行业内,更加的优秀?
说到这里,我们就得聊一下,软件测试行业的职业规划图了。
大体上的职业规划有两条路。
一条走的是管理路线,一条走的是技术路线。但是不管是管理路线也好,技术路线也好,他们的前提是你已经具备相当的职业专业技能。
但就以目前题主的职业技能而言,还暂时达不到要求。那么接下来我们只需要把这些技能完善之后就会发现,一片大好前景等着你。
你还需要补充的职业专业技能:自动化测试和性能测试
做了这么多年的功能测试,最起码对于软件测试的一些基础的知识已经没有问题了。那接下来就只需要补充自动化相关的知识就行了。
自动化测试,主要分为两个方面:
1)接口自动化测试
2)UI自动化测试
如何学习呢?主要分为下面这几步:
第一步:代码学习
要学习自动化,有一个前提,就是"代码"。不管是为了能够完成自动化测试,还是为了之后的职业规划发展,代码肯定都是绕不过去的。
目前对于软件测试而言,代码的学习最初有两个选择。一个是Python,一个是Java。我推荐Python,因为对于没有代码基础的同学而言,Java的入门学习最起码三个月难度太大。
Python作为一门弱类型语言,上手的难度就简单很多。每天花2~3个小时用来学习,差不多一个月就能入门了。
第二步:自动化学习
有了代码的基础,然后就可以入手开始学习自动化相关的知识了。
第三步、性能学习
性能测试,相对于自动化而言,入门就比较简单了。
首先,对性能测试相关的概念有所了解,明白什么是性能测试,以及测试的目的是什么
接着,学习使用工具Jmeter或者LoadRunner,进行性能测试
性能测试最难的其实是调优,这个就需要对代码以及数据库有更深的认知之后才可以完成了,所以对于现阶段,能够使用工具完成最基本的性能测试即可。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
跨越困境,勇往直前;超越极限,追逐梦想。不论风雨多么艰难,燃起内心的火焰,奋斗不息,终将创造属于自己的辉煌人生。
在追逐梦想的路上,不要畏惧失败与挫折,坚持奋斗,磨砺意志。每一次努力都是向成功迈进的一步,相信自己,你将绽放出辉煌的人生。
不要被过去的失败所束缚,勇敢面对挑战,用汗水浇灌梦想。坚定信念,持续努力,你将超越自我,创造属于自己的辉煌人生。相信自己,奋斗不息!