在这种情况下,Eclipse Test and Performance Tools Platform(TPTP)就应运而生了。TPTP 项目成立于 2004 年 8 月,被列为 Eclipse 的顶级项目,它是一种软件体系架构以及几个扩展了 Eclipse 平台的组件,它在 Eclipse 平台上提 供了测试、性能和监视工具,其源码开放并且工具是可扩展的,任何厂商或开发人员都可以创建新工具或者对现有工具进行 改进。一些 Java、C 和 C++ 开发人员可以使用 TPTP 为其他开发人员构建独特的工具,也可以将 TPTP 提供的工具和 Eclipse 的其他特性组合起来,构建和部署供用户使用的应用程序。下图即 TPTP 在 Eclipse 整体架构中的位置。
图 1.TPTP 在 Eclipse 架构中的位置
本文着重介绍 TPTP 对 Web 测试行为自动记 录并自动生成测试脚本以及自动生成 TPTP 下的 JUnit 测试脚本的过程。此外,作者分析了这种方法的不足并提出了利用 已有框架进行 Web 应用测试的扩充方法及其应用。
TPTP 整体结构
简单地说,TPTP 就是“构建一个通用的 可扩展的基于标准的工具平台,软件开发人员可以在这个平台上创建专用的可互操作的测试和性能工具”。TPTP 分为四个 子项目:TPTP Platform Project、Testing Tools Project、Tracing and Profiling Tools Project、Monitoring Tools Project。其中核心和提供基础服务的是 Platform 子项目,其余三个子项目都是建立在此基础之上。Testing Tools 是提 供测试用的工具,Tracing and Profiling Tools 是提供跟踪和分析的工具,Monitoring Tools 是提供实时监控的工具。 基于这些现成的平台和工具,我们也很容易开发自己定制的测试、分析、和监控工具。
以下是 TPTP 的当前版本包 括核心工具和三种核心衍生工具的详细介绍。
TPTP Platform
TPTP 为 UI 开发、数据收集、基于规则的数据 查询以及应用程序的控制提供了基础代码。例如,TPTP 提供了其他工具可以重用和扩展的许多向导。它还提供了编程接口 和一个守护进程,以便帮助从正在运行的本地或远程进程中收集数据。
TPTP Testing Tools
这个项目是在 TPTP 之上构建的,提供了对应用程序进行各种自动化测试所需的其他服务。当前版本支持 JUnit 自动测试、一种指向和点 击脚本编程系统(用于进行手工测试并记录结果)和一个用于测试 Web 应用程序的自动化系统,包括一个可以记录和回放 Web 浏览会话并对结果进行验证的记录器。在 Eclipse V4.1 版本之后还包括一个图形用户界面(GUI)记录器,它可以记 录和回放基于 SWT 的界面中的鼠标和键盘事件。
TPTP Monitoring Tools
这个项目对来自日志文件或来自应 用程序收集的统计数据的数据进行收集、分析和图形显示。
TPTP Tracing and Profiling Tools
这个项目也 扩展了 TPTP,用来收集和分析正在运行的应用程序中的资源使用数据,包括 CPU 和内存。这个跟踪工具还允许与正在运行 的进程进行交互。例如,可以手工地实施垃圾收集并检查剩余的对象池,从而寻找和修复内存“泄漏”。
下图是 TPTP 这四个子项目的相互协作关系:
图 2.TPTP 架构图