a7a1f399fe5900301b480c2551dac738.ppt
- Количество слайдов: 48
Hyades – Eclipse Framework für Testen, Monitoring und Profiling von Java Anwendungen Axel Stollfuß axel. stollfuss@syngenio. de www. syngenio. de Java Forum Stuttgart 01. Juli 2004
Hyades - Agenda l Ausgangslage / Motivation l Hyades Komponenten im Überblick l Vergleich und Bewertung l Roadmap / Weitere Entwicklungen www. syngenio. de 2 Java Forum Stuttgart 2004
Ausgangslage / Motivation Ausgangslage Software Qualität l Unterschiedliche Nutzer l l Entwickler Fachliche Tester Performance-, Lasttester Betrieb l haben l l ihre eigenen Werkzeuge mit getrennten Testmodellen Mangelnde Traceability und Redundanz www. syngenio. de 3 Java Forum Stuttgart 2004
Ausgangslage / Motivation Was ist Hyades? Projektvision l Integrierte Test, Trace und Monitoring Plattform l Werkzeuge für Automated Software Quality (ASQ) l l Functional Testing Load Testing Unit Testing Runtime Analyse l Einheitliche Infrastruktur Plattform für l l l Entwicklung Test Produktion l Eclipse basiert (Plugins und externe Laufzeitkomponenten) www. syngenio. de 4 Java Forum Stuttgart 2004
Ausgangslage / Motivation Wer steckt dahinter ? l Begonnen Ende 2002 von IBM, Scapa Technologies, Rational Software, Parasoft und Telelogic l Beteiligt an aktuellen Releases IBM, Scapa Technologies, SAP, Compuware und Intel l Hyades als Basis für Produktentwicklungen www. syngenio. de 5 Java Forum Stuttgart 2004
Ausgangslage / Motivation Wo kommt der Begriff „Hyades“ her ? l Hyaden einer der größten sichtbaren Sternhaufen l Während Sonnenfinsternis 1919 empirischer Beweis der Relativitätstheorie l Ablenkung des Lichts der Hyaden durch Gravitationsfeld der Sonne gemessen www. syngenio. de 6 Java Forum Stuttgart 2004
Hyades - Agenda l Ausgangslage / Motivation l Hyades Komponenten im Überblick l Vergleich und Bewertung l Roadmap / Weitere Entwicklungen www. syngenio. de 7 Java Forum Stuttgart 2004
Hyades im Überblick Hyades Komponenten im Überblick l Interoperable Informationsmodelle l Data Collection Framework und Laufzeitumgebung l Test Tool Framework l Profiling Framework l Log und Trace Frameworks www. syngenio. de 8 Java Forum Stuttgart 2004
Hyades im Überblick Zusammenspiel der Komponenten an einem praktischen Beispiel l Aufzeichnen eines GUI-Tests l Generierung der JUnit Klassen l Anpassung der JUnit Klassen durch Datapool Einbindung l Monitoring der Anwendung beim Ablaufen der Tests l Aufzeichnen der Profiling Informationen l Erweiterte Tracing Informationen durch Probekit l Adapter für Logfiles, die CBE Events generieren l Korrelation von Logfiles l (Realtime) Analyse der Logfiles, Verknüpfung mit der Symptom Datenbank Testgewinnungund Ablauf Datengewinnung Analyse www. syngenio. de 9 Java Forum Stuttgart 2004
Hyades im Überblick Zusammenspiel der Hyades Komponenten Laufzeitumgebung Zu testendes System Logfile Probe. Kit Testtreiber Trace GLA Informationsmodelle Data Collection FW Runtime Visualisierung Teststeuerung & Deployment Symptom DB Sourcecode Transformation UML 2 TP Testfall Testverwaltung Testdaten www. syngenio. de 10 Java Forum Stuttgart 2004
Informationsmodelle l Zentraler Bestandteil von Hyades l Jede Komponente besitzt eigene Modelle l Eclipse Modelling Framework (EMF) basiert l Offene Schnittstelle für Erweiterungen www. syngenio. de 11 Java Forum Stuttgart 2004
UML 2 TP OMG UML 2 Testing Profile l Spezifiziert miteinander agierende Objekte für l Testarchitektur l Testverhalten l Testdaten l Spezifikation als Meta-Modell (MOF) l Mittels EMF in Hyades implementiert (Ziel !) www. syngenio. de 14 Java Forum Stuttgart 2004
Common Base Events (CBE) l Definiert Struktur von Ereignissen l Ziel: Konsistenz und Vollständigkeit l Ausgerichtet auf l l Logging Management Problemerkennung e. Business l Ziel: Neuer Standard (initiiert von IBM) www. syngenio. de 16 Java Forum Stuttgart 2004
Common Base Events Aufbau von Common Base Events l Basis ist 3 -Tupel l Berichtende Komponente l Betroffene Komponente l Situation l Beispiel: l [„JBoss“, „Webapp A“, „DB Anbindung unterbrochen“] l Modellierung komplexer Eventstrukturen möglich www. syngenio. de 18 Java Forum Stuttgart 2004
Common Base Events Darstellung von CBE in Eclipse Common Base Event 0 -100 0 -70 www. syngenio. de 20 Java Forum Stuttgart 2004
Hyades im Überblick Hyades Komponenten im Überblick l Interoperable Informationsmodelle l Data Collection Framework und Laufzeitumgebung l Test Tool Framework l Profiling l Log und Trace Frameworks www. syngenio. de 21 Java Forum Stuttgart 2004
Agent Controller Architektur l Agent Controller: externer Daemon zur Entkopplung der Kommunikation zwischen System Under Test (SUT) und Testclient l Agent: läuft innerhalb der Hostprozesse und kommuniziert mit dem Agent Controller, macht die internen Daten extern verfügbar l Test Client: Kommuniziert mit dem Agent Controller, um Daten der Agenten einzusammeln www. syngenio. de 22 Java Forum Stuttgart 2004
Agent Controller Agent Lifecycle l Registered: Agent wird vom Host Prozess gestartet und registriert sich beim Controller l Attached Testclient attached an den Agenten, um Daten zu sammeln l Monitored Testclient startet Monitoring des Agenten www. syngenio. de 23 Java Forum Stuttgart 2004
Hyades im Überblick Hyades Komponenten im Überblick l Interoperable Informationsmodelle l Data Collection Framework und Laufzeitumgebung l Test Tool Framework l Profiling l Log und Trace Frameworks www. syngenio. de 25 Java Forum Stuttgart 2004
Automatisierte GUI Tests Von der Testaufzeichnung zu ausführbaren Tests 1. Aufzeichnen des Tests mit HTTP Recorder 2. Generierung der JUnit Testklassen 3. Ausführbaren Test generieren 4. Test ausführen 5. Testergebnisse analysieren 6. Reportgenerierung www. syngenio. de 26 Java Forum Stuttgart 2004
Automatisierte GUI Tests Aufzeichnen des Testrecording als Basis für Tests l Eclipse Wizard für HTTP(s) Recording l Nutzt interne Internet Explorer Schnittstelle www. syngenio. de 27 Java Forum Stuttgart 2004
Automatisierte GUI Tests Aufzeichnen des Tests URL Testsuite Die aufgezeichneten Requests änderbar Request Infos Think Times SSL Support Header www. syngenio. de 28 Java Forum Stuttgart 2004
Automatisierte GUI Tests Testklassengenerierung Generierung Junit Klassen l Aus aufgezeichneten Tests werden JUnit Klassen generiert l anschließende Anpassung möglich l Integration von Datapools für variable Testdaten Analog zu den aufgezeichneten Tests Einstiegspunkt für individuelle Erweiterungen www. syngenio. de 29 Java Forum Stuttgart 2004
Automatisierte GUI Tests Ausführbaren Test erzeugen Ausführbaren Test generieren l Test Deployment = Test Artifacts x Test Location www. syngenio. de 30 Java Forum Stuttgart 2004
Automatisierte GUI Tests Testergebnisse analysieren Erfolgreicher Test www. syngenio. de 31 Java Forum Stuttgart 2004
Automatisierte GUI Tests Reportgenerierung l Zwei Standardreports (page response time, page hit rate) werden mitgeliefert l Eigene Erweiterungen möglich Page Response Time www. syngenio. de 32 Page Hit Rate Java Forum Stuttgart 2004
Hyades im Überblick Hyades Komponenten im Überblick l Interoperable Informationsmodelle l Data Collection Framework und Laufzeitumgebung l Test Tool Framework l Profiling Framework l Log und Trace Frameworks www. syngenio. de 33 Java Forum Stuttgart 2004
Profiling Ausgangslage: l Analyse von Performance und Ressourcenproblemen l Integriert in die Entwicklern bekannte Umgebung Features: l Verknüpfung verschiedener (graphischer) Analysesichten l Verknüpfung mit Source Code l Es können lokale und entfernte Systeme geprofiled werden (Nutzung der Agent Controller Architektur) l Realtime Profiling möglich www. syngenio. de 34 Java Forum Stuttgart 2004
Profiling UML Sequenz Diagramm Performancekritikalität Verknüpfung mit Sourcecode www. syngenio. de 35 Java Forum Stuttgart 2004
Profiling Coverage Statistik % abgedeckt missed hit www. syngenio. de 36 Java Forum Stuttgart 2004
Profiling Execution Workflow Zeitliche Abfolge Kumulierte Dauer www. syngenio. de 37 Java Forum Stuttgart 2004
Hyades im Überblick Hyades Komponenten im Überblick l Interoperable Informationsmodelle l Data Collection Framework und Laufzeitumgebung l Test Tool Framework l Profiling l Log und Trace Frameworks www. syngenio. de 38 Java Forum Stuttgart 2004
Log und Trace Analyse l Zielsetzung l Einheitliches Modell für Log- und Trace Events l Laufzeitmodell zur Konsolidierung und Korrelation von Log Events verteilter Systeme l Hilfsmittel l CBE bietet einheitliches Format für Log und Trace Events l Agent Controller als Laufzeitumgebung für die Event. Konsolidierung in verteilten Systemen www. syngenio. de 39 Java Forum Stuttgart 2004
Log und Trace Analyse Einheitliche Logging Infrastruktur (Generic Log Adapter) l Problem l l Kein applikationsübergreifendes Format für Logfiles Ansätze wie apache. commons. logging, JSR 147 Logging l Ansatz l l l CBE ist zentrales Informationsmodell Basis für weitere Verarbeitung Parser zur Transformation individuell zu erstellen l Vereinfachte Erstellung der CBE Daten Generic Log Adapter (GLA) l www. syngenio. de 40 Regelbasiert, reguläre Ausdrücke Java Forum Stuttgart 2004
Log und Trace Analyse Logfile Korrelation l Problem l l In verteilten Systemen sind die Logeinträge zusammenhängender Aktionen über viele Logfiles verteilt Webserver -, Web Container -, Appserver-Log, … l Lösung: Logfile Korrelation l l www. syngenio. de 41 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 Java Forum Stuttgart 2004
Log und Trace Analyse Symptom Database (1) l Problem l Aufbereitung der Information der Log Events für operative Todos l Lösung: Symptom Database l Knowledge Base für typische Event Konstellationen, XML-basiert l Erlaubt Formulierung einfacher Regeln auf der Basis der CBE Informationen www. syngenio. de 42 Java Forum Stuttgart 2004
Log und Trace Analyse Symptom Database (2) Ausgewählter Eintrag Analyse Ergebnis Symptom Beschreibung www. syngenio. de 43 Java Forum Stuttgart 2004
Tracing Probekit l l Probe. Beschreibung Probe compiler In XML. probe Instrumentierung von Java Programmen Generierung von Trace Informationen AOP Ansatz Proprietärer Ansatz Probe Java Source. java compile Probe Java class file. class +. probescript java Probe. Instrumenter. probescript *. class Byte Code Instrumentation Java Classes instrumentiert In Eclipse integriert Java Classes www. syngenio. de 44 Java Forum Stuttgart 2004
Hyades im Überblick Hyades Komponenten im Überblick l Interoperable Informationsmodelle l Data Collection Framework und Laufzeitumgebung l Test Tool Framework l Profiling l Log und Trace Frameworks www. syngenio. de 47 Java Forum Stuttgart 2004
Hyades im Überblick Architektur 48 Test Agent Control Interface Trace Collection Data Collection Distributed Data Collection Framework System Under Test Injection Data Loader Real Time Export XMI etc. www. syngenio. de Trace Statistical Profile Test EMF Information Models Testability Interface Correlation Eclipse Deployment Framework Test Engine Deployment Agent Reference Perspective and Workflow Distributed Test Control Framework Data Collection Interface Standard Widgets and Core Plugins Generator Test Management Trace Analysis and Profiling Runtime Monitoring Eclipse GUI Remote System Test Master Control Interface Eclipse Platform Log Collection Execution Environment JVMPI Monitor System Resource Monitor Java Forum Stuttgart 2004
Hyades - Agenda l Ausgangslage / Motivation l Hyades Komponenten im Überblick l Vergleich und Bewertung l Roadmap / Weitere Entwicklungen www. syngenio. de 49 Java Forum Stuttgart 2004
Vergleich und Bewertung Vergleich zu anderen Werkzeugen (1) l „Konkurrenz“ von Hyades l Tools von Compuware, Mercury, Segue, … l Open Source Projekte: JUnit*, JMeter, … l Vergleich Plattform mit Produkt unfair l Produkte müssen entwickelt werden! l Hyades liefert Beispiele mit aus l Gute formale Grundlage und Integrationsfähigkeit in Projektsituationen www. syngenio. de 50 Java Forum Stuttgart 2004
Vergleich und Bewertung Vergleich zu anderen Werkzeugen (2) Eclipse Hyades Andere Produkte l Einheitliches Framework l Historisch gewachsene oder zugekaufte Produktkomponenten l Offen und erweiterbar („extension points“) l Proprietäre APIs l Weitgehend Plattformunabhängig www. syngenio. de 51 Java Forum Stuttgart 2004
Vergleich und Bewertung Fazit: Einsatzfähigkeit im Projekt schon heute l Profiling: l Funktioniert gut, teilweise Probleme mit den Laufzeitkomponenten l Testing: l Ernsthafte fachliche Tests benötigen noch umfängliche Erweiterungen (im Vergleich zu JMeter) l Log und Trace Analyse l Basis für eine einheitliche Loginfrastruktur l Symptom/Resolution Management www. syngenio. de 52 Java Forum Stuttgart 2004
Hyades - Agenda l Ausgangslage / Motivation l Architektur l Hyades Komponenten im Überblick l Einsatzszenarien im Projekt l Vergleich und Bewertung l Roadmap / Weitere Informationen www. syngenio. de 53 Java Forum Stuttgart 2004
Roadmap Weiterentwicklung Hyades Q 3/04 V 3. 0. 1 l Bugfixes für 3. 0, Kollektoren, Dokumentation l Testmanagement Funktionen Q 4/04 V 3. 1 2005 V 4. 0 www. syngenio. de l Ant basierte Testausführungen l 64 bit Architekturen und Embedded Systems l UML 2 TP Support vervollständigen l Transformation von Trace zu Testfall l … 54 Java Forum Stuttgart 2004
Weitere Informationen l Eclipse Hyades Homepage http: //www. eclipse. org/hyades (s. auch dortige news groups und Mailinglisten) l OMG UML 2 Testing Profile http: //www. omg. org/docs/ptc/03 -08 -03. pdf l Common Base Event Specification 2. 1 (13. 10. 2003) http: //xml. coverpages. org/Common. Base. Event. Situation. Data V 210. pdf www. syngenio. de 55 Java Forum Stuttgart 2004
syngenio AG Axel Stollfuß axel. stollfuss@syngenio. de www. syngenio. de Badstrasse 9 70372 Stuttgart Tel. : 0711 / 4903 -400 E-Mail: info@syngenio. de


