Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "www.syngenio.de Hyades – Eclipse Framework für Testen, Monitoring und Profiling von Java Anwendungen Java Forum Stuttgart 01. Juli 2004 Axel Stollfuß"—  Präsentation transkript:

1

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

3 2 Forum Stuttgart 2004 Agenda lAusgangslage / Motivation lHyades Komponenten im Überblick lVergleich und Bewertung lRoadmap / Weitere Entwicklungen Hyades - Agenda

4 3 Forum Stuttgart 2004 Ausgangslage Software Qualität lUnterschiedliche Nutzer lEntwickler lFachliche Tester lPerformance-, Lasttester lBetrieb lhaben lihre eigenen Werkzeuge lmit getrennten Testmodellen Mangelnde Traceability und Redundanz Ausgangslage / Motivation

5 4 Forum Stuttgart 2004 Was ist Hyades? Projektvision lIntegrierte Test, Trace und Monitoring Plattform lWerkzeuge für Automated Software Quality (ASQ) lFunctional Testing lLoad Testing lUnit Testing lRuntime Analyse lEinheitliche Infrastruktur Plattform für lEntwicklung lTest lProduktion lEclipse basiert (Plugins und externe Laufzeitkomponenten) Ausgangslage / Motivation

6 5 Forum Stuttgart 2004 Wer steckt dahinter ? lBegonnen Ende 2002 von IBM, Scapa Technologies, Rational Software, Parasoft und Telelogic lBeteiligt an aktuellen Releases IBM, Scapa Technologies, SAP, Compuware und Intel lHyades als Basis für Produktentwicklungen Ausgangslage / Motivation

7 6 Forum Stuttgart 2004 Wo kommt der Begriff Hyades her ? lHyaden einer der größten sichtbaren Sternhaufen lWährend Sonnenfinsternis 1919 empirischer Beweis der Relativitätstheorie lAblenkung des Lichts der Hyaden durch Gravitationsfeld der Sonne gemessen Ausgangslage / Motivation

8 7 Forum Stuttgart 2004 Agenda lAusgangslage / Motivation lHyades Komponenten im Überblick lVergleich und Bewertung lRoadmap / Weitere Entwicklungen Hyades - Agenda

9 8 Forum Stuttgart 2004 Hyades Komponenten im Überblick Hyades im Überblick lInteroperable Informationsmodelle lData Collection Framework und Laufzeitumgebung lTest Tool Framework lProfiling Framework lLog und Trace Frameworks

10 9 Forum Stuttgart 2004 Zusammenspiel der Komponenten an einem praktischen Beispiel lAufzeichnen eines GUI-Tests lGenerierung der JUnit Klassen lAnpassung der JUnit Klassen durch Datapool Einbindung lMonitoring der Anwendung beim Ablaufen der Tests lAufzeichnen der Profiling Informationen lErweiterte Tracing Informationen durch Probekit lAdapter für Logfiles, die CBE Events generieren lKorrelation von Logfiles l(Realtime) Analyse der Logfiles, Verknüpfung mit der Symptom Datenbank Hyades im Überblick Testgewinnung- und Ablauf Datengewinnung Analyse

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

12 11 Forum Stuttgart 2004 Informationsmodelle lZentraler Bestandteil von Hyades lJede Komponente besitzt eigene Modelle lEclipse Modelling Framework (EMF) basiert lOffene Schnittstelle für Erweiterungen Informationsmodelle

13 12 Forum Stuttgart 2004 Informationsmodelle lPackages org.eclipse.hyades.models.* lcommon– UML2 Testing Profile u.a. lcbe– Common Base Events lhierarchy– Objekthierarchie lprobekit– Instrumentierung lsdb – Symptom Datenbank lstatistical– Auszuwertende Ereignisse ltrace– Tracing Informationsmodelle

14 13 Forum Stuttgart 2004 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 lTestprozess lTestmethode lTestalgorithmus UML2TP

