自动组件测试

Rational® Developer 产品中的自动组件测试功能允许您对 Java™ 组件、Eclipse 插件、EJB 和基于 HTTP 的 Web Service 创建、编辑、部署和运行自动测试。这些功能符合“UML 测试概要文件”标准且使用 JUnit 测试框架。

借助这些功能,可以执行下列操作:

使用 JUnit 测试脚本

您使用 Rational Developer 产品创建的所有测试都是 JUnit 测试的扩展。另外,您可以导入、编辑和执行现有的 JUnit 测试。自动组件测试功能使用下列基本系列来扩展 JUnit:

验证操作与原始 JUnit 断言方法之间的主要区别在于,通过验证操作,失败的断言不会停止执行整个 JUnit 测试套件。

有关 JUnit 的更多信息,请参阅下列地址:

创建测试项目

要测试组件,必须首先创建测试项目。

测试项目链接至一个或多个包含想要测试的组件的开发项目。开发项目可以包括 Java 开发项目、插件项目、企业应用程序项目、EJB 项目和动态 Web 项目。每个测试的目标组件称为被测组件(CUT)。

测试项目包含面向执行的元素(测试套件和测试运行)以及面向代码的元素(测试行为脚本和存根)。可以在“测试导航器”视图中浏览并编辑测试套件和测试运行;可以在“包资源管理器”视图中查看测试行为脚本和存根。

创建、编辑测试和测试数据

使用“组件测试”向导来创建测试。创建测试之后,可以接着编辑生成的测试资产,这些资产包括测试行为脚本、测试套件、测试用例和测试数据表。
  • 测试行为脚本是一个用来定义测试行为的 JUnit 文件。该脚本基于您在使用向导时选择的测试模式。可以在 Java 代码视图中查看和编辑测试行为脚本。
  • 测试套件是一种抽象构造,它包含一组单个的测试用例和部署信息。测试套件中的测试用例链接至 CUT。测试套件可以相互独立地部署和运行。“测试”透视图提供了“测试套件”编辑器,可以使用该编辑器来编辑测试套件的内容。
  • 测试用例是对测试套件中测试行为的表示。测试行为是对测试用例如何作用于 CUT 的正式描述。每个测试用例都是作为测试行为脚本中的 JUnit 测试方法来实现的。因此,可以将测试用例看作是测试套件与测试行为脚本中特殊方法之间的链接。
  • 通过测试数据表视图将测试数据提供给生成的测试用例。因为每个测试数据表都映射至测试代码中的特殊测试用例,所以,为每个测试用例自动创建了单独的测试数据表。测试数据表中的每一行都表示代码中的一个对象或表达式,每一列都表示一个数据集(等价类)。

使用存根

在测试时,通常需要为与 CUT 交互的组件创建存根。这样就可以单独测试 CUT,从而可以完全肯定测试的是 CUT 而不是其它组件。存根跟测试一样,是由行为和数据定义的。存根行为是在存根的用户代码类中定义的,可以在 Java 代码视图中查看和编辑它。在存根数据表中提供了存根数据,它定义存根类的输出行为来作为对某些输入的响应。借助存根数据表,可以通过指定每个存根方法的实际输入和返回值来模拟存根类。

在创建测试期间,可以通过分析 CUT 来自动生成存根。

部署和运行测试

测试部署就是一个指定执行测试的条件的阶段。测试部署数据主要用于 EJB 并且包含应用程序服务器信息。使用“测试套件”编辑器来选择服务器配置以部署 CUT。服务器配置是在“服务器”透视图中定义的。

可以为测试项目的任何组件(测试套件、测试用例或单个等价类)指定启动配置,以便在有无概要分析或调试选项的情况下都可以运行测试。在执行测试期间,数据收集器(称为“代理控制器”)监视 CUT 以检索测试结果。

分析测试结果

执行测试将运行测试,可以在“测试导航器”视图中查看测试运行。可以展开测试运行以查看单个测试及其结论(“成功”、“失败”、“不确定”或“错误”)。对于单个测试,可以查看“测试数据比较器”视图中显示的结果详细信息,以便了解实际的测试结果与期望结果之间的差异。

在测试结论、测试数据、测试套件、测试行为脚本和 CUT 的相关代码部分之间可以通过上下文进行交叉导航。

运行回归测试

通过设置持久测试环境,可以对回归测试复用您的测试。正常的回归测试可以确保不会引入新的缺陷并且可以修正现有的缺陷。

为了更好地理解产品规范,应该在开发项目的早期创建测试。同步过程使组件测试在开发阶段与 CUT 保持同步。然后,可以在开发过程中定期运行相同的测试,以便检测出每次修改代码或者将代码移入新环境时可能出现的意外错误。

相关任务
创建新的组件测试项目
运行组件测试
查看组件测试结果
反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.