簡單地說,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以及其他公用基礎插件上擴展出來的插件。