测试与杀虫剂困境

来源:互联网 发布:mac os x 10.6.8 dmg 编辑:程序博客网 时间:2024/04/28 03:00

读微软的软件测试之道,其中有一个有趣的小故事。讲得是主人公自己有个菜园,菜园里的植物面临着各种动物和昆虫的威胁,所以必须要找到某种防护措施来阻止包括野兔,害虫的侵扰,否则肯定会颗粒无收。主人经过分析,发现野兔对菜园的破坏其实并不大,最令人深恶痛绝的害虫是蛞蝓。
  主人发现蛞蝓对啤酒很是偏爱,所以在菜园的土垛栅栏外通过啤酒陷阱能拦下这些害虫,另外还发现在栅栏外面撒盐也是击溃蛞蝓入侵的有效方法,木屑和蛋壳也是对付这些小贼的另一种途径。可是不管在菜园外围布下怎么样的天罗地网来捕捉和阻挡蛞蝓,一些漏网之徒还是会成功突破。
  和菜园主人的蛞蝓阻击战十分类似,我们在实施一个以揭示潜在缺陷为目的的软件测试时,会采取各种手段和方法的搭配。富有经验的测试工程师会告诉你,没有任何一种单一的测试方法能够有效地揭示出所有种类的缺陷或对软件的能力做出完整的评估,这种困境被称为杀虫剂困境。杀虫剂困境这个术语来自Beizer的第一定律:“任何用以防止和发现缺陷的方法都会留下一些残余的,更为微妙的缺陷,而对于这些缺陷而言,前面的方法会统统失效。”本质上,没有任何一种单一的技术或者手段对于软件测试百试百灵。所以,增加测试方法的多样性,以及考虑从更多的视角审视软件,我们就更有可能发现更多潜在问题的同时,提高测试工作的有效性。
  园艺工作确实很费神,也会遭遇到一些特别的挑战。但是刚看到家人品尝到美美的果实,你会觉得一切都是值得的。同样,软件测试工作是辛劳的,并且面临着很多特有的困难,但经过由一系列手段达成了其当的结果时,对于整个产品组的回报也是令人鼓舞的。更多内容请关注51testing软件测试网...

0 0
原创粉丝点击