15 14 Forum Stuttgart 2004 OMG UML2 Testing Profile lSpezifiziert miteinander agierende Objekte für lTestarchitektur lTestverhalten lTestdaten lSpezifikation als Meta-Modell (MOF) lMittels EMF in Hyades implementiert (Ziel !) UML2TP

16 15 Forum Stuttgart 2004 UML2 TP Meta-Model (Ausschnitt) UML2TP

17 16 Forum Stuttgart 2004 Common Base Events (CBE) lDefiniert Struktur von Ereignissen lZiel: Konsistenz und Vollständigkeit lAusgerichtet auf lLogging lManagement lProblemerkennung leBusiness lZiel: Neuer Standard (initiiert von IBM) Common Base Events

18 17 Forum Stuttgart 2004 Vereinheitlichung durch CBE lZeitformat lRechnername lKomponentenname lGruppierung von Events lReihenfolge der Events lZuordnung in verteilten Applikationen Common Base Events

19 18 Forum Stuttgart 2004 Aufbau von Common Base Events lBasis ist 3-Tupel lBerichtende Komponente lBetroffene Komponente lSituation lBeispiel: l[JBoss, Webapp A, DB Anbindung unterbrochen] lModellierung komplexer Eventstrukturen möglich Common Base Events

20 19 Forum Stuttgart 2004 Eigenschaften von CBE lIn XML spezifiziert lEventtransport über SOAP möglich lAbbildung von JMX, SNMP, CIM, Webserver logs zu CBE möglich lErweiterbar durch produktspezifische lAttribute lSchemata lz.B. für Web Application Server, Betriebssysteme, …. Common Base Events

21 20 Forum Stuttgart 2004 Darstellung von CBE in Eclipse Common Base Event Common Base Events

22 21 Forum Stuttgart 2004 Hyades Komponenten im Überblick Hyades im Überblick lInteroperable Informationsmodelle lData Collection Framework und Laufzeitumgebung lTest Tool Framework lProfiling lLog und Trace Frameworks

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

24 23 Forum Stuttgart 2004 Agent Lifecycle Agent Controller 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

25 24 Forum Stuttgart 2004 Interaktion Agenten mit dem Agent Controller Agent Controller lStarten des Tomcat mit -XrunpiAgent:server=enabled lDer Agent wird in der JVM gestartet und connected sich an den Agent Controller Zustand registriert lTest Client Eclipse attached an den registrierten Agenten Zustand attached lEtablierung des Data Channels für den Kommunikationsfluss zwischen Agent Controller und Eclipse Plugin Agent Controller Logfile

26 25 Forum Stuttgart 2004 Hyades Komponenten im Überblick Hyades im Überblick lInteroperable Informationsmodelle lData Collection Framework und Laufzeitumgebung lTest Tool Framework lProfiling lLog und Trace Frameworks

27 26 Forum Stuttgart 2004 Von der Testaufzeichnung zu ausführbaren Tests Automatisierte GUI 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

28 27 Forum Stuttgart 2004 Testrecording als Basis für Tests Automatisierte GUI Tests Aufzeichnen des Tests lEclipse Wizard für HTTP(s) Recording lNutzt interne Internet Explorer Schnittstelle

29 28 Forum Stuttgart 2004 URL Testsuite Automatisierte GUI Tests Aufzeichnen des Tests Die aufgezeichneten Requests Request Infos Think Times SSL Support Header änderbar

30 29 Forum Stuttgart 2004 Generierung Junit Klassen Automatisierte GUI Tests Testklassengenerierung lAus aufgezeichneten Tests werden JUnit Klassen generiert lanschließende Anpassung möglich lIntegration von Datapools für variable Testdaten Analog zu den aufgezeichneten Tests Einstiegspunkt für individuelle Erweiterungen

31 30 Forum Stuttgart 2004 Ausführbaren Test generieren Automatisierte GUI Tests Ausführbaren Test erzeugen lTest Deployment = Test Artifacts x Test Location

32 31 Forum Stuttgart 2004 Testergebnisse analysieren Automatisierte GUI Tests Testergebnisse analysieren Erfolgreicher Test

