簡單地說,TPTP 是一個 Eclipse Foundation 項目,它的目標是:“構(gòu)建一個通用的可擴展的基于標準的工具平臺,軟件開發(fā)人員可以在這個平臺上創(chuàng)建專用的可互操作的...測試和性能工具。” 換句話說,TPTP 在本質(zhì)上是一個工具,用來構(gòu)建對軟件質(zhì)量控制進行自動化的工具。
TPTP分為四個子項目:TPTP Platform Project、Testing Tools Project、Tracing and Profiling Tools Project、 Monitoring Tools Project。其中核心和提供基礎(chǔ)服務(wù)的是Platform,其余三個都是建立在此基礎(chǔ)之上。Testing Tools提供測試用的工具,Tracing and Profiling Tools提供跟蹤和分析工具,Monitoring Tools提供實時監(jiān)控工具;谶@些現(xiàn)成的平臺和工具,我們也很容易開發(fā)自己定制的測試、分析、和監(jiān)控工具。
(這有點像Eclipse Platform和JDT,CDT這樣的關(guān)系:Platform提供基礎(chǔ)平臺,JDT、CDT、PDE等等基于此提供開發(fā)環(huán)境,而如果你覺得這些現(xiàn)成的工具不能滿足你的需要,你也可以開發(fā)自己的插件項目。)
如果再細分下去,這四個子項目分別還能分解成若干子項目,如用戶界面,運行環(huán)境等。比如,TPTP Platform可以細分為用戶界面、EMF模型、分析和規(guī)則引擎、數(shù)據(jù)采集和代理、通信、以及運行環(huán)境。用戶界面不用多解釋了,是用于管理和控制測試的界面;EMF模型用于存儲測試數(shù)據(jù),包括配置信息、采集來的運行狀態(tài)信息、統(tǒng)計等等;分析和規(guī)則引擎用于簡單的查詢和修改配置數(shù)據(jù);數(shù)據(jù)采集和代理用于采集數(shù)據(jù),通常是通過代理,attach到實際運行環(huán)境后,進行數(shù)據(jù)采集;通信提供一種統(tǒng)一的數(shù)據(jù)交換方式,用于和代理通信,這一層的下面具體實現(xiàn)可以是TCP/IP也可以是基于其他協(xié)議;運行環(huán)境用于執(zhí)行具體的測試和采樣、分析等。所有這些上面提到的細分的子項目都提供各式各樣的擴展點(extension point),讓我們很方便的開發(fā)出自己的測試和性能工具。如果你接觸過Eclipse的插件開發(fā)的概念,其實很好理解了:在這個TPTP Platform之上的另外三個:Testing Tools Project、Tracing and Profiling Tools Project、Monitoring Tools Project也是很典型的從TPTP Platform以及其他公用基礎(chǔ)插件上擴展出來的插件。