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、规范库、模式库、知识库等的开发。

·开发工具的开发:如代码检视工具、代码安全性工具等。

随着云化的流行,工具也开始往云化发展,这给工具带来了新的模式——服务化,特别是研发工作场景中的工具服务,把工具按照研发工作场景归类,这些工具以流水线的方式自动运行,无缝集成,协同工作,可最大化研发效能。