对自动测试而言,测试实施的活动包括了可复用测试脚本的设计和开发,测试脚本用来实施我们的测试用例。在我们使用了迭代的方法完成了测试的设计后,就可以得到了实际上可以使用的测试用例,这时我们可以将测试用例和根据测试用例开发出来的测试脚本进行结合,将它们联系在一起。在这种联系的过程中,脚本和测试用例之间的关系并不一定是一一对应的,大多数的情况下,都是一个测试用例对应了一个或者一个以上的测试脚本。
在每一个测试的项目中,测试的实施都是不相同的。我们需要注意的是,自动化测试中往往要求我们将测试用例和开发出来的测试脚本组合进行顺序,优先级,执行次数上进行安排。如在Rational Test Suite的TestManager中,它提供了一种称为Suite的组合方式,就是将许多的测试用例和脚本进行组合编排,形成一个测试Suite,在Suite中我们可以添加同步点,时间延迟命令,场景等等,使得在一个测试Suite中可以在多台不同测测试机器上同时执行。这种Suite还支持嵌套使用。
相对手工测试而言,自动化测试在这一步骤中要花费比手工测试更多的时间。但是测试脚本的质量的好坏直接影响了整个测试项目的进行。所以这一个步骤对自动化测试项目而言是其关键。
(5)测试的执行
测试执行对手工测试而言,就是一个启动机器和被测试的程序,按照测试用例规定的步骤一步步执行测试的过程。在这个过程中,我们输入的数据的值及类型均已经在测试用例中有了明确的规定,预期的输出在测试用例中也做出了清楚的说明。测试人员只是一个被动的执行测试用例过程。这个过程对测试人员而言是一个比较枯燥且乏味的阶段。只是到了测试输出后,测试人员需要将测试的实际输出和预期输出进行人工的比较来确定软件中是否有BUG存在。
但是对自动化测试而言,我们的测试执行活动包含了要求自测试的实施的执行就应该确保系统功能的正确性。通过自动化测试工具,我们可以做到:
● 一个单独的测试脚本
● 一个或更多的测试用例
● 一个测试的集合(如TestManager中Suite),执行一些测试用例和测试脚本的混合体,这一过程是通过一台或更多的测试用机和虚拟测试者来完成的。
例如在Rational TestManager就提供了如下的几种测试:
GUI测试-图形界面测试
VU测试-虚拟用户测试,多用于性能测试中
VB测试-针对VB的测试
Java测试-针对Java系统的测试
Manual测试-手动和自动的结合测试
CommandLine测试-命令行的测试
需要注意的是,自动测试一旦启动执行后,只要测试脚本是正确的,一般情况下,它的执行是不会轻易被终止的,除非是脚本执行结束或者测试人员人工干预终止。由于这种特性,所以,自动测试大多利用的是测试人员的非工作时间来执行的。这样能大大提高人工效益。但是,相对手工测试而言,自动化测试的执行对脚本的依赖程度极高,一旦测试的对象发生改变或者测试环境发生了改变,就会导致测试脚本出错,使得整个测试无法顺利执行。而手工测试不一样,手工测试最大的特点是灵活性极高。一旦测试的对象或者测试环境发生了改变的话,测试执行人员也能很容易的发现错误,即使是测试用例没有改变。所以在测试执行的灵活程度上,手工测试的程度要好。但是自动化测试的费效比比较高。