33 32 Forum Stuttgart 2004 Reportgenerierung Automatisierte GUI Tests Reportgenerierung Page Hit RatePage Response Time lZwei Standardreports (page response time, page hit rate) werden mitgeliefert lEigene Erweiterungen möglich

34 33 Forum Stuttgart 2004 Hyades Komponenten im Überblick Hyades im Überblick lInteroperable Informationsmodelle lData Collection Framework und Laufzeitumgebung lTest Tool Framework lProfiling Framework lLog und Trace Frameworks

35 34 Forum Stuttgart 2004 Profiling Ausgangslage: lAnalyse von Performance und Ressourcenproblemen lIntegriert in die Entwicklern bekannte Umgebung Features: lVerknüpfung verschiedener (graphischer) Analysesichten lVerknüpfung mit Source Code lEs können lokale und entfernte Systeme geprofiled werden (Nutzung der Agent Controller Architektur) lRealtime Profiling möglich Profiling

36 35 Forum Stuttgart 2004 UML Sequenz Diagramm Profiling Performance- kritikalität Verknüpfung mit Sourcecode

37 36 Forum Stuttgart 2004 Coverage Statistik Profiling missed hit % abgedeckt

38 37 Forum Stuttgart 2004 Execution Workflow Profiling Zeitliche Abfolge Kumulierte Dauer

39 38 Forum Stuttgart 2004 Hyades Komponenten im Überblick Hyades im Überblick lInteroperable Informationsmodelle lData Collection Framework und Laufzeitumgebung lTest Tool Framework lProfiling lLog und Trace Frameworks

40 39 Forum Stuttgart 2004 Log und Trace Analyse lZielsetzung lEinheitliches Modell für Log- und Trace Events lLaufzeitmodell zur Konsolidierung und Korrelation von Log Events verteilter Systeme lHilfsmittel lCBE bietet einheitliches Format für Log und Trace Events lAgent Controller als Laufzeitumgebung für die Event- Konsolidierung in verteilten Systemen Log und Trace Analyse

41 40 Forum Stuttgart 2004 Einheitliche Logging Infrastruktur (Generic Log Adapter) lProblem lKein applikationsübergreifendes Format für Logfiles lAnsätze wie apache.commons.logging, JSR 147 Logging lAnsatz lCBE ist zentrales Informationsmodell lBasis für weitere Verarbeitung lParser zur Transformation individuell zu erstellen lVereinfachte Erstellung der CBE Daten Generic Log Adapter (GLA) lRegelbasiert, reguläre Ausdrücke Log und Trace Analyse

42 41 Forum Stuttgart 2004 Logfile Korrelation lProblem lIn verteilten Systemen sind die Logeinträge zusammenhängender Aktionen über viele Logfiles verteilt lWebserver -, Web Container -, Appserver-Log, … lLösung: Logfile Korrelation lTraceability von Events über verteilte Logfiles hinweg lKorrelation kann Timestamp, Session ID, etc. sein lMöglichkeit, eigene Logfile Korrelationen zu erstellen lKann sehr zeitaufwendig werden Log und Trace Analyse

43 42 Forum Stuttgart 2004 Symptom Database (1) lProblem lAufbereitung der Information der Log Events für operative Todos lLösung: Symptom Database lKnowledge Base für typische Event Konstellationen, XML-basiert lErlaubt Formulierung einfacher Regeln auf der Basis der CBE Informationen Log und Trace Analyse

44 43 Forum Stuttgart 2004 Symptom Database (2) Log und Trace Analyse Ausgewählter Eintrag Analyse Ergebnis Symptom Beschreibung

45 44 Forum Stuttgart 2004 Probekit lInstrumentierung von Java Programmen lGenerierung von Trace Informationen lAOP Ansatz lProprietärer Ansatz Tracing Probe- Beschreibung In XML.probe Probe Java Source.java Probe compiler Java Classes Probe Java class file.class +.probescript Byte Code Instrumentation Java Classes instrumentiert compile In Eclipse integriert java ProbeInstrumenter.probescript *.class

