第一讲由TW资深软件质量咨询师林冰玉老师带来。林冰玉老师温柔、详尽地讲述了测试人员如何从业务价值侧提升工作效益,具有非常高的全局意识,并举了丰富的实践事例来支撑观点,听完林老师的分享受益良多。
下面是一部分林老师的观点和我个人的理解融合总结,养成个人学习记录的好习惯,毕竟,好记性不如烂笔头。
首先——什么是业务价值(Business Value)?
个人理解业务价值就是产品能够给owner带来的业务益处,主讲人对业务价值的解读主要关注在以下四个方面:
1、盈利
2、发展
3、用户需求
4、用户体验
关注业务价值无外乎关注以上四点,而从测试侧角度理解软件质量,也可以从以上四个角度考虑。
软件开发团队包括需求方有一个共同的目标,即提升产品业务价值。因此,团队的测试人员不仅需要从缺陷角度考虑软件是否具有可用性、易用性,同时需要在测试工作中思考,目前的产品是否能够为以上四个方面的业务价值带来提升。
那么——测试工作如何为业务价值带来优化呢?
首先是测试方案的创建。测试方案是软件测试的纲领性文档,但它不仅仅是一个文档。测试方案在软件功能开发周期的较早阶段就需要开始创建,这也是一种测试左移的体现。尽量早地创建测试方案,就能尽量完善地考虑到软件的方方面面。同时还有一个很重要的点,就是全团队参与测试方案的创建。测试人员虽然具有一些更敏锐的质量分析想法,但是团队的力量更强大,从各个角度出发才能更全面。在这方面,我的具体实践是,由测试人员在功能研发的前期创建一个大体的测试方案,并与团队review,involve越多的角色成员,越能及早发现问题,暴露风险。最后一点,测试方案并不是一成不变的,从确定后就变成纲领性文件,变成一种纯指导作用的文案。测试方案应该在软件开发、测试阶段不断演进优化补充,成为一份可供回顾的质量保障证书。
其次是测试左移。将软件开发过程描述为从左至右的时间轴,测试左移的意思即为将测试工作提前到需求、设计阶段,例如TDD。在需求和设计阶段,测试工作参与其中,可以尽早地扫除不确定性,落实模糊的细节,不合理之处也能尽早地被暴露,从而尽早被修正。相信大家都明白一个道理,缺陷越早被识别,修复的成本越低。
最后是测试右移。同样的,相对与测试左移,测试右移的意思即将测试延伸到测试阶段之后,即在产品上线之后的测试。测试右移的主要方式是监控。监控主要可以得到两方面的数据。其一是产品表现,主要通过一些监控打桩工具和日志分析系统,分析系统错误日志的产生,从而发现一些难以识别的问题,同时监控系统的接口性能、连接性能和长时间提供服务的能力,从而及时发现问题,达到针对性优化。其二是用户习惯,通过发现用户使用习惯来调整需求,提高软件可用性,弥补前期调研或考虑不足带来的不完美。当然测试右移也包括常说的Test in Production,即在生产环境的测试,部分团队有此场景需要,在生产环境进行一些测试也确实可能发现一些难以识别的问题。
测试左右和测试右移在现在的软件质量内建中十分重要,测试人员在团队中如果能够顺利推动二者,软件质量建设将再上一个台阶。朱少民老师在《全程软件测试中》提过,测试左右和测试右移合起来,可以和现在流行的DevOps联系起来。
除了以上三点之外,主讲人还提出了一些其他的优化业务价值的测试实践,包括:精益测试、渐进式的自动化测试、测试资产管理和复用、增强的测试技术、缺陷预防、持续改进和测试人员能力建设。
最后——测试人员如何具备价值驱动思维?
测试工作是一种sense非常重要的工作,测试人员需要在整个工作过程保持高度敏感,对缺陷敏感,对需求敏感,对用户体验敏感,对业务价值也要敏感。那么从业务价值方面来说,测试人员需要具备哪些思维呢?主讲人提供了以下四个点:
1、改变认知
2、领域知识
3、分析性思维
4、沟通与表达
其中我比较有个人感悟的是改变认知,主讲人提到改变认知主要是改变我们所认为的测试目标,我们不仅仅是为了发现缺陷而进行软件测试,更是为了发现更好的业务价值交付点。有许多团队以发现缺陷的数量来衡量测试人员工作的指标,让测试人员疲于钻牛角尖,甚至为了达到每日任务量,将今天发现的多余数量缺陷留到第二天再提,第二天就不再尽最大努力测试。其实测试人员属于整个研发团队,而团队的目标是一致的,即提高交付的业务价值。测试人员如果树立一种“发现业务价值优化点”比“发现缺陷”更有用的思维,并且得到团队的支持,可能能够给业务价值带来更有效的提升。
除了以上几个方面,主讲人还从其他几个方面详细阐述了业务价值驱动型测试的细节,例如业务价值驱动型测试与传统软件测试的关注点不同之处、测试如何阐明业务价值等。感兴趣的朋友可以多多关注这方面相关知识。