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