2.1.3角色和段位
让我们回到本章开头的那个问题—测试人员工作3年和工作5年应该有什么不同?前面我们讨论了测试人员的职业发展,是不是只有头衔发生了变化,工作3年升组长、5年升经理、8年升总监才叫有发展?是不是我们要不断地轮岗,今年做测试架构师、明年做测试开发才叫有不同?
2-3测试开发通用技术栈
我们先来看一个“秘书九段”一的故事。
“秘书九段”的故事
总经理要求秘书安排次日上午9点开一个会议。这件事需要通知所有参会人员,秘
书自己也要在会议中做服务工作。这是“任务”,但我们想要的结果是什么呢?下面是一段至九段秘书的不同做法。
一段秘书的做法:发通知。用电子邮件或在黑板上发个会议通知,然后准备相关会议用品,并参加会议。
二段秘书的做法:抓落实。发通知之后,再打一通电话与参会的人确认,确保每个人被及时通知到。
三段秘书的做法:重检查。发通知,落实到人后,第二天在会前30分钟提醒与会者参会,确定有没有变动,对临时有急事不能参加会议的人,立即汇报给总经理,保证总经理在会前知悉缺席情况,也给总经理确定缺席的人是否必须参加会议留出时间。
四段秘书的做法:勤准备。发通知,落实到人,会前通知后,去测试可能用到的投影仪、电脑等工具是否工作正常,并在会议室门上贴上小条“此会议室明天×点到×点有会议”。确认会场桌椅数量是否够用,音响、空调是否正常,白板、笔、纸、本是否充分,确保物品和环境可满足开会的需求。
五段秘书的做法:细准备。发通知,落实到人,会前通知,测试设备,了解这个会议的性质是什么,议题是什么,议程怎么安排。然后给参会者发与这个议题相关的资料,供他们参考,目的是让参会者有备而来,以便开会时提高效率。
六段秘书的做法:做记录。发通知,落实到人,会前通知,测试设备,提供相关会议资料,在会议过程中详细做好会议记录(在得到允许的情况下,做一个录音备份)。
七段秘书的做法:发记录。会后整理好会议记录(录音)给总经理,然后请示总经理会议内容是否发给参加会议的人员或者其他人员,要求他们按照会上的内容执行。
八段秘书的做法:定责任。将会议上确定的各项任务一对一落实到相关责任人,然后经当事人确认后,形成书面备忘录,交给总经理与当事人一人一份,以纪要为执行文件,监督、检查执行人的过程结果和最终结果,定期跟踪各项任务的完成情况,并及时汇报给总经理。
九段秘书的做法:做流程。把上述过程做成标准化的会议流程,让任何一个秘书都可以根据这个流程进行复制,把会议服务的结果做到九段,形成不依赖于任何人的会议服务体系。
秘书九段的故事为我们指出,除了“头衔”和“轮岗”之外,还有另外一种“发展”—段位。段位提升,也叫变化,也叫发展。
我这里总结了一个“测试六段”,仅供大家参考。
测试一段:能执行。能按照测试用例执行测试,会使用基本的测试工具,能发现产
品的缺陷,能清晰、准确地记录缺陷,并能和开发者进行有效沟通。
测试二段:能设计。理解用户需求和产品实现,能够分析、设计测试用例,发现bug
后能够有效定位,有自动化测试的能力。
测试三段:能深入。深入理解用户需求和产品实现,注重测试设计、执行的有效性,
掌握各种专项测试技能,能对自动化架构进行优化。
测试四段:能带队。能带领一个小团队完成测试任务,能有效评估产品质量,给出建议。
测试五段:能固化。能将测试方法标准化,并固化为测试工具和流程,关注测试过
程改进,有能力管理中/大型团队。
测试六段:能引领。有眼界和影响力,在某些领域是行业的标杆。
当然段位发展本来没有标准答案,也欢迎大家写出自己的测试六段、测试八段……我想下次如果我们再遇到这样的问题,会有一个新的答案了:测试人员工作3年和工作5年应该段位不同。
2.1.4测试人员在质量领域的发展
1.企业流程建设
质量管理领域的一个重要发展方向就是流程建设。由于测试常常会和不同角色沟通,平时工作中和流程关系也比较紧密,所以很适合转型做流程。我身边就有很多资深测试工程师成功转型为流程设计师。
图2-4和图2-5所示为当前比较流行的流程框架。图2-4所示是大名鼎鼎的集成产品开发(IntegratedProductDevelop,IPD)流程框架,图2-5所示是当前非常流行的规模化敏捷流程(SAFe5)框架。
图2-4IPD全流程体系框架
图2-5规模化敏捷流程体系框架
流程建设者的主要工作就是根据企业的需要,选择适合的流程体系框架,逐一建设企业的市场、产品、开发、交付等流程模块(如指南、规范、流程说明、交付件模板等),从用户需求到产品,再到服务和用户满意度,形成闭环,并通过度量分析、持续改进,不断提升企业的竞争力。
2.企业质量管理者
成为专业的企业质量管理者也是测试者在质量管理领域的一个发展方向。其实在软件测试发展史上,很多测试部又叫质量部,测试也叫QA(质量保证工程师),日常测试活动也叫质量保证活动。质量就是满足需求、一次性把事情做对、零缺陷、缺陷预防等很多对测试影响深远的理念都是源于质量领域。
但企业质量管理比测试质量管理的范围大得多。质量管理理论最早由泰勒提出,早在工业革命时代就诞生了,随后质量经历了几个发展阶段,如图2-6所示。
图2-6质量发展阶段
质量管理从生产线上的操作控制发展到流程,到组织层面,再到战略和规划层面,最后发展为企业文化、行为和价值观。
质量管理三部曲
质量大师朱兰提出了“质量管理三部曲”,来对企业质量进行管理。
第一部曲:质量策划,致力于制定质量目标并规定必要的运行过程、准备相关资源以实现质量目标。
第二部曲:质量控制,致力于满足质量要求。
第三部曲:质量改进,致力于增强满足质量要求的能力。
企业质量管理者的主要工作会围绕如下几个方面展开:
根据企业状况建立质量管理体系。
明确体系内各过程的相互依赖关系,使其相互协调。
控制并协调质量管理体系各过程的运行,关注其中的关键过程,规定关键活动的运作方法和模式。
理解为实现共同目标所必需起到的作用和承担的责任,减少职责不明导致的障碍。
在行动前确定所需资源。
设定系统目标以及各个过程的分目标,通过实现分目标,确保实现预期的总目标。
通过监控和评估,持续改进质量管理体系,不断提高组织的业绩。
2.1.5测试人员在研发工程效能领域的发展
随着敏捷开发的发展,自动化从测试领域逐渐走到了全流程,通过自动化流水线打通设计、开发、测试、运维等,这也构成了DevOps的基础。当然,自动化流水线也大大提升了研发效率,使得以天甚至以小时发布产品成为可能。目前,很多自动化测试团队、工具开发团队、测试技术研究团队都逐渐转型为工程效能团队,专注于组织工程能力的提升。研发工程效能领域也是测试者的一个不错的发展方向。
工程能力
工程能力,是指生产均一且优质产品的能力。
图2-7是一个典型的研发工程效能建设框架图,代表了目前产研效能领域的主要工作内容。
图2-7研发工程效能建设框架示意图
图2-7所示框架包含了5个基本流:
价值流,从用户需求到产品开发,最后交付给用户产生价值的过程。
数据流,从交付件(比如需求文档、特性列表、规格类表、代码、软件包)角度描述的在不同活动下的输出。
活动流,研发过程中的各种活动,如需求分析活动、开发活动、测试活动等。
能力流,主要包括软件需求分析的能力、软件建模的能力、架构设计能力、编码中对代码进行静态分析和检查的能力、对系统进行配置管理的能力、快速构建的能力、
自动化测试的能力、自动化部署的能力、监控当前产品过程数据的能力、进行度量分析的能力等。
工具流,通过工具/平台提供管理、规范/知识库以及各种能力。
这个框架也给我们指出了在研发工程效能领域的一些发展方向。
1.自动化工具/平台建设专家
自动化工具/平台建设专家负责自动化测试架构的设计、选型和搭建,确保自动化测试体系可落地。负责相关的工具选型和开发(包括开源工具的二次开发),负责和测试自动化上下游环境联动,形成流水线,保证团队自动化测试的高效进行。
2.软件工程专家
软件开发是一个工程,每一项活动都有很多相关的工程方法。软件工程专家也是一个很好的发展方向。我们列举了一些软件工程方面的发展方向,如表2-3所示。
表2-3软件工程发展方向举例
3.度量专家
管理大师彼得·德鲁克曾有一句经典名言:“没有度量,就没有管理。”因为只有通过度量,我们才能知道当前的情况是怎样的,改进的目标是什么,改进是否有效。其实软件测试评估质量的时候,也会用到很多测试度量项。表2-4所示是Tricentis公司总结的DevOps下主要测试度量项。
表2-4测试度量项参考
我们在做测试的时候接触的度量都在使用层面,专职度量专家的工作是:
为团队或组织设立适合的度量项。
设定团队或组织能力基线。
在项目过程中通过度量数据量化分析预测风险,提升整个研发过程的控制能力。
4.工具开发专家
从工程效能的角度来说,工具开发主要包含如下几项。
知识管理工具的开发:如WiKi、规范库、模式库、知识库等的开发。
开发工具的开发:如代码检视工具、代码安全性工具等。
随着云化的流行,工具也开始往云化发展,这给工具带来了新的模式—服务化,特别是研发工作场景中的工具服务,把工具按照研发工作场景归类,这些工具以流水线的方式自动运行,无缝集成,协同工作,可最大化研发效能。