新闻动态 > 新闻 

转行软件测试两年了,听大神说测试前途是IT里最low的,我慌了......

2022年02月26日

原标题:转行软件测试两年了,听大神说测试前途是IT里最low的,我慌了......
转行软件测试两年了,听大神说测试前途是IT里最low的,我慌了......

一、2021年软件测试行业的发展现状以及未来的前景趋势
最近很多同学在找工作的时候,明显的会发现功能测试很难找到工作,即使有,也是外包,甚至外包都要求会性能或者自动化测试。所以对于纯手工测试,不好找工作的情况是真实存在的。

另外就是技术的发展,CI/CD/DevOps的项目管理迭代的方法论的流行加大了测试压力。你要是刚开始进入这个行业,可能认为测试就是找bug,但是测试工程师的核心是质量保证。短时间迭代越来越快的节奏下,其实已经没有办法再靠人力去支撑了,到时候必然就会带来测试工程师要进行加班,而且光加班也是解决不了的问题。

行业大量技术根基薄弱的测试工程师面临淘汰和外包。这句话听起来比较残酷,但是你必须要看到这种变化。通过和一些测试经理进行沟通,也都是认为现在很多的测试工程师都不及格,要么是会点点点,要么是会一点自动化。

比如说阿里的一些现状,就是招测试开发,或者说招研发做测试,由测试开发以及研发来负责完成公司内的质量体系建设,公司的持续集成,持续交付,DevOps,以及一些质量监控平台,剩下的点点点,外包给其他的公司来做,这是他们目前的一个现状。也就是说,如果你们只是点点点,那么很快你将失去在大的公司的工作机会,直接会被外包公司吸收过去。

所以,这些也就是为什么很多公司都要招聘测试开发

说到这里,肯定很多会点点点的,都在抱怨为什么招普通的测试,还要会自动化,会语言基础?如果前面行业发展你可以理解,那么你也就可以懂得,他们对测试是有更高的期待的,已有的测试又不能解决,所以只能在招聘中体现这一点。



从行业调查数据也可以看出,如果想要在这个行业混口饭吃,手工点点点已经满足不了了,基本的也得会自动化,你说你为了不写代码,想进入这个行业,你觉得你能多久不被淘汰?

因此,整个行业的趋势及前景就是:

1、纯手工测试逐渐淘汰或大量被外包吸收;

2、有语言基础是基本的招聘需求,会性能或者自动化测试是普遍要求;

3、大厂更多倾向于直接招测试开发,手工测试基本都是外包出去;

4、测试和开发以及运维之间的“墙”在逐渐打破(左移,研发阶段的质量保证;右移,发布后的质量监控);

5、由于测试开发重要性不断的显现,测试开发工程师的薪资也会不断提高,行业内部薪资差距拉大。

6、测试行业的管理会逐渐扁平化

7、不懂开发的测试工程师已经是新时代的文盲

8、测试行业的门槛增加,但薪资会提高

9、更多的研发工程师进入测试领域

10、表面"衰落"的测试行业(不懂技术的测试工程师会逐渐被淘汰出局,赶紧脱离落后的业务体系, 脱离落后的测试技能)

二、软件测试工程师的“生命周期”
产品的生命周期是从准备进入市场到淘汰退出市场的全部过程,一个软件测试工程师的职业生涯的周期也是这样。如何把“生命周期”的每个阶段都最大程度的利用好,是我们每个软件测试从业者都应该关注的问题。

1. 入门阶段

这个阶段你或许是刚从学校毕业,也或许是从其他行业转行,就会像题主一样,对软件测试行业产生一系列的疑问,比如前景怎么样?薪资高不高?加班多不多?零基础应该如何学习?需要学会哪些技能才能找到工作?


其实这些都不重要,重要的是你一定要搞明白这个行业是做什么的,你是否适合这个行业。

前些年培训大热的时候,很多同学听到“前景很好,互联网薪资高,不用写代码,不用加班,越老越吃香”的吹嘘,便一股脑的投入到这个行业来。干了几年,钱没挣到,技术也没有沉淀,混不下去只能再次转行。
否能够接受这样的工作节奏。如果赶到要上线了,通宵也是常有的,第二天早上你下班了,你的同事刚刚拎着早餐上班。

其次,如果你对这个行业有者基本的热情,或者说不讨厌这个行业,那么起码你能够有动力去钻研,去自我驱动,这样才能保证你的工作对自己不是一种煎熬。

最后,互联网行业,技术日新月异,能够在软件测试这个行业长久的走下去,必然要不断的学习。如果讨厌学习,或者上进心比较差,那不建议你进入这个行业。

如果上面3个方面都没有问题,那么恭喜你可以进入下一个阶段。

