Das Projekt "Eclipse Test and Performance Tools Platform" (TPTP) stellt als umfangreiches Plug-In für das freie Entwicklungstool "Eclipse" eine offene Plattform mit mächtigen Frameworks und Diensten zu Verfügung, welche Softwareentwicklern die Möglichkeit bietet, sowohl auf OpenSource-Basis, als auch auf kommerzieller Ebene, Tools für Performancetests zu entwickeln, welche sich einfach in andere Projekte und Umgebungen integrieren lassen und problemlos mit vorhandenen Tools kooperieren.
TPTP unterstützt den Entwickler während des gesamten Test- und Performance-Lebenszyklus, von frühen Tests bis zum Monitoring von Teilapplikationen, mit Möglichkeiten zur einfachen Testerstellung, -bearbeitung und -ausführung, sowie Monitoring, Tracing&Profiling und der Logdateien-Analyse. TPTP ist plattformunabhängig und ermöglicht den Einsatz auf Systemen im Bereich embedded, standalone, enterprise, and high-performance.
TPTP ist eine mächtige Analyse-, Profiling- und Testing-Erweiterung für die Java-Entwicklungsumgebung Eclipse.
Positiv sind die hohe Individualisierbarkeit und die enge Einbindung in Eclipse. So ist es häufig möglich, eigenen Code einzubetten oder nach Bedarf andere Komponenten wie z.B. JFreeChart zu Zwecken der grafischen Darstellung einzubinden.
Leicht zu findende Funktionalitäten wie "Profile as" sind ins Eclipse-Menü integriert, allerdings gibt es auch viele "versteckte" TPTP-Komponenten, bei denen nicht sofort ersichtlich ist, dass diese zu TPTP gehören.
Viele wiederkehrende Aufgaben innerhalb von Eclipse können durch den "Automated GUI Recorder" gelöst werden.
Dieser ist sehr umfangreich, allerdings ist es nicht möglich, mit diesem eigene Java-Programme aufzunehmen und abzuspielen, was die Einsatzmöglichkeiten einschränkt.
Die Profiling-Werkzeuge sind intuitiv und einfach zu bedienen und die erzeugten Ergebnisse in Text- und Diagrammform sehr aufschlussreich.
Die Dokumentation macht einen chaotischen Eindruck. Anhand der Dokumentation wird sehr deutlich sichtbar, dass das umfangreiche Projekt TPTP nach und nach gewachsen ist und auch teils andere Projekte aufgenommen hat. Es stellte sich als recht schwierig heraus, Dokumentationen zu einzelnen TPTP-Komponenten zu finden, zumal manche Funktionalitäten nicht einmal dokumentiert sind und externe Quellen aufgesucht werden müssen.
Alles in allem ist TPTP sehr mächtig und deckt fast alle wichtigen Themengebiete zu den vier Hauptaspekten ab, benötigt jedoch auch eine relativ lange Einarbeitungszeit und gute Programmierkenntnisse, um diese sinnvoll nutzen zu können.
TPTP ist ein Eclipse-PlugIn.
Download der Eclipse SDK inklusive TPTP:
Ein komplettes Eclipse-Paket inklusive der aktuellsten Version von TPTP kann hier für Windows und Linux heruntergeladen werden.
Installieren (unter Linux):
Installieren (unter Windows):
Der Online-Auftritt des TPTP-Projektes bietet auf etwas
umständlichen Wegen Dokumentationen zu den Projektteilbereichen, jedoch meist in Form von Tutorials.
Links von der Projektstartseite führen häufig nur auf Themenübersichten, weniger auf detaillierte
funktionale Beschreibungen. Eine Stichwortsuche über Google führt meist schneller zum gewünschten
Dokumentationsabschnitt, als die manuelle Suche über die Startseite. Dieser Umstand macht es schwierig,
gezielt bestimmte Informationen zu finden und zu extrahieren.
Zwar werden zu jedem Themenbereich Tutorials angeboten, jedoch gelten diese oft für veraltete Versionen
des Projektes. Dementsprechend haben sich in den neueren TPTP-Versionen z.B. Bezeichnungen verändert,
so dass bestimmte Sachverhalte nicht sofort ersichtlich sind. Z.B. sind bestimmte Buttons anders benannt oder
nicht mehr existent.
Tutorials gibt es in zwei Ausführungen: Text- und Video-Tutorials bzw. Kombinationen aus beidem.
Anhand der Video-Tutorials sind die einzelnen Arbeitsschritte leicht nachzuvollziehen, dennoch sind diese
allein meist wenig hilfreich, so dass die nötigen Hintergrundinformationen um den gesamten Kontext
begreifen zu können nicht vermittelt werden.
Die Text-Tutorials gestalten sich für den Leser schlüssig und sind mit reichlich Screenshots
ausgestattet, allerdings bestehen sie meist nur aus Anweisungen zur Ausführung der benötigten Arbeitsschritte.
Das sture Abarbeiten der dargestellten Aktionen ist wenig intuitiv und an den eigentlichen Sinn und Zweck
ist hierdurch nur schwer heranzukommen.
Die Wartung der Projektseite ist sehr durchwachsen. Zwar werden regelmäßig neue TPTP-Versionen
veröffentlicht, jedoch finden die modulbezogenen Teile des Projektes weniger Beachtung als die eigentliche
"Plattform" und scheinen nicht mehr regelmäßig aktualisiert zu werden (siehe Abschnitt "Dokumentation").
Es existiert ein Liste mit
wöchentlichen Updates und Bugfixes zu TPTP.
Es gibt insgesamt 6 Mailinglisten. Davon sind 4 für die Hauptaspekte des TPTP-Projektes, namentlich TPTP Platform, TPTP Monitoring Tools, TPTP Tracing & Profiling Tools und TPTP Testing Tools, zudem eine Mailingliste für wichtige Informationen und Meilensteine des Projekts und eine Liste für PMC communications (Project Management Committee).
Um in die Newsgroup posten zu können, muss man einen Bugzilla-Account erstellen. Dies geht einfach über einen Link und unter Angabe einer eMail-Adresse.
Die Fragen werden zügig von einem PMC- oder anderem Newsgroup-Mitglied beantwortet.
Zudem existiert ein übersichtliches Archiv aller jemals geposteten Fragen und Antworten.
Außerdem sind viele mögliche Fragen und Probleme in einem ausführlichen FAQ aufgeführt, das nicht nur Antworten zur Newsgroup gibt, sondern auch zu allgemeinen Themen wie Bugs oder Zugriff auf PlugIns als Committer.
Die Intuitivität zwischen den einzelnen TPTP-Teilkomponenten variiert teils stark. So ist das simple Profilen der Ausführungszeit oder ein Speicherauslastungstest ohne große Schwierigkeiten auf ein beliebiges Programm anwendbar. Aufgrund schwer auffindbarer Menübereiche und der etwas dürftig gehaltenen Dokumentation ist ein vollständiger Einblick in die tieferen Ebenen der TPTP-Plattform annähernd unmöglich. Selbst mit Hilfe der Tutorials ist es schwierig nachzuvollziehen, wo was wie warum getan wird, und welchen Zweck die jeweilige Funktionalität im Endeffekt überhaupt erfüllt.
Mit Hilfe des "Automated GUI Recorders" lassen sich Entwicklungsschritte aufzeichnen, variieren und mit hilfreicher Fehlerbehandlung rekonstruieren. Dies ermöglicht das Aufnehmen und Abspielen von durchgeführten Arbeitsabfolgen innerhalb der Eclipseumgebung. Dazu wird jedoch dringend empfohlen, das dazugehörige Tutorial durchzuarbeiten.
Mit dem TPTP Profiling-Tool ist es möglich, Laufzeittests auf vorhandene Programme anzuwenden.
Gestartet werden diese Tests, indem innerhalb der Eclipse Entwicklungsumgebung bei einem Rechtsklick auf das Projekt oder
einer Main-Klasse des Projekts der Menüpunkt
gewählt wird.
Hier lassen sich den einzelnen Projekt-Klassen unter der Rubrik Monitor (neben anderen Rubriken) vier verschiedene Profiling-Methoden zuweisen:
--> 1.1 Laufzeittests / "Execution Time Analysis"
Eine weitere TPTP-Studie befindet sich hier.
Mit dem TPTP Testing-Tool ist es möglich, die Funktionalität von Methoden zu überprüfen.