本文首发于【林子的空间】
在《敏捷测试如何优化业务价值》一文中分享过测试人员对于如何优化业务价值的几个思考维度:
- 从终端用户角度进行测试
- 以业务为重点的测试
- 映射业务影响
- 关联业务指标
接下来,将跟大家分享业务价值驱动型的测试及其相关落地实践。
01. 业务价值驱动的测试跟传统测试的对比
业务价值驱动的测试和传统测试在以下几个维度的关注点都有不同:需求的关注、计划与执行、应对缺陷、测试人员角度、目标、生产力、指标的关注、有效性,详细对比如下表。
从表中可以看到:
- 业务价值驱动型测试要关注业务的需求,而不仅仅是功能需求;
- 业务价值驱动型测试以追求快速高质量的交付价值为目标,单纯的测试覆盖率和缺陷数量不再是考核的因素。
- 业务价值驱动型测试不是不关注缺陷,要以预防缺陷为主,正确跟踪缺陷并进行深入分析是帮助缺陷预防的必要的手段。
- 业务价值驱动型测试不再简单的根据数量来考核生产力,可以从多个维度评估测试的成熟度,以驱动出持续改进的方案。这个可以参考我的文章《聚焦测试,驱动卓越》
02. 如何阐明业务价值
业务价值可能比较抽象,似乎不是那么好理解,况且要跟具体的测试活动对应起来更是有些难度。先给大家分享一个我们项目上的实践,我们通过下图所示的流程将业务目标、业务价值传递给团队:
- 定期或者按需跟PO进行catch up,收集该时间段的业务目标、确定业务方向;
- 将业务目标跟系统功能关联起来,确认测试方面要关注的重心;
- 设计相应的测试方案,在方案里标明对应的业务目标;
- 跟PO沟通测试方案,收集反馈,并最终确认方案;
- 讲确认的测试方案更新给团队,确保团队所有角色理解一致;
- 方案执行后,对结果进行分析和总结,回顾做得好的和需要改进的,持续改进;
- 把总结分析的结果更新给PO,如此循环,一步步的优化。
每个项目的情况并不会相同,下图是一个比较通用的流程,可以根据项目团队具体情况调整:
03. 优化业务价值的测试实践
业务价值有效传递给了团队,那么就需要在测试实践中关注业务价值,从而帮助优化业务价值。下面的这些测试实践,都是可以帮助优化业务价值的:
共同创建测试方案
测试方案在创建之前,需要跟业务人员沟通清楚对应功能特性的业务目标、业务价值,需要跟开发人员沟通相应功能模块的技术风险,基于风险的测试才是最能体现价值的。
测试左移
测试左移的目的就是为了更早的澄清和确定需求,确保团队清晰一致的理解需求的业务价值,做正确的事情。
测试右移
测试右移利用对终端用户行为和生产环境数据的分析,帮助优化业务、优化质量内建过程,提高交付软件的质量。
精益测试
精益测试要求测试能够做到恰到好处,减少浪费,从而加速软件开发流程,快速交付。
渐进式的自动化测试
自动化测试要随着软件开发的进度渐进式的增加,而不是等功能开发完成再来写,可以提高ROI,让一开始就有自动化测试帮助提供反馈。
测试资产的管理和复用
测试资产跟产品代码一起用版本控制工具管理,尽量复用原有测试资产,不要重复造轮子。这样可以提高测试效率,加速价值交付流程。
增强的测试技术
采用智能测试技术和分析技术,提高测试的精准度和有效性,更高效的帮助业务价值的交付。
缺陷预防
利用对缺陷模式的分析,在软件开发生命周期每个环节更好的做好相应的测试工作,帮助有效的预防缺陷,降低成本,加速交付。
持续改进
整个软件开发生命周期的测试活动始终以目标驱动,实时度量,并持续改进。
测试人员能力建设
加强测试人员对于业务理解能力的培养,建立业务价值思维,提高业务敏感度,将有利于更好的理解业务价值。
04. 业务价值驱动型的测试人员
要做好业务价值驱动的测试,对测试人员的要求有:
改变认知
测试人员首先需要改变对测试目标的认知,不能再以发现更多的缺陷为目标,要培养业务敏感度,更多的关注业务价值。
领域知识
为了能够更好的关注业务价值,测试人员需要更多的获取相关领域知识。可以关注行业、领域相关文章等资料,也可以关注行业官方网站信息来增加领域知识的获取。
分析性思维
业务价值驱动的测试有很多分析工作要做,对分析能力要求较高。测试人员要注意分析能力的培养,善于分析缺陷、终端用户数据等。
沟通与表达能力
从业务负责人那里了解到业务目标,将业务价值传递给团队,其中的沟通与表达能力是极为关键的,测试人员要注意这方面能力的培养。