2. 初级阶段

到了这个阶段,你已经开始上手做测试了,哪怕是最基础的点点点,你也已经知道互联网企业测试流程是什么样子了,可以说这个时候是你最朝气蓬勃的时候。

你在工作中遇到问题时的窘、遇见大神时的敬仰,都会转化为你努力求知的动力。阅读书籍、看公开课、逛论坛,你的各种知识和技能会在这个阶段急剧扩充。

但是这个时候,也尤其要注意不要病急乱投医。

这个阶段我不建议基础没有打牢,就开始学习自动化,最后啥也没有搞明白。业务能力才是最重要的,自动化玩的再溜,也只是个辅助。基础不牢,地动山摇。

3. 中级阶段

这个时候的你,或许已经做测试有1-2年的时间了,很多工作也得心应手,薪资也基本稳定,技术上知道的也比较多,但是仍然感觉自己什么都不会。

对,你缺少某个方向的深入研究!

处于软件测试行业的中级阶段,必然要面临的一个问题就是我该朝哪个方向去深入发展。自动化还是性能?Python还是Java?APP还是web?


我以我的经验给你一点建议:

关于发展方向
无论APP测试也好、web测试也好,或者想研究自动化,或者想专精性能,都是可以的。没有什么所谓的好不好,重要的是你喜不喜欢,如果你觉得性能做着心累,没有自动化测试有成就感,那就一门心思去研究自动化测试。只要往某个方向专精,一段时间后你就可以成为大神。

关于语言选择
以前我专门写过一篇关于软件测试工程师语言选择的回答,简单来说,就是刚接触的时候,可以选择Python,上手更快,更加灵活,到了高级阶段,应对更大的业务形态,还得学会Java。做技术的,会很多种语言很正常。

自动化测试还是性能测试
对于自动化测试,不要被其牵着走,不要过分夸大作用,也不要为了自动化而去自动化。
性能测试某种程度上会比自动化更难搞定。代码、运维、计算机原理、数据库、业务等等,你都要搞懂。写脚本或者执行都还好,难的是性能分析和调优。当然如果这个阶段你对自己的要求还不是很高,那么掌握性能测试的基本流程和简单的性能分析就可以了。更多的比如搭建压测环境、监控性能指标等等,还是要在实战中去积累经验的。

对于这两个方面,我建议都去学习,因为目前的招聘需求,都已经是标配要求。

4. 高级阶段

如果你已经是软件测试行业的老油条了,那相信你很多“坑”都已经踩过了。

到了这个阶段,可以说是软件测试工程师的最大的职业发展瓶颈。业内的大神们,也都是突破了这个阶段,才获得新的发展。

一般在这个阶段,会面临3个方向的发展:


技术专家
这条路较为坎坷,但是也最为抗打。如果你不善于人际关系,不问世事,又对技术有这浓厚的兴趣,那么建议你走技术这条路。平时多撸代码、多和开发沟通,写一些测试平台或者测试工具。同时开发能力也要不错,这样才能成为一个高阶的测试开发工程师。

管理方向
做技术累,做管理更累,因为和人打交道是最复杂的。既要协调上下级的关系,又要统筹安排好各项工作。如果喜欢走管理路线,不要脱离业务只做管理,建议做一名技术管理,在带领团队的同时,不断的提升自己的技术。一方面技术不行很难服众,另一方面也是锻炼自己落地一些团队方案的能力。虽然说管理的“生命周期”比纯技术会长一些,但是一定不能放弃技术。

转行其他
研发、产品、运维,或者创业,都是面临瓶颈之后的新的出路。其中尤其是创业,不要草率,见过太多创业失败又回来上班的,啥都折腾没了。


三、软件测试工程师的核心竞争力是什么?
互联网测试基础能力:深入理解互联网前沿测试技术体系和相关理论知识;
扎实的编程开发能力:熟悉 Linux/Shell 编程,能熟练掌握一门高级开发语言(初级推荐
Python,高级推荐Java,甚至包括特定领域语言如 Go/Rust);
深入代码分析的能力:Sonar 等各类代码静态分析和建模技术;
深入运行时分析的能力:覆盖率、代码插桩统计、Hook 等技术;
深入测试业务的能力:能完成业务建模、用户行为和风险分析;
深入重点的自动化测试项目能力:接口、UI、移动专项的自动化测试;
能够完成工具化和平台化任务的能力:能够创建领域专用工具和平台;
能够完成线上测试和线上质量监控的能力:性能压测、线上数据分析和质量统计;
能够完成公司测试流程改进和工程效率提升的能力:推动 DevOps、持续交付落地;

技术强才是硬道理,对软件测试感兴趣的小伙伴也欢迎你过来领取免费学习资料哦!