测试与杀虫剂困境
作者:网络转载 发布时间:[ 2013/12/18 10:33:59 ] 推荐标签:
读微软的软件测试之道,其中有一个有趣的小故事。讲得是主人公自己有个菜园,菜园里的植物面临着各种动物和昆虫的威胁,所以必须要找到某种防护措施来阻止包括野兔,害虫的侵扰,否则肯定会颗粒无收。主人经过分析,发现野兔对菜园的破坏其实并不大,令人深恶痛绝的害虫是蛞蝓。
主人发现蛞蝓对啤酒很是偏爱,所以在菜园的土垛栅栏外通过啤酒陷阱能拦下这些害虫,另外还发现在栅栏外面撒盐也是击溃蛞蝓入侵的有效方法,木屑和蛋壳也是对付这些小贼的另一种途径。可是不管在菜园外围布下怎么样的天罗地网来捕捉和阻挡蛞蝓,一些漏网之徒还是会成功突破。
和菜园主人的蛞蝓阻击战十分类似,我们在实施一个以揭示潜在缺陷为目的的软件测试时,会采取各种手段和方法的搭配。富有经验的测试工程师会告诉你,没有任何一种单一的测试方法能够有效地揭示出所有种类的缺陷或对软件的能力做出完整的评估,这种困境被称为杀虫剂困境。杀虫剂困境这个术语来自Beizer的第一定律:“任何用以防止和发现缺陷的方法都会留下一些残余的,更为微妙的缺陷,而对于这些缺陷而言,前面的方法会统统失效。”本质上,没有任何一种单一的技术或者手段对于软件测试百试百灵。所以,增加测试方法的多样性,以及考虑从更多的视角审视软件,我们更有可能发现更多潜在问题的同时,提高测试工作的有效性。
园艺工作确实很费神,也会遭遇到一些特别的挑战。但是刚看到家人品尝到美美的果实,你会觉得一切都是值得的。同样,软件测试工作是辛劳的,并且面临着很多特有的困难,但经过由一系列手段达成了其当的结果时,对于整个产品组的回报也是令人鼓舞的。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11