之前在群里看到一个比较有意思的话题,有人在讨论测试左移的价值,核心观点是:测试左移会降低产品和研发的交付质量,同时因为左移消除了很多缺陷,导致测试发现的缺陷数减少,让测试 “没有被充分利用” 而显得工作不饱和。
是不是很有意思?
本文无意反驳任何观点,只是觉得这个话题很有意思,结合自己在团人中的实践,聊聊自己的想法。
先讨论一个总量:测试左移是否减少了测试工作量?
答案是否定的,左移并没有减少测试的工作量,只是把原来测试时间从完整的一大块(瀑布模式下属于测试的专属时间),切分成分布在不同阶段的平行时间,同时,还保留了一部分专属时间用于集成测试和回归测试。
举个例子,原来测试熟悉需求,来源于需求文档和需求评审会,此时需求基本上已经定稿。在实践测试左移时,从需求定义及优先级排序时,测试就介入,参与需求的讨论,协助产品完成验收标准的输出,这样更有利于理解需求的场景和业务价值,减少信息传递引起的衰减,从而可以更针对性的设计用例。
左移至开发侧,也是一样的,只是把测试用例分批提前了而已,同时可以让开发更好的自测。
测试左移是否会让产品和开发产生依赖心理?
其实并不会,或者说,这个完全取决于个人的想法。在原来的研发模式下,开发人员也没有完全依赖测试来保障质量啊。单元测试、静态扫描还是一样在做(虽然大部分做得不是很好)。对于测试左移,个人的思考是:不是让你在其他领域指指点点,而是通过自己的经验和能力,协助他们更好地完成原来的工作。
还是以左移至产品侧为例,在了解业务需求的背景和业务价值后,测试人员要做的不是如何参与去做产品的设计。二是需要尝试去消除用户故事中描述模糊之处,识别 Backlog 对整体的影响。并设计好验收场景,让团队知道什么条件下,这个需求算是 “做好了”。原来产品该做的设计还是由产品去做。
缺陷数对测试人员的意义
在整个测试左移的过程中,由于提前发现和规避很多问题,包括开发自测提升了移测质量,会让测试人员的部分产出(缺陷数)减少。如果你团队还在用缺陷数考核测试人员,那我建议你还是早点做打算的好,毕竟 2023 年了,不是 2003 年。
在测试人员的价值体现一文中,个人阐述了对于测试人员的价值思考,有提到:
当我们做好缺陷预防后,就可以提升研发的交付质量。有的人会担心 BUG 少了,老板会认为测试就可以减少人力,是不是会把自己做没了?其实大可不必有这样的担心。当研发交付质量提升后,测试可以把时间腾出来做更多有意义的事,比如探索性测试、可观测性测试等,这些测试活动,不论对个人,还是对团队,都是有利的。做好测试该做的事,讲好测试该有的故事,才能真实地体现测试人员的价值。
团队对于测试左移的期望是什么?
测试左移,其实就是通过一系列的活动,能提高质量的上限(对齐需求,减少非必要的返工),缩短测试的周期(减少测试专属时间,缩短交付时间),始终将质量稳定在一个水平线上,进而和团队一起追求更高的目标了。
对于测试左移的落实,最重要的就是全员质量服务意识的培养,不要把提测认为是测试活动的开始,上线是测试活动的结束,更不要认为质量只是测试同学需要关注的。
以上,共勉。