Hyades – Eclipse Framework für Testen, Monitoring und Profiling von Java Anwendungen Java Forum Stuttgart 01. Juli 2004 Axel Stollfuß axel.stollfuss@syngenio.de.

Slides:



Advertisements
Ähnliche Präsentationen
PHP Extension und Application Repository
Advertisements

Forschungszentrum Informatik
Developing your Business to Success We are looking for business partners. Enterprise Content Management with OS|ECM Version 6.
1 Gerardo Navarro Suarez BPM Suite. 2 Quelle: camunda Services GmbH Das Warum hinter Activiti Problem bestehender BPMS: Starker Fokus auf das Business.
Modellgetriebene Softwareentwicklung
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
DI Christian Donner cd (at) donners.com
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
K-Modeler Engineering
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Introducing the .NET Framework
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
UML Begleitdokumentation des Projekts
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
2 Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
20:00.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
TWS/Graph HORIZONT Produkt-Präsentation Software für Rechenzentren
Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter.
Eine Einführung in die CD-ROM
MDA – Framework AndroMDA
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Java und Eclipse.
1 Ein kurzer Sprung in die tiefe Vergangenheit der Erde.
Syntaxanalyse Bottom-Up und LR(0)
Architekturen und Techniken für computergestützte Engineering Workbenches.
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
PROCAM Score Alter (Jahre)
Präsentiert Management Lösungen Value Added Software GmbH, Carl-Schurz-Str. 7, Neuss
Performance-Testing als Basis für Performanceoptimierungen
Management- und Web Services- Architekturen
Symmetrische Blockchiffren DES – der Data Encryption Standard
GMF (Graphical Modeling Framework)
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Einführung in die Astronomie und Astrophysik I Kapitel III: Das Planetensystem 1 Kapitel III: Das Planetensystem.
Untersuchungen zur Erstellung eines
SiLeBAT Sicherstellung der Futter- und Lebensmittelwarenkette bei bio- und agro-terroristischen (BAT)-Schadenslagen.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Musterlösung IT-Struktur an Schulen © Zentrale Planungsgruppe Netze am Kultusministerium Baden-Württemberg Software-Verteilung mit ZENworks 4 Regionale.
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
Das IT - Informationssystem
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Monatsbericht Ausgleichsenergiemarkt Gas – November
Datenbanken im Web 1.
 Präsentation transkript:

Hyades – Eclipse Framework für Testen, Monitoring und Profiling von Java Anwendungen Java Forum Stuttgart 01. Juli 2004 Axel Stollfuß axel.stollfuss@syngenio.de

Agenda Ausgangslage / Motivation Hyades Komponenten im Überblick Hyades - Agenda Agenda Ausgangslage / Motivation Hyades Komponenten im Überblick Vergleich und Bewertung Roadmap / Weitere Entwicklungen

Ausgangslage Software Qualität Ausgangslage / Motivation Ausgangslage Software Qualität Unterschiedliche Nutzer Entwickler Fachliche Tester Performance-, Lasttester Betrieb haben ihre eigenen Werkzeuge mit getrennten Testmodellen  Mangelnde Traceability und Redundanz

Was ist Hyades? Projektvision Ausgangslage / Motivation Was ist Hyades? Projektvision Integrierte Test, Trace und Monitoring Plattform Werkzeuge für Automated Software Quality (ASQ) Functional Testing Load Testing Unit Testing Runtime Analyse Einheitliche Infrastruktur Plattform für Entwicklung Test Produktion Eclipse basiert (Plugins und externe Laufzeitkomponenten)

Ausgangslage / Motivation Wer steckt dahinter ? Begonnen Ende 2002 von IBM, Scapa Technologies, Rational Software, Parasoft und Telelogic Beteiligt an aktuellen Releases IBM, Scapa Technologies, SAP, Compuware und Intel Hyades als Basis für Produktentwicklungen

Wo kommt der Begriff „Hyades“ her ? Ausgangslage / Motivation Wo kommt der Begriff „Hyades“ her ? Hyaden einer der größten sichtbaren Sternhaufen Während Sonnenfinsternis 1919 empirischer Beweis der Relativitätstheorie Ablenkung des Lichts der Hyaden durch Gravitationsfeld der Sonne gemessen 29.5.1919: ALLGEMEINE RELATIVITÄTSTHEORIE   Licht von Sternen, die nahe an der Sonne stehen, sollte ca. 1.75 arcsec abgelenkt werden EDDINGTON: zwei Expeditionen: Brasilien und Afrika, Beobachtung von Sternen bis zu 9ter Größe! Hyaden nahe der Sonne: Ablenkung von 1.65 und 1.98 arcsec.

