数据驱动效能——软件测试效能改进中的度量实践
文 / 四川省农村信用社联合社信息科技中心总经理 夏浩淳
四川省农村信用社联合社信息科技中心 徐尚蕾
在金融行业数字化转型的时代背景下,数据已成为金融业安全、高效、可控发展和管理的关键要素。如何利用数据驱动软件测试人员效能提升,一直是业界的管理难题,目前主流的方式是采取多维度的融合评价,将“人员投入、产出数量、产出质量”进行指标化和模型化,最终量化展示,对测试人员绩效进行评价和激励。由此可见,效能的定义,不是纯粹的快或慢、多或少,是效率兼顾了质量约束,避免数据驱动的行为走错方向。本文提出两层效能评价模型:第一层为组织层,对资源整体利用率和投入产出进行宏观监测,用于衡量测试组织整体资源规模的合理性和组织效率水平;第二层为人员层,结合产品条线特点、岗位类型、个人工作量和工作质量,对测试人员效能进行精细管理。
软件测试效能评价模型研究
1.组织目标+个人能力双驱动。四川农信的测试组织目标是“提高测试效能、保障产品质量、驱动业务创新”。立足于组织层面的效能监测,聚焦员工诉求,建立了一套完整的效能评价方案。效能评价模型如图1所示。该效能评价模型有助于实现三个目标:一是过程和结果的相互影响。组织层关注结果,通过质量监测、成本控制、效率监测来规划测试组织的人员规模、人员结构、人员类型。人员层关注过程控制,通过对测试人员在关键过程活动中的效能进行综合监控,如分析设计质量、缺陷提出质量、缺陷验证效率,工作量等,以个人效能的持续激励,带动组织能力的提升和组织战略目标的实现。二是形成管理和实施双监督模式。贴合组织架构,测试管理部门和测试实施部门共同履行测试监督与控制职责,其中管理部门重心在组织层,实施部门重心在人员层,且实施部门是以不同产品条线、不同岗位分别开展人员效能评价,充分适应了银行业务系统多样复杂、测试人员岗位差异的特点。三是支持一体化的标准流程。效能评价应用目的和角色不尽相同,但都是基于同样的标准化度量流程,从数据采集、指标计算到结果呈现,数据入口和出口的标准定义,是实现效能数字化的基础。
图1 软件测试效能评价模型
2.以组织效能提升为导向。质量先行,当今金融业务逻辑复杂、功能日渐繁多、新型技术快速发展,对科技交付质量提出了更高要求。例如传统的软件质量测试和评价,以保障系统功能正确为主要目标,随着分布式架构的广泛应用和互联网金融的快速发展,对性能、可靠性、可维护性、信息安全、用户体验等质量特性的要求越发突出,效能评价模型中除了基本的测试缺陷发现水平的衡量外,增加不同产品质量特性的覆盖,使得质量评价更加完整,由此引导测试组织中人员结构的转变,即由单一的功能测试人员结构,向功能、性能、安全、兼容性、用户验收等复合型人才结构转变。四川农信已开展性能、安全、兼容性、用户验收等常态化测试,来加强对产品质量的覆盖广度,提高缺陷探测水平。
效率为重,大中型项目为实现按时交付往往要投入很多人力资源,组织规模不可避免变得庞大。例如四川农信日常维护研发每月平均修改产品规模(功能点FP)达7000多个,与此对应的测试规模,平均每月有9000条测试用例,执行次数达15000多次,有效衡量并提升组织效率,是管理的重中之重,效能评价模型中以资源整体利用率、工作量饱和度、测试生产效率综合衡量测试投入和产出的变化。
成本可控,在保障质量和效率提升的前提下,测试人员规模随着产品和任务规模动态调整,及时调整人员数量或人员结构,为组织带来成本收益。效能评价模型中以单任务成本衡量测试成本控制。综上所述,效能模型正是从质量、效率、成本三大维度综合评价测试组织的效能。
3.以个人效能提升促发展。人员效能评价的难点在于,受业务类型和系统复杂性影响,以及不同测试岗位工作内容的差异影响,工作量很难统一化衡量。例如通过数据分析发现,执行效率在不同系统之间有差异:贷款条线执行人员平均每天执行14条用例,核心条线执行人员平均每天执行19条用例,电子银行条线执行人员平均每天执行24条用例。工作量在不同岗位之间有差异:功能分析设计岗位平均每天编写10条用例,执行岗位每天执行19条用例,性能测试岗位平均每天编写和执行脚本量3-5条。在效能模型中,强调“一分一正”。一分指分条线分岗位分而治之,通过各条线测试实施负责人落实其组内人员的效能评价。一正指正流程正过程正向激励,所有条线遵循统一的衡量标准和过程,持续监控员工效能变化,对员工效能正向评价,每个条线展示效能好的员工,对于持续效能低的员工适当采取淘汰,激发人员活力。人员效能评价模型由8个指标构成,取决于组织对测试过程的焦点落在哪里,例如在推进测试工作左移的背景下,强调测试从需求早期介入,以测试角度和业务要求相结合,尽早发现需求不清晰或不完整的问题,避免带入开发测试阶段造成软件成本增加,故人员效能评价模型中突出需求评测数量,并要求至少50%的需求问题应在需求阶段被发现。
软件测试效能评价应用实践
效能度量应用包括三部分:数据采集、指标计算、效能呈现。
数据采集:以往通过人工方式导出源系统数据并做进一步统计分析,在本次效能度量实践中,数据采集经历了人工到自动化的过程,这是度量数字化的重要基础,一方面是提高了度量工作本身的效率,另一方面也是标准化的推进,避免人为采集数据过程引入差异。已实现在测试工具ALM上按度量周期自动抓取测试用例数和缺陷数,并将人工采集结果与自动获取结果进行了比较验证,证实了自动采集数据结果的正确性。
指标计算:首先是计算标准的推广,《测试度量指标库》收集和定义了61个度量指标,为组织开展度量提供了有效指导,对其中已经形成典型实践的关键指标,召集了度量标准化培训,正式发布29个指标,对评价目的和计算标准进行全面推广并获取一致认可。其次是计算结果的数据分析,在组织层效能实践中,采用了在人工智能、大数据处理、经济数据分析等领域广泛应用的零均值标准化方法,得到质量、效率、成本、工作量等不同量纲数据的最终单一数值计量,样本数据比较分段评分得到组织效能分布,对每个指标赋以权重得到组织效能的评价总分。在人员层效能实践中,以缺陷命中率、有效缺陷数、泄漏缺陷数为综合模型,每个指标经过标准化和权重处理,得到各个测试条线的质量水平,并率先实现了指标计算自动化。
效能呈现:在度量应用实践中,我们总结了三不要原则:不要一次呈现过多数据、不要试图一次度量所有方面、不要过分依赖一个度量。在测试效能呈现上,经过不断地尝试和实践,形成了以雷达图呈现组织整体效能分布、以趋势线监测组织和条线效能变化、以荣誉榜激励人员效能的有效方式,并在质量可视化平台进行展示,持续化的开展测试评价。
从图2测试组织效能分布可以看出:2021年和2020年质量水平接近;2021年成本控制,比2020年有提升;2021年效率和人均工作量饱和度,比2020年有下降,采取措施为人员结构和规模优化、开展常态化测试工作、自动化测试替代手工回归、自动化测试辅助数据准备、测试管理系统建设提升管理效率等。经过数据标准化处理,按照权重:质量40%、效率30%、成本20%、工作量10%,对测试整体效能综合评价,从图3组织效能趋势线可以看出,2020年测试组织效能综合评价为92.93分,2021年前5个月每月的效能总体评价低于2020年平均水平,但呈逐月提升趋势,从2021年6月开始,测试组织效能明显提升并超过2020年平均水平。
图2 组织效能分布
图3 组织效能趋势线
从图4人员效能趋势线可以看出:测试三组的质量较好,其次是测试四组,测试二组质量较低,测试一组不稳定。持续监测各条线人均编写用例数、执行用例数和缺陷数,结合不同岗位人员的工作完成情况,每月按分析设计能手、执行能手、捉虫能手进行荣誉榜公示,激励测试人员。
图4 人员效能趋势线
总结及展望
测试人员能力提升是测试体系服务水平提升的前提和关键。本文采取规范化的效能度量手段,形成了常态化的效能度量机制。实践证明,有效的度量能够促进软件测试队伍能力结构转型,人员积极性提升。后续工作将以此为最佳实践,从三方面完善数据驱动测试效能工作:一是全面形成数据资源池,建立数据源系统的数据共享,自动采集数据;二是完善效能模型,以度量结果的评价效果持续改进模型参数和指标构成,从而引导常态化测试和测试左移工作的深入开展;三是依托质量可视化平台,自动实时的呈现效能变化。最终,构筑好软件测试全流程监测的数字底座,结合统计学方法和测试过程数据分析,建立科学的度量模型及数据可视化表达方法,提高在全生命周期对产品质量和测试效能的评价能力,并提高测试精细化管理水平。
(栏目编辑:张丽霞)
