1 / 48

Axel Stollfuß axel.stollfuss@syngenio.de

Hyades – E clipse Framework für Testen, Monitoring und Profiling von Java Anwendungen Java Forum Stuttgart 01. Juli 2004. Axel Stollfuß axel.stollfuss@syngenio.de. Hyades - Agenda. Agenda. Ausgangslage / Motivation Hyades Komponenten im Überblick Vergleich und Bewertung

Download Presentation

Axel Stollfuß axel.stollfuss@syngenio.de

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. 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)

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

  6. Ausgangslage / Motivation Wo kommt der Begriff „Hyades“ her ? • Hyaden einer der größten sichtbaren Sternhaufen • Während Sonnenfinsternis 1919empirischer Beweis der Relativitätstheorie • Ablenkung des Lichts der Hyaden durch Gravitationsfeld der Sonnegemessen

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

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

  9. Hyades im Überblick Zusammenspiel der Komponentenan 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

  10. 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

  11. Informationsmodelle Informationsmodelle • Zentraler Bestandteil von Hyades • Jede Komponente besitzt eigene Modelle • Eclipse Modelling Framework (EMF) basiert • Offene Schnittstelle für Erweiterungen

  12. 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 !)

  13. Common Base Events 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)

  14. Common Base Events 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

  15. Common Base Events Darstellung von CBE in Eclipse Common Base Event 0-100 0-70

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

  17. Agent Controller 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

  18. Agent Controller Agent Lifecycle •  Registered:Agent wird vom Host Prozess gestartet und registriert sich beim Controller •  AttachedTestclient attached an den Agenten, um Daten zu sammeln •  MonitoredTestclient startet Monitoring des Agenten

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

  20. 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

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

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

  23. 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 denaufgezeichneten Tests Einstiegspunkt für individuelleErweiterungen

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

  25. Automatisierte GUI Tests Testergebnisse analysieren Testergebnisse analysieren Erfolgreicher Test

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

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

  28. Profiling 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

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

  30. Profiling Coverage Statistik % abgedeckt missed hit

  31. Profiling Execution Workflow Zeitliche Abfolge Kumulierte Dauer

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

  33. Log und Trace Analyse Log und Trace Analyse • Zielsetzung • 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

  34. 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

  35. 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

  36. 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

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

  38. 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 compile Probe compiler Byte Code Instrumentation Java Classes instrumentiert Java Classes In Eclipse integriert

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

  40. Remote System Eclipse Platform Test Engine Distributed TestControl Framework Eclipse GUI Test Agent Control Interface Test Master Control Interface Runtime Monitoring Trace Analysis and Profiling Trace Analysis and Profiling Test Management Testability Interface System UnderTest Eclipse Deployment Framework Standard Widgets and Core Plugins Deployment Agent Trace Collection Generator Log Collection Reference Perspective and Workflow Data Collection Execution Environment EMF Information Models Distributed DataCollection Framework Injection Data Collection Interface Statistical Profile Test Trace JVMPI Monitor Data Loader System Resource Monitor Correlation XMIetc. RealTimeExport Hyades im Überblick Architektur

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

  42. 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

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

  44. 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

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

  46. 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

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

  48. syngenio AGBadstrasse 9 70372 StuttgartTel.: 0711 / 4903-400E-Mail: info@syngenio.de Axel Stollfuß axel.stollfuss@syngenio.de

More Related