通常情况下,在大的互联网公司,软件测试的发展道路大概有三个方向:管理路线、技术路线、其他路线。如下图所示,每个方向都有具体的发展路线,但是不管走哪条路线,总是要从测试技术干起,所以今天我们只讨论如何规划自己的测试技术发展道路。
你可能在一家行业内很有影响力的公司从事软件测试工作,如果你不规划自己的成长之路,这份工作对你的意义是有限。一般来说,软件测试的职业发展分为四个阶段:入门阶段、发展阶段、进阶阶段、影响力阶段。
入门阶段:测试执行和技能储备
作为一名入门级测试人员,测试执行将占据你80%的工作量,你会根据其他有经验的测试人员设计的用例,去执行测试用例,这个工作可能会略显枯燥也缺乏创意,但是却非常重要。
在测试执行的过程,你会把自己当做一个真实的用户,除了发现软件缺陷外,还能够思考和反馈软件产品设计的合理性。在这个阶段,是锻炼测试用例管理和场景化测试的最佳时机,同时还会不断积累测试所需要的一些必备技能,例如场景的测试工具的安装使用、一些简单的测试脚本编写等。
你可以趁此机会打好测试的基本功,如灵活运用“等价类划分”、“边界值分析法”、“流程分析法”等常见用例设计方法,最后要具备很强的测试执行能力,移动端、web端、服务的测试执行各有特点。
发展阶段:测试设计和测试策略
在经历了入门阶段后,你具备了测试执行和使用相关工具的经验,你会很自然地发现自己在一段时间之后就进入了“经验丰富的测试人员”阵营——了解被测软件、具备常见的领域知识和测试策略。
这个阶段你会逐步参与到测试用例设计和总体测试策略中。在制定测试计划时,你的目标不仅仅是让自己坐下来安排测试周期,等待软件开发完成,按计划进行测试,而是应该参与到讨论软件的新特性和用户体验等事项中去。毕竟,你已经对自己所测试的项目非常熟悉了。一旦开始参与这些更具战略性的工作之后,你会发现你的角色影响范围在扩大,薪水也在逐渐增加,岗位层级也会得到提升。
进阶阶段:测试自动化和效率
到了这个阶段,应该算是真正进入了测试的世界,测试执行、测试策略等细节方面不是你首先要思考的问题,你会开始考虑如何提升团队的测试效率。我们不仅要开始问自己“我们应该测试什么”,还要问自己“我们怎样才能更快、更高效、更低成本的测试它?”。
在这个阶段,你应该打造适合自己团队的测试套件管理工具和自动化测试执行的工具,并推动团队围绕着自动化来进行项目协作。
开发和测试之间的界限是模糊的,这已经不是什么秘密了,所以请拥抱模糊,向测试开发工程师的角色发展吧。最后,请不要奢望软件开发人员会主动利用自动化来测试,因为他们根本就不care。所以一切自动化推动应该是战略性的,这样的思考维度将使你成为一个更好的软件测试人员!
影响力阶段:领域专家和思考
此时你应该已经在大厂确立了自己作为一个QA专家的地位,并且从事测试工作多年,深入理解了测试执行、测试策略和优化效率的来龙去脉。这经验积累将会成为任何公司的宝贵资产。
下一个合乎逻辑的步骤是你开始进入思想领导的角色。在你的就职的公司中,你应该是积极参与重要的产品管理讨论,并能够影响产品的发展方向。对外参加各种软件大会的主题分享,作为一个专家(可能是性能测试或者某个专项测试测试领域的专家),应该为自己建立影响力,并开始展示自己独特的价值主张。这个阶段更多的是将自己的思考融入到实际工作中去,如果还没有开始思考这些问题,应该马上行动起来。