TPTP(Eclipse Test & Performance Tools Platform) 是 Eclipse 基金會下的一個(gè)開源子項(xiàng)目,提供了一組基于 Eclipse 的工具,對軟件開發(fā)的各個(gè)階段提供支持;疽呀(jīng)覆蓋了從測試到運(yùn)行時(shí)性能分析、運(yùn)行狀態(tài)、日志分析的全過程。從其項(xiàng)目首頁來看,其主要開發(fā)者來自包括 IBM 和 Intel 在內(nèi)的大公司。更重要的是,由于其開放性,使得基于其上來開發(fā)自己的工具變得非常容易,這樣一來極大地降低了開發(fā) “軟件開發(fā)輔助工具”的門檻。
TPTP 項(xiàng)目中包含如下幾個(gè)子項(xiàng)目提供對軟件開發(fā)各個(gè)階段的支持:
Platform
TPTP 把其基礎(chǔ)架構(gòu)專門做成了一個(gè)單獨(dú)的子項(xiàng)目,也由此可見 TPTP 的意義不僅僅在于它提供了一些用于輔助軟件開發(fā)的工具,而是致力于提供一個(gè)平臺,以便更多的軟件開發(fā)輔助工具可以基于它來進(jìn)行構(gòu)建。其實(shí)事實(shí)亦如此,市面 上不少商業(yè)測試工具都是基于 TPTP 進(jìn)行開發(fā)的。
該項(xiàng)目提供了 TPTP 中通用的數(shù)據(jù)結(jié)構(gòu)、界面顯示元素、數(shù)據(jù)收集和通訊控制機(jī)制。它提供了一系列擴(kuò)展點(diǎn)以便下游項(xiàng)目可以很方便地?cái)U(kuò)展和重用這些功能。
Testing tools
作為一個(gè)用于構(gòu)建測試工具的基礎(chǔ)框架,該子項(xiàng)目提供了一組測試工具通用的特性。例如用于實(shí)施測試、準(zhǔn)備執(zhí)行環(huán)境以及測試結(jié)果的報(bào)告和分析。除 此之外,該項(xiàng)目還作為對這個(gè)基礎(chǔ)架構(gòu)的示例,提供了一個(gè)基于 JUnit 的組件測試工具、一個(gè) WEB 性能測試工具以及一個(gè)手工測試工具。
Tracing and Profiling Tools
該項(xiàng)目主要解決軟件運(yùn)行時(shí)狀態(tài)分析。其重點(diǎn)是數(shù)據(jù)的收集和分析報(bào)告; Java 的 JVMPI 監(jiān)控代理,它不僅可以對本地運(yùn)行的程序進(jìn)行分析,同時(shí)也可以對運(yùn)行在不同 JVM 甚至是不同機(jī)器上的應(yīng)用進(jìn)行監(jiān)控和分析。
Monitoring Tools
按應(yīng)用開發(fā)生命周期來看,該項(xiàng)目負(fù)責(zé)的是比較靠后的部分了,它主要負(fù)責(zé)應(yīng)用運(yùn)行時(shí)期的監(jiān)控以及日志分析。通過這個(gè)工具 ( 或基于該基礎(chǔ)架構(gòu)構(gòu)建的工具 ) 可以對應(yīng)用運(yùn)行時(shí)的各項(xiàng)系統(tǒng)資源進(jìn)行監(jiān)控。并且通過其日志分析功能對應(yīng)用運(yùn)行時(shí)的日志進(jìn)行在線分析以達(dá)到對應(yīng)用運(yùn)行時(shí)的狀態(tài)進(jìn)行監(jiān)控的目的。
可以看到,TPTP 及其各個(gè)子項(xiàng)目已經(jīng)基本涵蓋了應(yīng)用程序開發(fā)過程的各個(gè)階段。而作為軟件開發(fā)人員,我們更關(guān)注的是如何使用 TPTP 來對我們開發(fā)的應(yīng)用進(jìn)行全面的分析,特別是性能分析以找到性能瓶頸以便對應(yīng)用進(jìn)行進(jìn)一步的優(yōu)化。所以從軟件開發(fā)人員的角度來講,Tracing and Profiling Tools 應(yīng)該是有用的工具了。
回頁首
TPTP 的安裝
作為一組 Eclipse 插件,TPTP 的安裝與其他插件的安裝是非常類似的。下面詳細(xì)介紹其安裝步驟以及安裝過程中的一些注意事項(xiàng)。
下載軟件
TPTP 目前提供基于 Windows 和 Linux 兩個(gè)平臺的下載,在本文寫作時(shí)的新版本是 4.6.1,支持 Eclipse 的新版本 3.5.1。需要注意的是,TPTP 的版本與 Eclipse 的版本有比較嚴(yán)格的對應(yīng)關(guān)系。你需要根據(jù)你使用的 Eclipse 下載對應(yīng)版本的 TPTP。另外,TPTP 還對其他組件有些依賴,在下載前請保證你的 Eclipse 環(huán)境已經(jīng)滿足了 TPTP 的要求。
另外,可選擇下載包含所有子項(xiàng)目的完整的 TPTP 軟件包,并且也可以選擇下載單獨(dú)的軟件包。
根據(jù)前文的描述,“platform”子項(xiàng)目為其他全部項(xiàng)目的基礎(chǔ),如果選擇單獨(dú)下載所需要的軟件包,請不要忘記同時(shí)要下載安裝 Platform 包。
下載分 Runtime 和 SDK 兩種。如果你不想基于框架繼續(xù)擴(kuò)充開發(fā)自己的工具,則可以只下載 Runtime 包。
具體的下載要求和地址可參見其產(chǎn)品下載頁面:
http://www.eclipse.org/tptp/home/downloads/
同時(shí),在該頁面中還有 Agent Controller 的下載,該組件使你可以使用 TPTP 對不同機(jī)器上的應(yīng)用系統(tǒng)進(jìn)行實(shí)時(shí)監(jiān)控。如果被監(jiān)控的應(yīng)用跟 TPTP 在同一個(gè)系統(tǒng)中,則可以不用單獨(dú)安裝這個(gè)組件。
另外,也可以通過 Eclipse 的 Update Manager 安裝 TPTP,具體做法可參考:
http://www.eclipse.org/tptp/home/downloads/updateManager.php
但是 TPTP 文件比較大,筆者建議還是先把文件下載下來再自己安裝,這樣可以使安裝過程更快一點(diǎn)。