“每次都要把所有的回归一遍,但很少发现问题,是不是可以不做了?”
“写这么多自动化测试,费时费力,但几乎没发现啥问题,这些测试的价值何在?”
你是不是也有上面的疑问?或者被这样质疑过?
关于这个,我想到一条定律。
温伯格双胞胎定律
杰拉尔德·温伯格在他的著作《咨询的奥秘》中讲述了一个有意思的故事,大意是这样的:
公交车是按年龄收费的,成人 35 美分,五岁以下儿童免票。
一位母亲带着 8 个孩子上车,交了车费 35 美分。司机对此质疑道:“你不会想让我相信这 8 个孩子都不到六岁吧?”
那位母亲说:“当然啦!这俩四岁,那俩姑娘三岁,两个刚走路的两岁,我手里的两个家伙一岁。”
司机目瞪口呆,充满歉意地说:“哎呀,真抱歉!您一直都在生双胞胎吗?”
“天啊!当然不是,多数时候我们什么也不生!”
啊哈!这对夫妇就是在做他们平常该做的事情,大部分时间并不在生孩子,更别说生双胞胎了。温伯格因此悟出双胞胎定律:
大部分时间,在世界上的大多数地方,不管人们有多努力,都不会发生什么大事。
这条定律指出:大部分努力都是徒劳的。
那么,不努力行不行呢?该定律还有一条有意思的颠倒型:
有些时候,在有些地方,有意义的改变会发生──尤其是当人们不很努力地进行改变时。
回归测试
有没有觉得回归测试与双胞胎定律及其颠倒型非常吻合?
每次努力细致的进行回归,但是却发现很少的 bug,如果有一次没有很好地回归,说不定就冒出一个严重问题。
相信很多同仁会有同感吧!
可是,仍然有人对回归测试抱有不太准确的期望,总是觉得回归测试就是应该能发现很多 bug,不然就认为回归就没有意义。
回归测试的目的是验证新开发功能或者修复 bug 的时候,是否破坏已有功能代码,导致产生新的 bug。如果回归测试发现过多的 bug,说明软件开发过程是存在很大问题的,是不正常的!
小结
这条定律讲到的内容大家都很熟悉,并已习以为常了,可能会觉得我借来聊回归测试没啥意义。
其实,我只希望利用这个类比,能更清晰地理解回归测试的价值所在:回归测试不是用来发现 bug 的,而是增加一层保障,降低出现 bug 的可能性。
回归测试不做不行,需要全流程持续、自动而精准地进行回归。
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。