美文网首页软件测试
回归测试与温伯格双胞胎定律

回归测试与温伯格双胞胎定律

作者: BY林子 | 来源:发表于2022-11-25 21:52 被阅读0次
    image

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


    “每次都要把所有的回归一遍,但很少发现问题,是不是可以不做了?”

    “写这么多自动化测试,费时费力,但几乎没发现啥问题,这些测试的价值何在?”

    你是不是也有上面的疑问?或者被这样质疑过?

    关于这个,我想到一条定律。

    温伯格双胞胎定律

    杰拉尔德·温伯格在他的著作《咨询的奥秘》中讲述了一个有意思的故事,大意是这样的:

    公交车是按年龄收费的,成人35美分,五岁以下儿童免票。

    一位母亲带着8个孩子上车,交了车费35美分。司机对此质疑道:“你不会想让我相信这8个孩子都不到六岁吧?”

    那位母亲说:“当然啦!这俩四岁,那俩姑娘三岁,两个刚走路的两岁,我手里的两个家伙一岁。”

    司机目瞪口呆,充满歉意地说:“哎呀,真抱歉!您一直都在生双胞胎吗?”

    “天啊!当然不是,多数时候我们什么也不生!”

    啊哈!这对夫妇就是在做他们平常该做的事情,大部分时间并不在生孩子,更别说生双胞胎了。温伯格因此悟出双胞胎定律:

    大部分时间,在世界上的大多数地方,不管人们有多努力,都不会发生什么大事。

    这条定律指出:大部分努力都是徒劳的。

    那么,不努力行不行呢?该定律还有一条有意思的颠倒型:

    有些时候,在有些地方,有意义的改变会发生──尤其是当人们不很努力地进行改变时。

    回归测试

    有没有觉得回归测试与双胞胎定律及其颠倒型非常吻合?

    每次努力细致的进行回归,但是却发现很少的bug,如果有一次没有很好地回归,说不定就冒出一个严重问题。

    相信很多同仁会有同感吧!

    可是,仍然有人对回归测试抱有不太准确的期望,总是觉得回归测试就是应该能发现很多bug,不然就认为回归就没有意义。

    回归测试的目的是验证新开发功能或者修复bug的时候,是否破坏已有功能代码,导致产生新的bug。如果回归测试发现过多的bug,说明软件开发过程是存在很大问题的,是不正常的!

    小结

    这条定律讲到的内容大家都很熟悉,并已习以为常了,可能会觉得我借来聊回归测试没啥意义。

    其实,我只希望利用这个类比,能更清晰地理解回归测试的价值所在:回归测试不是用来发现bug的,而是增加一层保障,降低出现bug的可能性。

    回归测试不做不行,需要全流程持续、自动而精准地进行回归。

    推荐阅读


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

    相关文章

      网友评论

        本文标题:回归测试与温伯格双胞胎定律

        本文链接:https://www.haomeiwen.com/subject/irnxfdtx.html