简单地说,TPTP 是一个 Eclipse Foundation 顶级项目,它的目标是:“构建一个通用的可扩展的基于标准的工具平台,软件开发人员可以在这个平台上创建专用的可互操作的...测试和性能工具。” 换句话说,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提供实时监控工具。基于这些现成的平台和工具,我们也很容易开发自己定制的测试、分析、和监控工具。
(这有点像Eclipse Platform和JDT,CDT这样的关系:Platform提供基础平台,JDT、CDT、PDE等等基于此提供开发环境,而如果你觉得这些现成的工具不能满足你的需要,你也可以开发自己的插件项目。)
如果再细分下去,这四个子项目分别还能分解成若干子项目,如用户界面,运行环境等。比如,TPTP Platform可以细分为用户界面、EMF模型、分析和规则引擎、数据采集和代理、通信、以及运行环境。用户界面不用多解释了,就是用于管理和控制测试的界面;EMF模型用于存储测试数据,包括配置信息、采集来的运行状态信息、统计等等;分析和规则引擎用于简单的查询和修改配置数据;数据采集和代理用于采集数据,通常是通过代理,attach到实际运行环境后,进行数据采集;通信提供一种统一的数据交换方式,用于和代理通信,这一层的下面具体实现可以是TCP/IP也可以是基于其他协议;运行环境用于执行具体的测试和采样、分析等。所有这些上面提到的细分的子项目都提供各式各样的扩展点(extension point),让我们很方便的开发出自己的测试和性能工具。如果你接触过Eclipse的插件开发的概念,其实就很好理解了:在这个TPTP Platform之上的另外三个:Testing Tools Project、Tracing and Profiling Tools Project、Monitoring Tools Project也是很典型的从TPTP Platform以及其他公用基础插件上扩展出来的插件。