管理和技术是测试人员的主要发展方向。敏捷开发模式下开发和测试融合,扁平化管理等趋势使得专注于测试技术的人员也有了更多的职业发展选择。
测试人员在管理上的发展
管理是大家比较熟悉的软件测试职业发展路线。我们可以根据职级将其分为 3 个等级:基层测试管理者、中层测试管理者和高层测试管理者。下图从职位、经验要求、管理规模、负责对象和工作内容层面对这三个等级进行了总结对比,帮助我们更好地理解这几个职位是如何发展的。
1、基层测试管理者:测试组长
基层测试管理者一般有2~3年的工作经验,带领一个小团队(2~5人)来一起完成测试任务,比如负责一个版本的测试或者一个项目交付的测试等。
基层测试管理者的代表职位是测试组长,除了负责安排小组工作外,他们通常还会承担小组中最重要、最复杂的测试工作,是团队的中坚力量,所以有时我们也称他们为技术负责人。
2、中层测试管理者:测试经理
中层测试管理者一般有3~8年的工作经验,带领中型团队(10到几十人规格),负责一个或多个产品的测试。
中层测试管理者的代表职位是测试经理,他们需要对产品测试全流程负责,他们需要和不同角色(如产品、开发、维护、市场、服务人员)沟通协作,完成产品目标。管理方面,他们要负责测试团队的“选育用留”;技术方面,他们要能解决团队测试中遇到的困难、难题,不断提升团队的测试能力。
对中层测试管理者来说,既需要管理的格局和视野,也需要技术上有足够的深度和广度。
3、高层测试管理者:测试总监
高层测试管理者一般有5~10年的工作经验,带领大型团队(几十到上百人规格),负责一条或多条产品线。
高层测试管理者的代表职位是测试总监。和其他高层一样,高层测试管理者也要对公司的商业成功负责。他们的工作会更多集中在战略、发展和规划上,如测试团队的组织架构、绩效标准制定、人才选拔和培养(如任职资格)、效能提升等,对测试团队健康、良性发展负责。
尽管高层测试管理者一般不会再从事具体的测试工作了,但也需要关注各种新的测试技术,保持在技术上的敏感度和先进性。
测试人员在技术上的发展
测试人员在技术上的发展方向可以分为 3 类:产品测试专家、测试技术专家、测试开发人员。
1、产品测试专家:测试架构师
测试架构师是测试技术方面的一个发展方向,是产品测试技术专家,其主要职责是对不同的组织、产品、研发模式做出最适合当前状况的选择,进行刚刚好的测试,为产品成功保驾护航,提供支撑。
很多公司都有系统架构师,相对来说,大家对系统架构师这个职位比较熟悉,但是并非所有公司都有测试架构师这样的职位。其实测试架构师和系统架构师在职责上有很多类似的地方,我们可以借助系统架构师来理解测试架构师的作用,如下图所示。
2.、测试技术专家
我们还可以专注于某一个测试技术领域,发展成为这个领域的测试技术专家。软件测试发展至今,早已形成了健全的测试体系,每一项测试活动(如测试分析设计、测试执行、测试评估、测试流程等)都有丰富的内涵,都值得深入研究,相对应的测试人员可发展成为相关领域的专家,如测试分析设计专家、测试流程专家、探索式测试专家等,如下表所示。
除此之外,每个产品质量属性(如性能、可靠性、安全等)都有自身专业的测试方法和工具,也有非常大的空间,值得不断深耕,相对应的测试人员可发展为相关领域的专家,如安全性测试专家、易用性 / 用户体验测试专家、性能测试专家等,如下表所示。
3、测试开发人员
测试开发是近年来非常流行的测试职位,总体来说测试开发主要可分为 3 类:
偏向于自动化测试架构的测试开发工程师;
偏向于效能、工具链的测试开发工程师;
可以和开发结对的测试开发工程师。
下图总结了测试开发工程师的通用技术栈。
其中“开发能力”和“基础”是所有测试开发人员都需要关注的领域。自动化测试架构相关的测试开发工程师还需要重点关注“自动化测试”和“测试类型”,效能和工具链相关的测试开发工程师需要重点关注“测试类型”和“研发效能”。
做管理还是做技术
《论语·子张》中有一句名言—“学而优则仕”。对这句名言,我们通常的理解是“学习好了就应该去做官”。事实上,孔子这句话里的“优”,不是指“优秀”,而是指“富余”,这句的前面半句是“士而优则学”。这两句话真正的意思是:“做官有余力应该去做学问;学习有余力,就去做官(进一步推行仁义)。”
这句话非常适合我们当前讨论的这个主题:“对做管理还是做技术来说,做技术有余力,有心得,就可以去做管理,去进一步推行自己的心得;反过来,当管理有余力,就应该再去做技术。”测试者应能在技术和管理两方面游刃有余,互相转换,如下图所示。
我建议测试管理者,特别是基层和中层测试管理者,一定不要过早放弃技术,把自己完全陷入各种管理会议、沟通协调中。软件测试是一个构建于实践之上的学科,没有绝对的技术和绝对的管理。一位优秀的测试管理者一定也是一位优秀的产品测试专家,很难想象一个测试技术不过关的管理者能够带好测试团队,也很难想象那些完全没有管理思维的测试者能够成为把策略、技术和工具落地的专家。
另一方面,敏捷开发模式下行业更迭越来越快,测试高级管理职位变得越来越少,多元化发展才是顺应这个时代的选择。一个理想的测试团队,应该有测试经理和测试架构师两个角色,测试经理负责管理,测试架构师负责技术。但这并不等于测试经理只管管理、只懂管理,测试架构师只管技术、只懂技术。测试经理和测试架构师要熟悉彼此领域的关键活动,能够评审彼此领域关键的交付件,为彼此提供决策参考,既分工合作,又彼此备份。要做到“技术和管理都游刃有余”,测试者的能力也不能只是一个维度,就像下图 所示的那样,“业务”“技术”和“管理”围成的三角才代表测试者真正的能力。
业务能力:理解用户的需求和使用场景,理解产品的核心价值,能够提供有竞争力的产品改进建议。
技术能力:指各种测试技术的掌控能力,包括测试分析和设计能力、测试方法和测试执行能力、自动化测试能力、质量分析和评估能力等。
管理能力:包括项目管理能力和团队管理能力。这里总结了一张“测试能力九宫格”,如下表所示。
测试团队的灵魂
测试架构师是产品测试专家,是测试团队的灵魂人物,也是测试工程师在软件测试技术上的一个重要发展方向。那么测试架构师在产品测试中具体要做什么?哪些是他们需要关心的事情呢?测试管理者可以替代测试架构师吗?测试架构师的核心技能有哪些?欢迎阅读《测试架构师修炼之道:从测试工程师到测试架构师(第2版)》。
这不是一本单纯讲授测试技术或者测试管理的图书,而是以“帮助广大奋斗在一线的测试工程师系统梳理自己的测试技术并构建自己的测试体系,迅速升级为测试架构师”为目的的专业技术书。
本书结合敏捷、DevOps等开发模式及作者在华为和绿盟近15年测试心得和实践,围绕“测试策略”,把测试理念和各种测试技术串了起来,并讨论了该如何把测试技术和产品结合起来,如何确定测试目标、测试范围、测试的深度和广度、测试的重点和难点,并最终实现符合商业目标的“刚刚好”的测试。
书中还基于当前测试工程师的实际情况,为测试工程师向测试架构师跃迁规划了明确的发展路径。
为帮助读者理解,书中包含一个贯彻始终的综合案例,为说明某些重点知识配备了数十个特色案例。另外,书中还包括10余套可套用的模板或清单、近500张图表,从而保证读者可以把所学内容落地到自己的项目中。
【本书一共包含9章,分为三大部分】:
●第1部分(第1~2章)从中国的软件测试行业现状入手,帮助大家分析自身的瓶颈,为软件测试者的职业规划提供建议。书中为测试工程师提供了5个发展方向,并重点介绍了向测试架构师跃迁的规划建议。
●第2部分(第3~5章)深入讲解了软件测试架构师需要掌握的基本测试技术和实用的软能力,包括测试架构师应该做和不应该做的事、软件质量模型、测试类型、6种常用测试方法、测试设计、探索式测试、自动化测试、沟通和协商以及写好测试用例的表达技法,向软件测试架构师的目标进行突破。
●第3部分(第6~9章)详细介绍了软件测试架构师的核心技能——测试策略该如何制定,包括四步测试策略制定法、产品质量评估模型、组合缺陷分析、特性价值分析、风险分析、不同研发模式下的测试分析、基于产品质量的测试策略、基于价值的测试策略等重点内容,以及在产品测试中如何评估产品质量并根据质量评估情况来修正测试策略,最后达到理想的测试目标。这部分重点是帮助读者在软件测试架构师的道路上进行自我修炼。
书中还包含了大量对各种测试技术的总结,这些不仅可以直接运用在实际测试项目中,还可以帮助读者梳理自己掌握的测试知识,建立自己的测试架构。
更多精彩回顾
书讯 | 1月书讯(下)| 2022年的第一本书
书讯 | 1月书讯(上)| 2022年的第一本书
资讯 | 重磅!达摩院发布2022十大科技趋势
书单 | 6本书,读懂2022年最火的边缘计算
干货 | GraalVM下一代JVM到底是什么?
收藏 | 一文带你了解LoongArch自主指令系统
赠书 | 【第89期】推荐几本电商必读书
点击阅读全文购买