在《软件测试中的『树莓酱定律』》一文中借用杰拉尔德·温伯格的『树莓酱定律』解释软件测试中的一些典型场景。其实,温伯格还有一个对应的『草莓酱定律』:
“只要有果肉块,就不会抹得太薄。”
把一点树莓酱抹到几片面包上,你会发现它越抹越薄。可要是你换成草莓酱再来试试,你会发现不管怎么抹,果肉块还在那里!草莓酱里面的果肉块是草莓。在你传达的“伟大信息”中,果肉块就是你自己!只要你的沟通渠道还实实在在地用到你的身体——说话、写作、拥抱,你的信息就不会被无限冲淡。
本文聊聊上一篇文章提到的软件测试中的现象,如果用『草莓酱定律』解释会是怎样的。
01 测试全流程介入:离不开全面的测试策略
测试全流程介入不会导致测试工作的增加,用树莓酱定律解释是因为测试工作分摊到全流程的各个环节了。但是这里有一个重要的前提,需要将测试工作真正地分摊,确保每个环节做的测试工作都是有效的,并且对整个团队和整个流程都是可见的,也就是没有“果肉块”,这样才能有机组合起来实现软件整体的质量保障。
如果存在“果肉块”,测试工作量是有可能增加的。“果肉块”是什么呢?比如下面的情境:
- 测试对有哪些单元测试未知,在端到端测试的时候还需要所有场景,即使已经在单元测试测过的那些。
破解这个情境中的“果肉块”,需要有全盘规划的测试策略,才能将测试工作实现有效分摊,而不会增加过多的重复工作。
02 全员负责质量:信息透明和有效沟通是关键
全员负责质量跟前的测试全程介入类似,只是这里变成了多角色的合作。类似地,这里的“果肉块”可能存在(不限)于以下情境中:
- 测试对某个需求功能点有疑问,跟业务人员确认了之后没有告诉开发,结果开发出来的功能有出入,这也形成了“果肉块”,会导致返工等工作量的增加。
因此,全员负责质量非常关键的是需要在协作过程中及时充分地沟通,将信息透明于整个团队所有角色,以防重复冗余工作的产生,减少“果肉块”,实现全员对质量职责的分担。
03 回归测试:精准回归更高效
回归测试是不提倡全量覆盖式回归的,而是要有重点的精准回归,需要在关键受影响的业务、功能方面重点回归,以提高回归测试的有效性和效率。
因此,回归测试不要依据『树莓酱定律』将回归工作分摊到各个场景,而是应该依据『草莓酱定律』人为制造“果肉块”,重点对关键场景进行精准回归,让测试价值最大化。
04 质量内建:每个环节缺一不可
缺陷预防是质量内建的关键方向,需要在每个环节尽可能做到缺陷的预防,将质量内建到软件开发过程中。如果产生“果肉块”,缺陷预防的效果就会大打折扣。
比如:在某个环节漏掉了相应的质量工作,就会在该环节埋下缺陷的种子,这就形成了缺陷“果肉块”,导致暴露出来的缺陷会增加,最终因需要修复的缺陷增加而增加开发和测试的整体工作量。
小结
『草莓酱定律』告诉我们在软件测试中,如果想要分摊得更薄,就要人为控制“果肉块”,趋向于『树莓酱定律』;如果需要有重点、要阻止分摊,那就要人为制作“果肉块”,以实现测试工作价值最大化。
您有哪些『草莓酱定律』适用场景?欢迎跟我分享。