Agenda Ausgangslage / Motivation Hyades Komponenten im Überblick Hyades - Agenda Agenda Ausgangslage / Motivation Hyades Komponenten im Überblick Vergleich und Bewertung Roadmap / Weitere Entwicklungen

Hyades Komponenten im Überblick Hyades im Überblick Hyades Komponenten im Überblick Interoperable Informationsmodelle Data Collection Framework und Laufzeitumgebung Test Tool Framework Profiling Framework Log und Trace Frameworks

Zusammenspiel der Komponenten an einem praktischen Beispiel Hyades im Überblick Zusammenspiel der Komponenten an einem praktischen Beispiel Aufzeichnen eines GUI-Tests Generierung der JUnit Klassen Anpassung der JUnit Klassen durch Datapool Einbindung Monitoring der Anwendung beim Ablaufen der Tests Aufzeichnen der Profiling Informationen Erweiterte Tracing Informationen durch Probekit Adapter für Logfiles, die CBE Events generieren Korrelation von Logfiles (Realtime) Analyse der Logfiles, Verknüpfung mit der Symptom Datenbank Testgewinnung- und Ablauf Datengewinnung Analyse

Zusammenspiel der Hyades Komponenten Hyades im Überblick Zusammenspiel der Hyades Komponenten Laufzeitumgebung Zu testendes System Testtreiber ProbeKit Logfile Trace Teststeuerung & Deployment GLA Informations-modelle Runtime Visualisierung Data Collection FW Symptom DB Sourcecode Transformation UML2TP Testfall Test Testverwaltung Testdaten

Informationsmodelle Zentraler Bestandteil von Hyades Jede Komponente besitzt eigene Modelle Eclipse Modelling Framework (EMF) basiert Offene Schnittstelle für Erweiterungen MVC-Konzept

Informationsmodelle Packages org.eclipse.hyades.models.* common – UML2 Testing Profile u.a. cbe – Common Base Events hierarchy – Objekthierarchie probekit – Instrumentierung sdb – Symptom Datenbank statistical – Auszuwertende Ereignisse trace – Tracing

Theoretisches Fundament OMG UML2 Testing Profile UML2TP Theoretisches Fundament OMG UML2 Testing Profile Formales Erfassen aller zum Black-Box-Testen notwendiger Informationen um Korrektheit des implementierten Systems zu prüfen Keine Definition von Testprozess Testmethode Testalgorithmus

OMG UML2 Testing Profile UML2TP OMG UML2 Testing Profile Spezifiziert miteinander agierende Objekte für Testarchitektur Testverhalten Testdaten Spezifikation als Meta-Modell (MOF) Mittels EMF in Hyades implementiert (Ziel !)

UML2 TP Meta-Model (Ausschnitt)

Common Base Events (CBE) Definiert Struktur von Ereignissen Ziel: Konsistenz und Vollständigkeit Ausgerichtet auf Logging Management Problemerkennung eBusiness Ziel: Neuer Standard (initiiert von IBM)

Vereinheitlichung durch CBE Common Base Events Vereinheitlichung durch CBE Zeitformat Rechnername Komponentenname Gruppierung von Events Reihenfolge der Events Zuordnung in verteilten Applikationen

Aufbau von Common Base Events Basis ist 3-Tupel Berichtende Komponente Betroffene Komponente Situation Beispiel: [„JBoss“, „Webapp A“, „DB Anbindung unterbrochen“] Modellierung komplexer Eventstrukturen möglich

Eigenschaften von CBE In XML spezifiziert Common Base Events Eigenschaften von CBE In XML spezifiziert Eventtransport über SOAP möglich Abbildung von JMX, SNMP, CIM, Webserver logs zu CBE möglich Erweiterbar durch produktspezifische Attribute Schemata z.B. für Web Application Server, Betriebssysteme, …. CIM = Common Information Model http://www.dmtf.org/standards/cim/ CIM provides a common definition of management information for systems, networks, applications and services, and allows for vendor extensions. CIM’s common definitions enable vendors to exchange semantically rich management information between systems throughout the network. Treiber: Cisco, Sun, Dell. IBM, Intel, EMC Eigene Schemata für Web Application Server, Betriebssysteme, etc.

Darstellung von CBE in Eclipse Common Base Events Darstellung von CBE in Eclipse Common Base Event // entspricht dem CBE Modell Severity 0 – 70 Priority 0 – 100 (10 = low, 50 = medium, 70 = high) 0-100 0-70

