大家好,我是亦无。
关于软件测试工程师的职业规划,我之前写了 5 篇文章:
《做软件测试有前途么?》
《做软件测试到底要不要学编程?》
《技术导向下的业务测试何去何从?》
《全自动化测试离我们还有多远?》
《软件测试工程师发展的 3 个方向》
每次推送完,都有不少同学又单独找我探讨,看来大家都很关心这个话题。
今天基于我前一段的思考,以及在团队中的实践,继续和大家聊聊这个话题。
首先说明下,这次话题我把受众做了下限定,主要面向的是有 5 到 10 年测试经验的老手。
因为已经有一定的工作经验,所以这次我要谈到的 2 个方向,可以说是一个分叉口,分别是技术方向和管理方向。
一、技术方向
先来看看技术方向。
目前很多公司都把测试归集到技术岗,但是很多测试同学对自己的技术并不自信。
但是随着工作经验的增加,也有同学一直往测试开发或者效能平台开发的角色发展,积累了一定的技术基础。
针对这部分同学,大部分应该更倾向于技术方向。
我这里说的技术方向,并不单纯的是指代码技术,我根据目前团队的情况,又继续细分了 4 个方向。
1. 通用环境治理。
我们团队主要做的是 windows 客户端测试,大家都知道 windows 的版本比较多,最新的 windows 11 经常还不定期更新。
这导致客户端测试环境准备工作量非常大,依赖性又非常高,如果能有一个统一的环境治理,就再好不过了。
其实还不单单是准备好 windows 环境,我们客户端测试依赖很多系统环境的部署,比如 AppVerifier 安装准备、kernal dump 设置、UAC 开启、Dll 劫持环境准备等统一环境部署工作,都可以在环境治理中处理掉。
这个看起来像是效率平台做的事情,目前因为业务不同,适应性有限,更适合测试开发来做。
2. 统一测试工具的支撑。
同样拿我们 windows 客户端测试举例,可以考虑提供当前业务适用的、频度高、效率好、实现简单、使用简单的测试工具。
比如系统性能监控工具、软件性能指标测试工具、文件快速替换工具、文件注册表一键操作工具、快速回归的 PVT 工具等。
这些工具并不难,和业务贴合度高,但是效果特别好,难点就是去发现这样的改进点。
3. 质量度量。
关注质量的同学应该也都关注质量度量,但是目前也没有一个统一的度量指标,因为这个指标本身就没法统一和固定,它根据项目的实际情况会随时变化,有句话说的特别好“你度量什么,你就会得到什么”。
既然度量是一个长期的事,而且又是需要做的事,那就需要有人做,这个人需要有技术基础,可以从各个地方捞数据,并进行数据统计,也要不断优化度量标准,并从数据化的角度对项目进行分析,提出项目改进建议。
4. 参与技术评审。
现在很流行测试左移,其中在编码阶段进行质量保证,也算是左移的一种。
虽然我们没法参与实际的代码编写,但是我们可以在概要设计和详细设计阶段进行参与,借助我们在质量保证过程中的经验,对框架设计的合理性,对分支覆盖的全面性进行评审,尽早发现质量风险。
好了,这就是我要说的技术方向的 4 个细分方向,这些方向都要求技术基础,在实际做的过程中,又可以不断加强自己的技术积累,是一个学习和实践相互促进的正循环。
二、管理方向
接着说下管理方向。
和技术方向最大的不同,就是管理的目标是人,技术是确定的,而人是非常不确定的。
如果要走管理方向,一定要先确认自己能接受“人的不确定性”这个前提。
下面是管理方向主要做的几件事。
1. 沟通协调和信息同步。
管理者一般都是接口人的角色,会接收到特别多的信息(也需要知道怎么去获取自己需要的信息),我们要能甄别哪些是有用的信息,哪些是无效信息,哪些是需要同步,哪些只需要小范围周知,并且在作出判断后,及时做到同步到位。
接受信息的过程,以及信息同步的过程中,肯定会涉及沟通,也肯定会参与其他人的沟通,管理者作为信息更充分的一方,一定要在沟通过程中,起到协调一致的作用,一方面是让不同人的目标达成一致,另一方面是在发生冲突时协调一致。
2. 团队协作。
管理的是人,就是一个团队,必须要充分发挥团队的力量,要能人尽其才,所以需要在不同时候,给予不同的安排和激励,特别是每个人的需求在不同的时候也会不同。
另外工作不仅仅是自己一个人的事情了,需要把任务分配下去,通过别人的手来完成任务,同时要达到和自己去做时同样的效果。
在人岗匹配的过程中,还需要从全局看问题,不能只把事情的一个点完成了,要明白这件事在项目中的位置和目的,让团队都更有目标感。
3. 发现每个人的优势。
管人的同时也要培养人,我们不是把人当工具用,而是鼓励每个人发挥自己的优势,取长补短,互相配合。
最后要达到的效果是,事做了,过程中学习了知识和技术,积累了经验,还提升了能力。
基于人的不确定性,要达到这个效果非常难,过程中要尽量激发每个人的积极性,主动去探索自己,并且在信任的基础上,互相暴露自己,从而更好的识别每个人的优势。
以上,是我对测试工程师在技术方向和管理方向发展的一些看法,如果你已经工作 3 到 5 年了,可以参照着标准看看自己适合哪个方向,提前给自己做好规划。
需要注意的是,这些结论是基于当前团队现状,不一定通用,权当抛砖引玉,如果能引发你的思考,我觉得就足够了,如果你有什么想法和建议,欢迎留言一起探讨。