错误处理
已记录的测试脚本是按顺序执行的。不存在分支点。测试脚本强壮的错误处理功能要求增加响应错误条件的逻辑。当错误发生时可以应用的决策逻辑包括:
■ 分支到另外的测试脚本上。
■ 调用试图清除错误条件的脚本。
■ 退出该脚本,并启动下一个脚本。
■ 退出脚本和软件,重启,并在该脚本失败后重新开始测试下一个测试脚本。
每一种处理错误的技术都需要有添加到测试脚本中的编程逻辑。因此,该逻辑应该尽可能地限制在用来控制低级测试脚本排序的高层测试脚本。这就使得低级测试脚本完全可以从记录中进行创建。
测试脚本同步和时间安排
当进行重点测试时,通常需要同步测试脚本以便它们在预先确定的时间启动。通过将期望的开始时间与系统时间比较,可以修改测试脚本以便它们可以在某个特定的时间启动。在联网系统中,每个测试站将通过网络共享同一个时钟。在以下示例中(在用 Visual Basic 编写的脚本中),有关语句已在脚本启动前插入,以使在达到脚本启动时间前将其挂起。
InputFile$ = "\TIME.DAT" Open InputFile$ For Input As 1 Input #1, StartTime$ Close #1 Do While TimeValue(StartTime$) > Time DoEvents Loop [Start script] |
本示例中,要求的开始时间存储在一个文件里。这样,更改开始时间时就无需更改测试脚本。读取该时间并储存到一个名为 StartTime$ 的变量中。Do While 循环一直进行到到达开始时间为止。DoEvents 语句非常重要。它允许在测试脚本被挂起和等待启动时执行后台任务。如果没有 DoEvents 语句,那么系统在开始时间到达之前没有任何响应。
测试和调试测试脚本
在记录测试脚本的同一测试软件上执行这些最近记录的测试脚本时,不应该发生任何错误。此时的环境及软件与它被记录的时候是相同的。可能存在测试脚本无法成功运行的情况。对该测试脚本进行测试将暴露这些情况,并允许在实际测试之前对其进行修正。以下讨论了三种典型问题:
■ 对用于在用户界面选择记录项的方法而言,若存在多义性,将使得测试脚本在回放时进行不同操作。例如,通过文本(或标题)识别的两个记录项可能拥有完全相同的文本。当执行该脚本时,将会产生多义性。
■ 虽然测试运行/会话特定的数据被记录下来(即,指针、日期/时间戳或其他一些系统生成的数据值),但是它们与回放时的数据不同。
在记录和回放时的时间差异会导致问题产生。记录测试脚本比执行测试脚本在过程上一直要慢得多。有时,产生的时间差异会导致测试脚本先于软件运行。这种情况下,可以插入等待状态以调整测试脚本相对于软件的运行速度。