码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 软件测试中的『草莓酱定律』


    本文首发于「BY林子」,转载请参考版权声明。


    在《软件测试中的『树莓酱定律』》一文中借用杰拉尔德·温伯格的『树莓酱定律』解释软件测试中的一些典型场景。其实,温伯格还有一个对应的『草莓酱定律』:

    “只要有果肉块,就不会抹得太薄。”

    把一点树莓酱抹到几片面包上,你会发现它越抹越薄。可要是你换成草莓酱再来试试,你会发现不管怎么抹,果肉块还在那里!草莓酱里面的果肉块是草莓。在你传达的“伟大信息”中,果肉块就是你自己!只要你的沟通渠道还实实在在地用到你的身体——说话、写作、拥抱,你的信息就不会被无限冲淡。

    本文聊聊上一篇文章提到的软件测试中的现象,如果用『草莓酱定律』解释会是怎样的。

    01 测试全流程介入:离不开全面的测试策略

    测试全流程介入不会导致测试工作的增加,用树莓酱定律解释是因为测试工作分摊到全流程的各个环节了。但是这里有一个重要的前提,需要将测试工作真正地分摊,确保每个环节做的测试工作都是有效的,并且对整个团队和整个流程都是可见的,也就是没有“果肉块”,这样才能有机组合起来实现软件整体的质量保障。

    如果存在“果肉块”,测试工作量是有可能增加的。“果肉块”是什么呢?比如下面的情境:

    • 测试对有哪些单元测试未知,在端到端测试的时候还需要所有场景,即使已经在单元测试测过的那些。

    破解这个情境中的“果肉块”,需要有全盘规划的测试策略,才能将测试工作实现有效分摊,而不会增加过多的重复工作。

    02 全员负责质量:信息透明和有效沟通是关键

    全员负责质量跟前的测试全程介入类似,只是这里变成了多角色的合作。类似地,这里的“果肉块”可能存在(不限)于以下情境中:

    • 测试对某个需求功能点有疑问,跟业务人员确认了之后没有告诉开发,结果开发出来的功能有出入,这也形成了“果肉块”,会导致返工等工作量的增加。

    因此,全员负责质量非常关键的是需要在协作过程中及时充分地沟通,将信息透明于整个团队所有角色,以防重复冗余工作的产生,减少“果肉块”,实现全员对质量职责的分担。

    03 回归测试:精准回归更高效

    回归测试是不提倡全量覆盖式回归的,而是要有重点的精准回归,需要在关键受影响的业务、功能方面重点回归,以提高回归测试的有效性和效率。

    因此,回归测试不要依据『树莓酱定律』将回归工作分摊到各个场景,而是应该依据『草莓酱定律』人为制造“果肉块”,重点对关键场景进行精准回归,让测试价值最大化。

    04 质量内建:每个环节缺一不可

    缺陷预防是质量内建的关键方向,需要在每个环节尽可能做到缺陷的预防,将质量内建到软件开发过程中。如果产生“果肉块”,缺陷预防的效果就会大打折扣。

    比如:

    • 在某个环节漏掉了相应的质量工作,就会在该环节埋下缺陷的种子,这就形成了缺陷“果肉块”,导致暴露出来的缺陷会增加,最终因需要修复的缺陷增加而增加开发和测试的整体工作量。

    小结

    『草莓酱定律』告诉我们在软件测试中,如果想要分摊得更薄,就要人为控制“果肉块”,趋向于『树莓酱定律』;如果需要有重点、要阻止分摊,那就要人为制作“果肉块”,以实现测试工作价值最大化。

    您有哪些『草莓酱定律』适用场景?欢迎跟我分享。

    推荐阅读
    • 软件测试中的『树莓酱定律』
    • 敏捷测试宣言与原则解读
    • 敏捷测试的核心
    • 业务价值驱动的测试
    • 敏捷测试如何优化业务价值
    • 敏捷测试的指导性原则
    • 说好的团队为质量负责呢?
    • 团队对质量负责,“我”可以不负责?
    • 精益测试
    • 测试右移——生产环境下的QA
    • 测试右移:QA与Ops通力合作打造反脆弱的软件系统
    • 测试右移之日志收集与监控
    • 测试右移:缺陷分析如何帮助质量内建

    本文首发于「BY林子」,转载请参考版权声明。

  • 相关阅读:
    14、用户web层服务(二)
    经纬度坐标转换为工程坐标
    Linux重定向原理与系统调用dup2
    Python实用模块之argparse
    在KubeSphere中部署微服务(阡陌)+ DevOps
    关于python如何引用excel文件
    (王道考研计算机网络)第四章网络层-第六节:IP组播
    Vue(三):样式绑定、条件渲染、列表渲染、列表过滤与列表排序
    YOLOP——全景驾驶感知理论解读与实践上手
    用DIV+CSS技术设计的体育篮球主题 校园体育网页与实现制作(web前端网页制作课作业)
  • 原文地址:https://blog.csdn.net/bingyulin/article/details/126836996
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号