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、规范库、模式库、知识库等的开发。
·开发工具的开发:如代码检视工具、代码安全性工具等。
随着云化的流行,工具也开始往云化发展,这给工具带来了新的模式——服务化,特别是研发工作场景中的工具服务,把工具按照研发工作场景归类,这些工具以流水线的方式自动运行,无缝集成,协同工作,可最大化研发效能。