问题:
四年测试工程师经历,下一步转开发还是继续测试?
测试四年,没有积累编程脚本能力和自动化经验,找工作时都要求语言能力,自动化框架。
感觉开发同事积累的经历容易找工作。
下一步,想办法转开发岗还是继续测试???
回答:
题主的问题,总共有3句话组成,我的回答基本上按照你的描述开展,只是顺序换一下。假如是面对面的方式,那么通过不断的问答模式,可以更快地找到根本原因,并提供更合理的分析与建议。本文只能根据我的一些经验和猜测而展开。
描述3:“下一步,想办法转开发岗位还是继续测试?”
针对这个问题,想问题主一个问题:你为什么想要转到开发岗位?粗略地想,题主应该主要有两个原因:真心喜欢开发而不喜欢测试工作、因为开发工作收入更高。
1)原因1:题主真心喜欢开发而不喜欢测试工作
这里的喜欢指的是来自于动机培养中的一流动机:因为自己喜欢并且开发工作能够带来内心的乐趣和成就感。假如是因为感觉开发工作收入更高,那是伪喜欢,把它放在原因2中。因此本小节后续的内容围绕题主的一流动机——喜欢开发工作。
假如是这个原因,回答题主的问题就明确了:必须是想办法转到开发岗位。接下来要考虑的更重要问题是:如何提升你的能力满足开发岗位的要求,才是题主需要考虑的,即纠结应该转到开发岗位还是测试工作没有意义,关注点在于题主的能力提升以满足开发岗位的要求!
以前在我的博客中写过一篇文章“规划测试人员的测试职业发展路径”,其中的实施步骤同样适用于开发岗位,简单讲可以通过O2EP步骤达到目标:
明确目标O:例如2年内题主计划转到开发岗位;
理清障碍O:当前存在的主要障碍是什么?例如:开发语言不懂、数据库不懂等;
选择榜样E:开发团队中,有谁做得很好?你与他之间的差距主要表现在哪里?这些差距就是你在2年时间内需要弥补的;
行动计划P:针对障碍和差距,制订计划进行弥补和完善;
O2EP步骤中第四步“行动计划P”对于每个人而言都是最难的:难的不在于三分钟热度的开始,而在于长时间的坚持!
2)原因2:感觉开发工作收入更高
这就有点类似于目前行业内争议很大的“软件测试没有前途”、“软件测试没有技术含量”的议题。我们需要问的一个问题是“为什么开发工作收入会更高?”,通过连续问几个“为什么”(5WHY法找到根本原因),你会发现开发工作收入更高的背后原因,很多时候不在开发工作本身,而更多的在于人与人之间的能力差距上。至少,相比于20年的开发和测试工作的收入差距,当前在同一个级别职位的开发和测试岗位,收入待遇差距并没有这么大。
所以,对于测试工作经验4年的你,假如你的工资收入相比类似级别的开发人员,甚至优秀测试人员相差不少,就要从自身能力上面找原因了。在我的文章“规划测试人员的测试职业发展路径”中与提到了一个观点:开出租车同样可以有前途。尽管每个行业、每个岗位理论上都有个天花板(包括收入和职位),但对于个人而言,要问自己的是自己是否属于当前级别中前20%的位置,即金字塔的顶端位置。假如还不是,那么考虑转开发就意义不大,因为您还有空间继续增加你的收入,关键又在于你的能力是否能够不断提升!
描述2:“感觉开发同事积累的经历容易找工作”
根据问题中的描述,这句话的重点不是“开发的同事”,而是他“积累的经历或经验”,让他更容易找到工作。问题又回到了前面提到的,找工作的难以程度,开发还是测试角色不是决定性的因素,而是你在这4年的工作中经验积累,包括:
领域知识:做好测试工作的基础是你需要深入了解软件产品的行业背景知识,即领域知识。例如我以前是做通讯产品的,那么了解TCP/IP等知识是必须的。而你的测试对象又不是孤立的一个产品,它一定需要和周围很多不同软件产品共同集成为一个更大的系统,因此外围产品的知识你是否也需要去了解?
测试过程:测试不再仅仅关注在测试执行上,我们将测试贯穿于整个软件开发生命周期。因此,你需要知道在整个生命周期内需要做哪些事情,和开发团队等的关系是什么?举个例子:与定义需求的团队的关系是什么?输入输出之间的依赖关系?与项目管理团队的关系?输入输出之间的依赖关系等;就算是测试执行工作,它也不是孤立的,它是整个软件开发生命周期内的组成部分,它必定和周围的所有相关开发活动相关;
测试技术:测试过程中的每个活动,都需要有适合的测试技术支持,从而可以更好的提高测试效率和测试有效性。例如:测试分析与设计,你就需要选择合适的测试分析技术和测试设计技术;制订测试计划,你必定需要测试估算技术和测试风险技术等的支持;
测试管理:测试过程中的每个测试活动都是相互依赖和反馈的,因此对整个测试过程的管理和监控就是必须的,包括收集和分析每个活动的测试数据,并基于分析结果与计划目标进行比较,假如出现大的偏差,必须要采取合适的应对措施活动,以保证测试过程符合计划中的目标要求。
人:前面提到的4个维度,最终一定要落实到人身上,即所有的事情都需要测试人员去完成。此时,每个测试人员除了要具备前面的能力之外,还需要具备其他能力,例如:学习能力、思维能力、沟通能力、解决问题能力、时间管理、动机、性格和价值观等,都会影响你的测试工作。
仅仅强调测试工作经验4年用处不大,而是要呈现你积累的经验、能力的不断成长,例如:你测试工作4年,实际的经验和能力说不定超越了一些工作8年的测试人员。最怕的是测试工作4年,只是把同样的测试工作重复做了4年。
描述1:“没有积累编程脚本能力和自动化经验”
既然知道找工作时要求编程语言能力和自动化能力,而工作了4年没有任何经验。同样的,这和你是开发角色还是测试角色没有关系。还是需要问自己为什么?找到该问题的根本原因,并静下心来逐步弥补这些方面的不足,比纠结转开发还是继续测试更重要。
针对题主提的问题,归纳一下:你是否发自内心喜欢开发工作?还是因为感觉开发工作可以钱更多?做测试工作4年,收入是否已经是同类测试经历中属于前20%的范围?找工作难是因为测试这个角色导致的,还是因为个人能力不足引起的?
最后,不管是什么工作或职位,决定因素在于你的技能和能力。当你的技能和能力在同类人群中已经属于上乘时,你会发现很多时候已经不需要你去选择什么样的工作或职位,而是人家开始追着你!
希望,我这个回答能给大家一点思考的思路和方向!