如何测试间歇性的缺陷-翻译James Bach的博客

上一篇 / 下一篇  2010-01-07 15:06:55

   调查间歇性缺陷的能力和信心是优秀测试人员的标志之一。我听过关于测试的最吸引人的故事是关于在复杂性的海洋中捕猎一个“白鲸”(译者按:估计在海洋中捕猎白鲸是非常刺激的事情,因此“白鲸”的问题指的应该是非常刺激的问题)类问题的故事。最近,一个SHAPE论坛上思路令我意识到我还没有写过关于这个引人入胜的软件测试概念。
   与神秘的非间歇性缺陷不同,间歇性缺陷比较多是由于测试而不是研发的原因。很多程序员即使没有其他事做,也不会想去追逐那种白鲸。
   间歇性行为本身不是什么大事情。可以说数字计算就全是关于间歇性行为的控制问题。那么,我们在讨论的究竟是什么?
   我们并不关心既需要又不神奇的间歇性现象,即使它不能准确预计。想一下足球比赛里开球前的抛硬币,或者老虎机很久才出现一次的777.我们甚至不关心神奇的间歇性行为,如果我们相信它不太可能产生问题。在我测试的东西里,我并不太在意磁场突变或者随机小功率峰值,即使它们一直存在。
   许多间歇性问题完成没有被观察,可能因为它们没有被制造出来,或者制造了但是没有被意识到。我们唯一可以做的事情就是尽量取得最好的测试覆盖并保持它。世上并没有可以自动检测或者预防所有间歇性问题的算法存在。
   那么,我们经常说的间歇性问题是:神奇的不需要的系统行为,被观察过一次,而不能按需地制造出来。
   我们的挑战是通过解决当中神秘的问题从而将间歇性缺陷转换成普通缺陷。在那之后就轮到程序员头痛了。
间歇性问题的原则
  • 心态放正:原因可能不是恶鬼
  • 如果它能出现一次,就有可能再次出现
  • 如果一个缺陷
  
  

TAG:

 

评分:0

我来说两句

Open Toolbar