作为一名软件测试从业人员,你有弄明白你的发展方向吗?古语有云,男怕入错行,女怕嫁错郎。如今,换行是挺方便的,可是如果不弄明白入行后的路,终究只会是一场蹉跎。

一般来说,管理和技术是测试人员的主要发展方向。敏捷开发模式下开发和测试融合,诞生出近几年非常流行的测试开发,从互联网大厂传递出的扁平化管理理念,也使得专注于软件测试技术的人员有了更多的职业发展选择。

管理的成长道路

管理是在特定的环境下,对组织所拥有的资源进行有效的计划、组织、领导和控制,以便达成既定的组织目标的过程。

不同的公司对管理都有不同的职级划分。但是,大概可以分为三个等级:基层测试管理者、中层测试管理者和高层测试管理者。

下图从职位、经验要求、管理规模、负责对象和工作内容层面对这三个等级进行了总结对比,帮助我们更好地理解这几个职位是如何发展的。

基层测试管理者:测试组长

基层测试管理者一般有三年左右的工作经验,带领所属小团队(十人以下)一起完成测试任务,比如一个版本的测试或者一个项目交付的测试等。基层测试管理者通常还会承担小组中最重要、最复杂的测试工作,是团队的中坚力量,所以有时我们也称他们为技术负责人。

中层测试管理者:测试经理

中层测试管理者一般有五年左右的工作经验,带领中型团队(十到几十人),负责一个或多个产品的测试。他们需要对产品测试全流程负责,他们需要和不同角色(如产品、开发、维护、市场、服务人员)沟通协作,完成产品目标。管理方面,他们要负责测试团队的“选育用留”;技术方面,他们要能解决团队测试中遇到的困难、难题,不断提升团队的测试能力。

高层测试管理者:测试总监

高层测试管理者一般有十年左右的工作经验,带领大型团队(几十到上百人),负责一条或多条产品线。和其他高层一样,高层测试管理者也要对公司的商业成功负责。他们的工作会更多集中在战略、发展和规划上,如测试团队的组织架构、绩效标准制定、人才选拔和培养(如任职资格)、效能提升等,对测试团队健康、良性发展负责。

技术的向前延伸

测试人员在技术上的发展方向可以分为三类:产品测试专家、测试技术专家、测试开发人员。

产品测试专家:测试架构师

测试架构师是测试技术方面的一个发展方向,是产品测试技术专家,其主要职责是对不同的组织、产品、研发模式做出最适合当前状况的选择,进行刚刚好的测试,为产品成功保驾护航,提供支撑。

很多公司都有系统架构师,相对来说,大家对系统架构师这个职位比较熟悉,但是并非所有公司都有测试架构师这样的职位。其实测试架构师和系统架构师在职责上有很多类似的地方,我们可以借助系统架构师来理解测试架构师的作用,如下图所示。

测试技术专家

我们还可以专注于某一个测试技术领域,发展成为这个领域的测试技术专家。软件测试发展至今,早已形成了健全的测试体系,每一项测试活动(如测试分析设计、测试执行、测试评估、测试流程等)都有丰富的内涵,都值得深入研究,相对应的测试人员可发展成为相关领域的专家,如测试分析设计专家、测试流程专家、探索式测试专家等,如下表所示。

除此之外,每个产品质量属性(如性能、可靠性、安全等)都有自身专业的测试方法和工具,也有非常大的空间,值得不断深耕,相对应的测试人员可发展为相关领域的专家,如安全性测试专家、易用性 / 用户体验测试专家、性能测试专家等,如下表所示。

测试开发人员

测试开发是近年来非常流行的测试职位,总体来说测试开发主要可分为三类:

偏向于自动化测试架构的测试开发工程师;

偏向于效能、工具链的测试开发工程师;

可以和开发结对的测试开发工程师。

下图总结了测试开发工程师的通用技术栈。

其中“开发能力”和“开发能力”基础”是所有测试开发人员都需要关注的领域。自动化测试架构相关的测试开发工程师还需要重点关注“自动化测试”和“测试类型”,效能和工具链相关的测试开发工程师需要重点关注“测试类型”和“研发效能”。

做管理还是做技术

这个问题的答案最终还是要看自己的选择。首先你肯定要突破刚入行的水平,作为技术工种,技术肯定是相当重要的。建议测试管理者,特别是基层和中层,一定不要过早的放弃技术优势,只专注在管理、沟通、协调上,很难想象一个测试技术不过关的管理者能够带好测试团队。当然,如果你是走技术道路的,日常工作中留有余力的话,涉猎管理也未尝不可。