Hyades Komponenten im Überblick Hyades im Überblick Hyades Komponenten im Überblick Interoperable Informationsmodelle Data Collection Framework und Laufzeitumgebung Test Tool Framework Profiling Log und Trace Frameworks

Agent Controller Architektur Agent Controller: externer Daemon zur Entkopplung der Kommunikation zwischen System Under Test (SUT) und Testclient Agent: läuft innerhalb der Hostprozesse und kommuniziert mit dem Agent Controller, macht die internen Daten extern verfügbar Test Client: Kommuniziert mit dem Agent Controller, um Daten der Agenten einzusammeln

Agent Controller Agent Lifecycle  Registered: Agent wird vom Host Prozess gestartet und registriert sich beim Controller  Attached Testclient attached an den Agenten, um Daten zu sammeln  Monitored Testclient startet Monitoring des Agenten

Interaktion Agenten mit dem Agent Controller Agent Controller Logfile Starten des Tomcat mit -XrunpiAgent:server=enabled Der Agent wird in der JVM gestartet und connected sich an den Agent Controller  Zustand registriert Test Client Eclipse attached an den registrierten Agenten  Zustand attached Etablierung des Data Channels für den Kommunikationsfluss zwischen Agent Controller und Eclipse Plugin <SERVER_MSG time="2004:6:25:12:33:10" severity="INFORMATION" text="Incoming connection request from agent Java Profiling Agent in process 3704 with uuid b3541fff-84fb-4d19-9b93-10b3e016c6c6"/> <SERVER_MSG time="2004:6:25:12:33:10" severity="INFORMATION" text="Registering process 3704"/> <SERVER_MSG time="2004:6:25:12:33:10" severity="WARNING" text="Registered Agent b3541fff-84fb-4d19-9b93-10b3e016c6c6."/> <SERVER_MSG time="2004:6:25:12:33:41" severity="INFORMATION" text="Incoming connection request on socket 812 from 127.0.0.1"/> <SERVER_MSG time="2004:6:25:12:33:41" severity="INFORMATION" text="Connection accepted on socket 812"/> <SERVER_MSG time="2004:6:25:12:34:6" severity="INFORMATION" text="Preparing Agent active"/> <SERVER_MSG time="2004:6:25:12:34:21" severity="INFORMATION" text="Created data channel with name rabuffer0 and CB addr 08140158 buffer addr 08182270 size in=67108864 size out=67108864"/> <SERVER_MSG time="2004:6:25:12:34:21" severity="INFORMATION" text="Connected to client data channel socket on port 1055 with descriptor 744"/> <SERVER_MSG time="2004:6:25:12:34:21" severity="INFORMATION" text="Created flusher thread and about to send message to agent"/> <SERVER_MSG time="2004:6:25:12:56:45" severity="INFORMATION" text="Process 3704 exited"/>

Hyades Komponenten im Überblick Hyades im Überblick Hyades Komponenten im Überblick Interoperable Informationsmodelle Data Collection Framework und Laufzeitumgebung Test Tool Framework Profiling Log und Trace Frameworks

Von der Testaufzeichnung zu ausführbaren Tests Automatisierte GUI Tests Von der Testaufzeichnung zu ausführbaren Tests Aufzeichnen des Tests mit HTTP Recorder Generierung der JUnit Testklassen Ausführbaren Test generieren Test ausführen Testergebnisse analysieren Reportgenerierung

Testrecording als Basis für Tests Automatisierte GUI Tests Aufzeichnen des Tests Testrecording als Basis für Tests Eclipse Wizard für HTTP(s) Recording Nutzt interne Internet Explorer Schnittstelle

URL Testsuite Automatisierte GUI Tests Aufzeichnen des Tests Die aufgezeichneten Requests Request Infos Think Times änderbar SSL Support Rahmen !!! Header

Generierung Junit Klassen Automatisierte GUI Tests Testklassengenerierung Generierung Junit Klassen Aus aufgezeichneten Tests werden JUnit Klassen generiert anschließende Anpassung möglich Integration von Datapools für variable Testdaten Analog zu den aufgezeichneten Tests Einstiegspunkt für individuelle Erweiterungen

Ausführbaren Test generieren Automatisierte GUI Tests Ausführbaren Test erzeugen Ausführbaren Test generieren Test Deployment = Test Artifacts x Test Location

Testergebnisse analysieren Automatisierte GUI Tests Testergebnisse analysieren Testergebnisse analysieren Erfolgreicher Test

Automatisierte GUI Tests Reportgenerierung Zwei Standardreports (page response time, page hit rate) werden mitgeliefert Eigene Erweiterungen möglich Page Response Time Page Hit Rate

