现在计算机专业毕业的毕业生越来越多,即使不是计算机专业,几个月来参加软件开发培训机构或自学几本编程书的书也接连不断。(莎士比亚。)。
等到毕业求职的时候,就会发现IT行业的职位还是很多的,什么项目经理、软件工程师、测试工程师、QA、BA等等。作为职场新人,可能会一脸懵逼,无从选择,作为一个从事软件测试多年的老鸟,今天就来讲讲到底从事软件测试好,还是做软件开发工程师好。首先说说两者的区别。先从传统意义上来说,开发就是撸代码的,当然实际从事工作就发现,撸代码只占工作的小部分,大部分时间其实是在思考如何设计,如何实现功能,代码写出来以后,还要去调试,大的项目还要多人联调。软件测试,则是主要保证开发出来的软件能正常使用,实现了客户需求,当然还有尽可能多的发现软件的BUG。
从工作繁重程度来讲,开发人员的工作相对来说在整个软件周期内都比重,前期设计,中期开发,后期改BUG,测试人员前期主要是测试设计,这个时段相对比较轻松。后期版本发布测试时,需要极大投入,而且测试时间一向被压的比较短,加班赶进度经常难以避免。从技能需求来说,开发需要对编码有热情,另外最好有比较强的逻辑能力。测试方面,更看重细心和考虑的周到全面,对编码要求没有那么高。从待遇来说,开发人员还是一向优于测试人员的,不过现在业界也逐渐看齐。
当然现在AI技术发展迅速,什么各种云,各种流水线的引入使用,开发人员和测试人员的界限越来越模糊,像一些顶尖的google和微软之类的公司,越来越流行全栈工程师和测试开发工程师,依赖各种自动化和流水线完成测试。单一的测试人员可能是少部分的保留在做一些场景的挖掘测试。像本人工作的公司有些项目也在推行这种方式,更有AI自动生成测试用例,自动生成测试脚本等新技术出现。传统测试人员的发挥余地越来越小。更有现在不会写自动化测试代码,不懂JAVA/SHELL/python无法立足,待遇也不会很高。
写到这里,感觉有点歪题,从分析做测试好不好变成了测试人员已经没有出路,大家都尽量去做开发吧,确实是这样,趁着刚毕业年轻精力旺盛,能有大量时间加班和学习的话,尽可能的还是去做开发吧,可以等待后期转型做测试开发也是比较轻松的。