Rational® Developer 产品中的自动组件测试功能允许您对 Java™ 组件、Eclipse 插件、EJB 和基于 HTTP 的 Web Service 创建、编辑、部署和运行自动测试。这些功能符合“UML 测试概要文件”标准且使用 JUnit 测试框架。
借助这些功能,可以执行下列操作:
您使用 Rational Developer 产品创建的所有测试都是 JUnit 测试的扩展。另外,您可以导入、编辑和执行现有的 JUnit 测试。自动组件测试功能使用下列基本系列来扩展 JUnit:
验证操作与原始 JUnit 断言方法之间的主要区别在于,通过验证操作,失败的断言不会停止执行整个 JUnit 测试套件。
要测试组件,必须首先创建测试项目。
测试项目链接至一个或多个包含想要测试的组件的开发项目。开发项目可以包括 Java 开发项目、插件项目、企业应用程序项目、EJB 项目和动态 Web 项目。每个测试的目标组件称为被测组件(CUT)。
测试项目包含面向执行的元素(测试套件和测试运行)以及面向代码的元素(测试行为脚本和存根)。可以在“测试导航器”视图中浏览并编辑测试套件和测试运行;可以在“包资源管理器”视图中查看测试行为脚本和存根。
在测试时,通常需要为与 CUT 交互的组件创建存根。这样就可以单独测试 CUT,从而可以完全肯定测试的是 CUT 而不是其它组件。存根跟测试一样,是由行为和数据定义的。存根行为是在存根的用户代码类中定义的,可以在 Java 代码视图中查看和编辑它。在存根数据表中提供了存根数据,它定义存根类的输出行为来作为对某些输入的响应。借助存根数据表,可以通过指定每个存根方法的实际输入和返回值来模拟存根类。
在创建测试期间,可以通过分析 CUT 来自动生成存根。
测试部署就是一个指定执行测试的条件的阶段。测试部署数据主要用于 EJB 并且包含应用程序服务器信息。使用“测试套件”编辑器来选择服务器配置以部署 CUT。服务器配置是在“服务器”透视图中定义的。
可以为测试项目的任何组件(测试套件、测试用例或单个等价类)指定启动配置,以便在有无概要分析或调试选项的情况下都可以运行测试。在执行测试期间,数据收集器(称为“代理控制器”)监视 CUT 以检索测试结果。
执行测试将运行测试,可以在“测试导航器”视图中查看测试运行。可以展开测试运行以查看单个测试及其结论(“成功”、“失败”、“不确定”或“错误”)。对于单个测试,可以查看“测试数据比较器”视图中显示的结果详细信息,以便了解实际的测试结果与期望结果之间的差异。
在测试结论、测试数据、测试套件、测试行为脚本和 CUT 的相关代码部分之间可以通过上下文进行交叉导航。
通过设置持久测试环境,可以对回归测试复用您的测试。正常的回归测试可以确保不会引入新的缺陷并且可以修正现有的缺陷。
为了更好地理解产品规范,应该在开发项目的早期创建测试。同步过程使组件测试在开发阶段与 CUT 保持同步。然后,可以在开发过程中定期运行相同的测试,以便检测出每次修改代码或者将代码移入新环境时可能出现的意外错误。