Hyades Komponenten im Überblick Hyades im Überblick Hyades Komponenten im Überblick Interoperable Informationsmodelle Data Collection Framework und Laufzeitumgebung Test Tool Framework Profiling Framework Log und Trace Frameworks

Profiling Ausgangslage: Analyse von Performance und Ressourcenproblemen Integriert in die Entwicklern bekannte Umgebung Features: Verknüpfung verschiedener (graphischer) Analysesichten Verknüpfung mit Source Code Es können lokale und entfernte Systeme geprofiled werden (Nutzung der Agent Controller Architektur) Realtime Profiling möglich

UML Sequenz Diagramm Profiling Performance- kritikalität Verknüpfung mit Sourcecode

Profiling Coverage Statistik % abgedeckt missed hit

Profiling Execution Workflow Zeitliche Abfolge Kumulierte Dauer

Hyades Komponenten im Überblick Hyades im Überblick Hyades Komponenten im Überblick Interoperable Informationsmodelle Data Collection Framework und Laufzeitumgebung Test Tool Framework Profiling Log und Trace Frameworks

Log und Trace Analyse Zielsetzung Hilfsmittel Einheitliches Modell für Log- und Trace Events Laufzeitmodell zur Konsolidierung und Korrelation von Log Events verteilter Systeme Hilfsmittel CBE bietet einheitliches Format für Log und Trace Events Agent Controller als Laufzeitumgebung für die Event-Konsolidierung in verteilten Systemen

Einheitliche Logging Infrastruktur (Generic Log Adapter) Log und Trace Analyse Einheitliche Logging Infrastruktur (Generic Log Adapter) Problem Kein applikationsübergreifendes Format für Logfiles Ansätze wie apache.commons.logging, JSR 147 Logging Ansatz CBE ist zentrales Informationsmodell Basis für weitere Verarbeitung Parser zur Transformation individuell zu erstellen Vereinfachte Erstellung der CBE Daten  Generic Log Adapter (GLA) Regelbasiert, reguläre Ausdrücke

Logfile Korrelation Problem Lösung: Logfile Korrelation Log und Trace Analyse Logfile Korrelation Problem In verteilten Systemen sind die Logeinträge zusammenhängender Aktionen über viele Logfiles verteilt Webserver -, Web Container -, Appserver-Log, … Lösung: Logfile Korrelation Traceability von Events über verteilte Logfiles hinweg Korrelation kann Timestamp, Session ID, etc. sein Möglichkeit, eigene Logfile Korrelationen zu erstellen Kann sehr zeitaufwendig werden

Symptom Database (1) Problem Lösung: Symptom Database Log und Trace Analyse Symptom Database (1) Problem Aufbereitung der Information der Log Events für operative Todos Lösung: Symptom Database Knowledge Base für typische Event Konstellationen, XML-basiert Erlaubt Formulierung einfacher Regeln auf der Basis der CBE Informationen Hinweis auf Einsatzszenario für den Betrieb !

Symptom Database (2) Log und Trace Analyse Ausgewählter Eintrag Analyse Ergebnis Symptom Beschreibung

Probekit Instrumentierung von Java Programmen Tracing Probekit Instrumentierung von Java Programmen Generierung von Trace Informationen AOP Ansatz Proprietärer Ansatz java ProbeInstrumenter .probescript *.class Probe Java class file .class + .probescript Probe- Beschreibung In XML .probe Probe Java Source .java Probe compiler compile Byte Code Instrumentation Probekit Java Classes instrumentiert Java Classes In Eclipse integriert

Probekit Beispiel (1) Tracing Probekit enthält die einzelnen Probes <?xml version="1.0" encoding="ASCII"?> <probekit> <probe> <fragmentAtClassScope> static public int entry_counter = 0; </fragmentAtClassScope> <fragment type="entry"> <data type="className" name="_class" /> <data type="methodName" name="_method" /> <data type="args" name="_args" /> <code> if ((entry_counter % 10) == 0) System.out.println("Counter value " + entry_counter + " at a call to " + _class + "." + _method); entry_counter++; </code> </fragment> </probe> </probekit> fragmentAtClassScope: Klassen Member Folgendes Codefragment wird bei Methodeneinstieg durchlaufen <data> enthält die Typdeklarationen <code> enthält den auszuführenden Code