46 45 Forum Stuttgart 2004 Probekit Beispiel (1) static public int entry_counter = 0; if ((entry_counter % 10) == 0) System.out.println("Counter value " + entry_counter + " at a call to " + _class + "." + _method); entry_counter++; Tracing Probekit enthält die einzelnen Probes fragmentAtClassScope: Klassen Member Folgendes Codefragment wird bei Methodeneinstieg durchlaufen enthält die Typdeklarationen enthält den auszuführenden Code

47 46 Forum Stuttgart 2004 Probekit Beispiel (2) static public int entry_counter = 0; if ((entry_counter % 10) == 0) System.out.println("Counter value " + entry_counter + " at a call to " + _class + "." + _method); entry_counter++; Tracing // 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/Objec t;)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

48 47 Forum Stuttgart 2004 Hyades Komponenten im Überblick Hyades im Überblick lInteroperable Informationsmodelle lData Collection Framework und Laufzeitumgebung lTest Tool Framework lProfiling lLog und Trace Frameworks

49 48 Forum Stuttgart 2004 Eclipse Platform Eclipse GUI Runtime Monitoring Trace Analysis and Profiling Test Management Standard Widgets and Core Plugins Reference Perspective and Workflow EMF Information Models TestTrace 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 Hyades im Überblick Architektur

50 49 Forum Stuttgart 2004 Agenda lAusgangslage / Motivation lHyades Komponenten im Überblick lVergleich und Bewertung lRoadmap / Weitere Entwicklungen Hyades - Agenda

51 50 Forum Stuttgart 2004 Vergleich zu anderen Werkzeugen (1) lKonkurrenz von Hyades lTools von Compuware, Mercury, Segue, … lOpen Source Projekte: JUnit*, JMeter, … lVergleich Plattform mit Produkt unfair lProdukte müssen entwickelt werden! lHyades liefert Beispiele mit aus lGute formale Grundlage und Integrationsfähigkeit in Projektsituationen Vergleich und Bewertung

52 51 Forum Stuttgart 2004 Vergleich zu anderen Werkzeugen (2) Eclipse Hyades lEinheitliches Framework lOffen und erweiterbar (extension points) lWeitgehend Plattformunabhängig Andere Produkte lHistorisch gewachsene oder zugekaufte Produktkomponenten lProprietäre APIs Vergleich und Bewertung

53 52 Forum Stuttgart 2004 Fazit: Einsatzfähigkeit im Projekt schon heute lProfiling: lFunktioniert gut, teilweise Probleme mit den Laufzeitkomponenten lTesting: lErnsthafte fachliche Tests benötigen noch umfängliche Erweiterungen (im Vergleich zu JMeter) lLog und Trace Analyse lBasis für eine einheitliche Loginfrastruktur lSymptom/Resolution Management Vergleich und Bewertung

54 53 Forum Stuttgart 2004 Agenda lAusgangslage / Motivation lArchitektur lHyades Komponenten im Überblick lEinsatzszenarien im Projekt lVergleich und Bewertung lRoadmap / Weitere Informationen Hyades - Agenda

55 54 Forum Stuttgart 2004 Weiterentwicklung Hyades lBugfixes für 3.0, Kollektoren, Dokumentation lTestmanagement Funktionen lAnt basierte Testausführungen l64bit Architekturen und Embedded Systems lUML2TP Support vervollständigen lTransformation von Trace zu Testfall l… Roadmap Q3/04 V Q4/04 V V 4.0

56 55 Forum Stuttgart 2004 Weitere Informationen lEclipse Hyades Homepage (s. auch dortige news groups und Mailinglisten) lOMG UML2 Testing Profile lCommon Base Event Specification 2.1 ( ) V210.pdf V210.pdf

57 syngenio AG Badstrasse Stuttgart Tel.: 0711 / Axel Stollfuß


Herunterladen ppt "www.syngenio.de Hyades – Eclipse Framework für Testen, Monitoring und Profiling von Java Anwendungen Java Forum Stuttgart 01. Juli 2004 Axel Stollfuß"

Ähnliche Präsentationen


Google-Anzeigen