8.2.4评估数据
在缺陷的生命周期中,评估会发生多次变化,因为人们需要精细化诊断和观察、调试源代码、努力修复和测试修复、研究相关的缺陷等等。你的任务就是要保证缺陷历史的精确性和全面性,因为对于缺陷及其条件你所知甚多。
在初始报告中,你能够做一些评估,而更多的评估会随着缺陷的历史和会话而演进。
它是不是重复的
应花一点时间查询整个数据库,从而确定这到底是关于已发现缺陷的更多的信息呢,还是一个新发现的缺陷。但是不要过分沉迷。稍后别人将你报告的缺陷标为重复,这也很容易。显然,如果你发现了关于已有的缺陷的更多信息,就应该把发现更新到该缺陷报告中。
它的一般性如何
去除你的边际情形(corner case)的边际性。通常,你会使用极限数值、不常见的配置或者长输入序列来发现缺陷。理解缺陷重要性的根本就是要知道缺陷发生所必须的特殊性条件或一般性条件。这里是一些提示:
? ·使用不同的数据。如果你是用一组特定的输入值发现的缺陷,那么就尝试一下不同的输入值。尤其是要尝试不同的等价类。缺陷的表现对特定值或特定等价类的依赖程度如何?
? ·使用不同的配置。如果你是在硬件和软件构件的一个特殊配置下发现的缺陷,那么应该在一组非常不同的机器上试一下。
? ·使用不同的流。如果缺陷出现在一个特殊的操作序列(尤其是很长的序列)下,那么看看是不是有其他(最好是更短的)路径可以得到同样的结果。
? ·寻找可疑的交互。如果有的事情好像是一个奇怪的副作用,但你又不确定,要继续刺探。例如,在你使用了一个程序之后,另一个可能突然变慢了。可能它们依赖一些相同的部件、数据或者OS服务。
? ·还有更多的吗?猜测类似的缺陷还会潜伏在哪里。寻找它们。
它的严重性如何
当你第一次发现一个缺陷时,会有一种巨大的诱惑让你感到满意并要报告它。实际上,可能还有很多更严重的问题。注意初始的症状并继续使用受测软件。你可能会发现没有被妥善处理的错误路径和异常,以及未预料到的交互和其他会给用户(或技术支持人员)造成困惑的问题。
回书目 上一节 下一节 |