为了有效地再现软件缺陷,除了按照软件缺陷的有效描述规则来描述软件缺陷,还要遵循软件缺陷分离和再现的方法,虽然有时少数几个缺陷很难再现、或者根本无法再现。以下介绍如何分离和再现缺陷的一些常用方法和技巧。

  ● 确保所有的步骤都被记录。记录下所做的每一件事、每一个步骤、每一个停顿。无意间丢失一个步骤或者增加一个多余步骤,可能导致无法再现软件缺陷。在尝试运行测试用例时,可以利用录制工具确切地记录执行步骤。所有的目标是确保导致软件缺陷所需的全部细节是可见的。

  ● 特定条件和时间。软件缺陷仅在特定时刻出现吗?软件缺陷在特定条件下产生吗?产生软件缺陷是网络忙吗?在较差和较好的硬件设备上运行测试用例会有不同的结果吗?

  ● 压力和负荷、内存和数据溢出相关的边界条件。执行某个测试町能导致产生缺陷的数据被覆盖,而只有在试图使用浚数据时才会再现。在重启计算机后软件缺陷消失,当执行其他测试之后又出现这类软件缺陷,需要注意某些软件缺陷可能是在无意中产生的。

  ● 考虑资源依赖性包括内存、嘲络和硬件共享的相互作用等。软件缺陷是否仅在运行其他软件并与其他硬件通信的“繁忙”系统上出现?软件缺陷可能终证实跟硬件资源、网络资源有相互的作用,审视这些影响有利于分离和再现软件缺陷。

  ● 不能忽视硬件。与软件不同,硬件Hi按预定方式工作。板卡松动、内存条损坏或者cPU过热都可能导致像是软件缺陷的失败。设法在不同硬件卜再现软件缺陷。在执行配置或者兼容性测试时特别重要。判定软件缺陷是在一个系统上还是在多个系统l产生。

  开发人员有时可以根据相对简单的错误信息能找出问题所在。因为开发人员熟悉代码,因此看到症状、测试用例步骤和分离问题的过程时。可能得到查找软件缺陷的线索。一个软件缺陷的分离和再现有时需要小组的共同努力。如果软件测试人员尽大努力分离软件缺陷,也无法表达准确的再现步骤,那么仍然需要记录和报告软件缺陷。