Probekit Beispiel (2) Tracing <?xml version="1.0" encoding="ASCII"?> <probekit> <probe> <fragmentAtClassScope> static public int entry_counter = 0; </fragmentAtClassScope> <fragment type="entry"> <data type="className" name="_class"/> <data type="methodName" name="_method"/> <data type="args" name="_args" /> <code> if ((entry_counter % 10) == 0) System.out.println("Counter value " + entry_counter + " at a call to " + _class + "." + _method); entry_counter++; </code> </fragment> </probe> </probekit> // generated source from ProbeKit compiler class tt_probe { // Class for probe unnamed_probe public static class Probe_0 { // Fragment at class scope static public int entry_counter = 0; public static void _entry ( String /*className*/ _class, String /*methodName*/ _method, Object[] /*args*/ _args ) { // Internal signature for this method: (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V //-- begin user-written fragment code -- if ((entry_counter % 10) == 0) System.out.println("Counter value " + entry_counter + " at a call to " + _class + "." + _method); entry_counter++; //-- end user-written fragment code -- } Probe compiler

Hyades Komponenten im Überblick Hyades im Überblick Hyades Komponenten im Überblick Interoperable Informationsmodelle Data Collection Framework und Laufzeitumgebung Test Tool Framework Profiling Log und Trace Frameworks

Eclipse Platform Eclipse GUI Remote System Test Engine Hyades im Überblick Architektur Eclipse Platform Eclipse GUI Runtime Monitoring Trace Analysis and Profiling Test Management Standard Widgets and Core Plugins Reference Perspective and Workflow EMF Information Models Test Trace Statistical Profile XMI etc. Generator Data Loader Test Master Control Interface Real Time Export Remote System Test Engine Testability Interface Data Collection Correlation Deployment Agent Data Collection Interface Test Agent Control Interface Injection System Under Test Execution Environment Trace Collection Log Collection System Resource Monitor JVMPI Monitor Distributed Test Control Framework Eclipse Deployment Framework Distributed Data Collection Framework „weiß“ machen

Agenda Ausgangslage / Motivation Hyades Komponenten im Überblick Hyades - Agenda Agenda Ausgangslage / Motivation Hyades Komponenten im Überblick Vergleich und Bewertung Roadmap / Weitere Entwicklungen

Vergleich zu anderen Werkzeugen (1) Vergleich und Bewertung Vergleich zu anderen Werkzeugen (1) „Konkurrenz“ von Hyades Tools von Compuware, Mercury, Segue, … Open Source Projekte: JUnit*, JMeter, … Vergleich Plattform mit Produkt unfair Produkte müssen entwickelt werden! Hyades liefert Beispiele mit aus Gute formale Grundlage und Integrationsfähigkeit in Projektsituationen Bugzilla rausnehmen

Vergleich zu anderen Werkzeugen (2) Vergleich und Bewertung Vergleich zu anderen Werkzeugen (2) Eclipse Hyades Einheitliches Framework Offen und erweiterbar („extension points“) Weitgehend Plattformunabhängig Andere Produkte Historisch gewachsene oder zugekaufte Produktkomponenten Proprietäre APIs

Fazit: Einsatzfähigkeit im Projekt schon heute Vergleich und Bewertung Fazit: Einsatzfähigkeit im Projekt schon heute Profiling: Funktioniert gut, teilweise Probleme mit den Laufzeitkomponenten Testing: Ernsthafte fachliche Tests benötigen noch umfängliche Erweiterungen (im Vergleich zu JMeter) Log und Trace Analyse Basis für eine einheitliche Loginfrastruktur Symptom/Resolution Management

Agenda Ausgangslage / Motivation Architektur Hyades - Agenda Agenda Ausgangslage / Motivation Architektur Hyades Komponenten im Überblick Einsatzszenarien im Projekt Vergleich und Bewertung Roadmap / Weitere Informationen

Weiterentwicklung Hyades Roadmap Weiterentwicklung Hyades Q3/04 V 3.0.1 Bugfixes für 3.0, Kollektoren, Dokumentation Testmanagement Funktionen Ant basierte Testausführungen 64bit Architekturen und Embedded Systems UML2TP Support vervollständigen Transformation von Trace zu Testfall … Q4/04 V 3.1 2005 V 4.0

Weitere Informationen Eclipse Hyades Homepage http://www.eclipse.org/hyades (s. auch dortige news groups und Mailinglisten) OMG UML2 Testing Profile http://www.omg.org/docs/ptc/03-08-03.pdf Common Base Event Specification 2.1 (13.10.2003) http://xml.coverpages.org/CommonBaseEventSituationDataV210.pdf

syngenio AG Badstrasse 9 70372 Stuttgart Tel syngenio AG Badstrasse 9 70372 Stuttgart Tel.: 0711 / 4903-400 E-Mail: info@syngenio.de Axel Stollfuß axel.stollfuss@syngenio.de