几天前,龙叔的学妹问了龙叔一个问题,她问要不要毕业转行去做测试员?她非常纠结。
情况是这样的,学妹的父母认为女生要早点嫁人,不需要一份优秀工作,这样的观念,让她真的很想自己出来闯出一番天地。
对此,学妹很苦恼,她不知道应该顺从父母的意愿还是坚持自己的本心。
1.首先坚持自己的本心,积极与父母沟通
有人说应该尊从父母的意愿,因为父母的决定是为子女打算好的。
我觉得不然,父母固然是为子女打算的,但父母并不是完全不听子女的意见。而你选择做测试员,你也是揣着质疑在前行,但凡只要你以后遇到任何技术上的麻烦,你都会回到这个问题上,都会认为是一定是性别原因导致的,自己想着“果然女生还是不适合编程”,还为自己的透彻眼光点赞。
而做测试,会遇到很多困难,只有你自己跨过去了,才能跨过自己和他人的偏见
但我想说的是,人生的困难还有很多,我们可以选择吃苦,但绝不能吃因为没有为自己选择而后悔的苦。
2.“我转行做测试员,工资翻了4倍,幸好当时选择了坚持”
这是我高中同学跟我分享的经历,她也是女生,当时选择文科是因为家里的要求,但她在大学毕业时还是义无反顾选择转行去做测试员
“我知道转行会很辛苦,但我不后悔”
同学现在很高兴,她的父母也开始理解并支持她的选择。她也和我分享了一些做测试员的经验:
首先,对于转行和小白,自动化测试入门比编程更加容易,因为语法简单,小白更容易看懂简单代码。
其次,从工作岗位,目前市场的供需来看。测试岗位薪资待遇好,需求量大,即使是最基础的测试也比大部分文职薪资待遇好。
最后,学习测试之后其他工作学习起来就比较轻松了,测试所覆盖的工作范围非常广泛,所有互联网工作都能接触到。”
以上是她个人的经验分享。
而她的成功有自身优势,这个优势是建立在她职业生涯基础之上,当然也有幸运与机会,她去到的公司不错,领导也给力,也用心培养了她,她学习能力强等等。
哪个人没有迷茫的时候呢?所以,在职业选择中,并不存在绝对性,尤其这种所谓性别论。
在最终确定要不要做测试员这份工作时,我们要考虑到自身的职业生涯体系,脚踏实地,一步步前进,比如针对测试员这份行业。
一般分为四个阶段:
1.入门阶段
这个阶段你或许是刚从学校毕业,也或许是从其他行业转行,就会像题主一样,对软件测试行业产生一系列的疑问,比如前景怎么样?薪资高不高?加班多不多?零基础应该如何学习?需要学会哪些技能才能找到工作?
其实这些都不重要,重要的是你一定要搞明白这个行业是做什么的,你是否适合这个行业。
作为互联网行业,必然会有加班,即使不是996,也必然会有紧急任务或者上线,问下自己是否能够接受这样的工作节奏。如果赶到要上线了,通宵也是常有的,第二天早上你下班了,你的同事刚刚拎着早餐上班。
如果你对这份行业带有热情,或者说不讨厌这个行业,那么你就能够有动力去钻研,去自我驱动,这样才能保证你的工作对自己不是一种煎熬,也能在基础上稳扎稳打。
而在互联网行业,技术日新月异,在这个行业如果希望稳定的持续地发展,必然需要不断地学习,如果上进心比较差,那么不建议进入这个行业。
2.初级阶段
当我们刚开始做测试,我们一定会遇到很多麻烦,这个时段的你需要沉淀下来,虚心学习。通过不断对行业的了解和学习,打好基础。正所谓基础不牢,地动山摇。
3.中级阶段
这个阶段的你一般已经从事该行业1-2年了,你已经可以独当一面。但还是会有一些难题需要你抉择。因为这时的你需要更加深入的研究,而往哪个方面继续你的深入,正式需要你选择的。
这里龙叔有一些个人经验可以与你分享:
关于发展方向
无论APP测试也好、web测试也好,或者想研究自动化,或者想专精性能,都是可以的。没有什么所谓的好不好,重要的是你喜不喜欢,如果你觉得性能做着心累,没有自动化测试有成就感,那就一门心思去研究自动化测试。只要往某个方向专精,一段时间后你就可以成为大神。
关于语言选择
以前我专门写过一篇关于软件测试工程师语言选择的回答,简单来说,就是刚接触的时候,可以选择Python,上手更快,更加灵活,到了高级阶段,应对更大的业务形态,还得学会Java。做技术的,会很多种语言很正常。
自动化测试还是性能测试
对于自动化测试,不要被其牵着走,不要过分夸大作用,也不要为了自动化而去自动化。
性能测试某种程度上会比自动化更难搞定。代码、运维、计算机原理、数据库、业务等等,你都要搞懂。写脚本或者执行都还好,难的是性能分析和调优。当然如果这个阶段你对自己的要求还不是很高,那么掌握性能测试的基本流程和简单的性能分析就可以了。更多的比如搭建压测环境、监控性能指标等等,还是要在实战中去积累经验的。
对于这两个方面,我建议都去学习,因为目前的招聘需求,都已经是标配要求。
4.高级阶段
如果你已经是软件测试行业的老油条了,那相信你很多“坑”都已经踩过了。
到了这个阶段,可以说是软件测试工程师的最大的职业发展瓶颈。业内的大神们,也都是突破了这个阶段,才获得新的发展。
一般在这个阶段,会面临3个方向的发展:
技术专家
这条路较为坎坷,但是也最为抗打。如果你不善于人际关系,不问世事,又对技术有这浓厚的兴趣,那么建议你走技术这条路。平时多撸代码、多和开发沟通,写一些测试平台或者测试工具。同时开发能力也要不错,这样才能成为一个高阶的测试开发工程师。
管理方向
做技术累,做管理更累,因为和人打交道是最复杂的。既要协调上下级的关系,又要统筹安排好各项工作。如果喜欢走管理路线,不要脱离业务只做管理,建议做一名技术管理,在带领团队的同时,不断的提升自己的技术。一方面技术不行很难服众,另一方面也是锻炼自己落地一些团队方案的能力。虽然说管理的“生命周期”比纯技术会长一些,但是一定不能放弃技术。
转行其他
研发、产品、运维,或者创业,都是面临瓶颈之后的新的出路。其中尤其是创业,不要草率,见过太多创业失败又回来上班的,啥都折腾没了。
那么,作为一名软件测试工程师,该怎样努力才能快速成为一名优秀的测试开发大佬,或者性能测试大佬,或者说作为一名软件测试工程师需要掌握哪些知识体系。这不仅是一个刚刚踏入职场的软件测试工程师,也是工作三五年之后开始迷茫的工程师,都必须要面对和想明白的问题。
最后,龙叔奉上一份软件测试学习规划;
一、前置基础知识:
计算机基础
测试理论
HTML基础
CSS基础
JS基础
二,linux和数据库
linux
数据库介绍
SQL语言(重点)
数据库高级功能
三,测试基础
软件测试理论
软件生命周期
测试方法和分类
测试用例设计
缺陷管理
web项目实战
测试管理工具
四,编程+数据结构
Python基础
面向对象
异常处理
模块和包
五,WEB自动化
WEB自动化入门
WEB自动化基础
WEB自动化中级
WEB自动化高级
项目实战
六,移动自动化
移动自动化基础
移动自动化中级
移动自动化高级
七,接口测试
接口基础
postman实现接口测试
数据库操作
代码实现接口测试
持续集成
接口测试扩展
八,性能测试
性能测试基础
性能测试工具
项目-接口性能测试
项目-web性能测试
性能测试调优
九,综合项目实战
功能测试,ui自动化测试,接口测试,性能测试
最后:
龙叔相信你如果掌握了上图上面所有的知识技能,并且能够灵活的运用的话,月薪20k以上是不会有什么问题的。
加油吧,测试人们!