自动化系统的构件如图1 所示。它包含了用户界面,测试引擎以及测试系统。接下来的章节描述了这些构件的功能

图 1. 一个自动化系统的功能

  用户界面

  这种界面可以是一种基于网络的 GUI 或者命令行。您可以使用网络技术来开发一个基于网络的界面。对于一个不使用浏览器的程序来说,一个命令行界面起的作用十分有限。作为测试自动化系统的一部分,用户界面发挥着重要的作用。这是测试自动化开始的地方。不同的用户界面伴随着不同的特性。其中有些界面包含了以团队的格式维护用户工作区域。下面是用户界面的主要任务:

  1、提供一个用户友好性的界面

  2、提供一种轻松的方式来创建测试和测试回归

  3、为测试提供测试执行环境

  4、显示测试结果

  5、分配管理的资源

  测试引擎

  测试引擎是测试自动化系统的核心,因为它使用不同的实验资源来运行测试。这种类型的软件用于测试软件,硬件,或者一个完整的系统。选择一个合适的测试引擎非常重要。它取决于您想要实现自动化的测试的类型。不同的测试引擎提供了不同的功能。例如,IBM? Rational? Build Forge? 以及开放源 STAX 引擎提供了并发特性以及测试的序列性执行。有时,测试自动化框架包含了测试引擎,它支持框架处理的自动化。测试引擎主要有以下任务:

  1、对程序或者图片执行(运行)测试或者测试回归

  2、重复测试

  3、收集测试结果

  4、分析测试结果

  5、监视执行结果

  6、向测试员发送关于失败信息的电子邮件通知

  自动化进程

  多个平台的微观开发需要收集来自开发员的源代码,并将代码整合成一个单元。当实验资源安装该单元之后,它需要多种测试来确认它的正确性。这种测试的自动化降低了测试员执行测试所需要的时间,这样他们可以将更多的注意力放在微观开发上了。

  很明显,自动化需要减少手动与测试相交流所需要的时间与工作量。通过运行脚本或者运行命令都可以执行测试。您可以以任何语言来编写脚本。测试引擎应该能够分析这些脚本访问并执行测试。