Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen

Ähnliche Dokumente
Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 7. Februar 2013

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 11. Februar 2015

MDA-Praktikum, Einführung

Potentiale modellgetriebener Softwareentwicklung

Model-Driven Software Engineering (HS 2011)

Modellgetriebene Entwicklung eingebetteter Systeme mit Eclipse

Diplomarbeit. Fakultät für Mathematik, Informatik und Naturwissenschaften Research Group Software Construction

Kontextbasierte Auflösung von Mehrdeutigkeiten beim iterativen Entwurf von Benutzungsschnittstellen

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Model Driven Development im Überblick

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Softwareentwicklung mit Enterprise JAVA Beans

Vortrag von: Ilias Agorakis & Robert Roginer

Enterprise JavaBeans Überblick

SEA. Modellgetriebene Softwareentwicklung in der BA

Model Driven Architecture

Rechnernetze Projekt SS 2015

Eclipse Modeling Framework

Aus EAI wird SOA: Integration mit Forms und ADF. pdv TAS. Torsten von Osten, Sven Tissot pdv Technische Automation + Systeme GmbH Hamburg

Ausarbeitung Referat zur MDA

Einführung in das Eclipse Modeling Framework (EMF)

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme

Einführung in das Eclipse Modeling Framework (EMF)

Enterprise Java Beans Einführung

Programmierung von Client/Server- Anwendungen

Model Driven Architecture (MDA)

Automatisierter Java EE Entwicklungs-Lifecycle mit WebLogic Server 12c. Robin Müller-Bady Systemberater, Oracle Deutschland

JAX-RS 2.0 REST mit Java EE 7

Spring Dynamic Modules for OSGi Service Platforms

Codegenerierung mit Xtend. 21. Januar 2015

Objektorientierte Systementwicklung

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

<Insert Picture Here> Oracle Forms Roadmap in Richtung SOA

Rapid Java wie mit Forms

Naked-FHIR. Code-Generierung auf Basis von HL7 FHIR Andreas Schuler, MSc. Textmasterformate durch Klicken bearbeiten

Persistenz. Ralf Gitzel

Model Driven Architecture Praxisbeispiel

Model-View-Controller

Einfach generieren. Susanne Klar, Michael Klar. Generative Programmierung verständlich und praxisnah ISBN Inhaltsverzeichnis

NOKIS Stand des Projekts

<Insert Picture Here> Generierung von ADF-Applikationen aus Metadaten des Oracle Designer

COPE COuPled Evolution of metamodels and models

MDRE die nächste Generation des Requirements Engineerings

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG

Spring Dynamic Modules for OSGi Service Platforms

Ein Design Tool für objektorientierte portable Programmierschnittstellen

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

2 Softwarearchitektur in der Organisationsstruktur 25

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.

WiederverwendbareGeneratorkomponenten in heterogenen Projektumfeldern

Model Driven Architecture

JBoss Seam. Ein JEE 5 Webframework. Jörg Wüthrich Infopoint, 4. Februar 2009

Lehrplan: Architektur und Design. paluno

Programmierung von Java- Webanwendungen. paluno

HAGEN KLATT. Geburtsjahr 1989 Profil-Stand Juni Triona Information und Technologie GmbH Dekan-Laist-Straße 15a Mainz

Software Design basierend auf dem Plug-In Konzept

business.people.technology.

Thomas Freitag achelos GmbH SmartCard-Workshop achelos GmbH

Wiederverwendung von Transformationen

Eclipse und EclipseLink

Generischer Modellvergleich mit EMF Compare

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Modell zur Einflussanalyse Ein Modell zur Einflussanalyse von Methodenänderungen in Entwicklungsprozessen

Best Practices für flexible und wartbare Codegeneratoren mit openarchitectureware Karsten Thoms Software Architekt

Modellgetriebene Softwareentwicklung

SECTINO. Security for Inter-Organizational Workflows

SAP NetWeaver Gateway. 2013

Einführung in das Eclipse Modeling Framework (EMF)

Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen

Entwicklung von domänenspezifischen Sprachen. 23. Januar 2013

Anleitung zur Integration der /data.mill API in SAP Java Applikationen

Java 2, Enterprise Edition Einführung und Überblick

DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.

Build-Pipeline mit Jenkins

Oracle JDeveloper 10 g

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization

FH LU JEE Vorlesung SS Ralf Gitzel

Kernprozess zur System- und Softwareentwicklung. Logische Systemarchitektur f 1. f 2 f 3. f 4 Funktion. Technische Systemarchitektur SG 1 SG 2 SG 3

MDA auf der Grundlage der OMG Konzepte

Validation und Quick Fixing mit Xtend. 3. Dezember 2014

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

THOMAS WEHRSPANN. Diplom Wirtschaftsinformatiker Scrum Master. Geburtsjahr 1978 Profil-Stand Oktober 2016

6 Zusammenschaltung von Web-Services

SWE1 - Übung 1 Projektbeschreibung: Chat

J2EE mit Eclipse 3 und JBoss

Application Frameworks

Enterprise JavaBeans Überblick

Vom Geschäftsmodell zum Code Komponentenbasierte Entwicklung auf Basis der Model Driven Architecture

Security Technologien in Java EE 6

Henshin: Modelltransformationen in EMF. Dr. Thorsten Arendt Marburg, 29. Oktober 2015

Transkript:

1 / 30 Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen Zwischenvortrag zur Diplomarbeit Steffen Conrad (235183) Research Group Software Construction RWTH Aachen 30.11.2011

2 / 30 Übersicht 1 Grundlagen 2 Rückblick: Analysephase 3 Entwurfsphase 4 Ausblick: Implementierung

GRUNDLAGEN 3 / 30

4 / 30 modellbasierte vs. modellgetriebene Entwicklung modellbasierte Softwareentwicklung (einmalige) Modellierung und Generierung Restimplementierung im Code modellgetriebene Softwareentwicklung iterative Entwicklung der Modelle wiederholte Codegenerierung Codeanpassungen geringer Anteil Ziel: klare Trennung, z.b. Interfaces generiert, Inhalt manuell

4 / 30 modellbasierte vs. modellgetriebene Entwicklung modellbasierte Softwareentwicklung (einmalige) Modellierung und Generierung Restimplementierung im Code modellgetriebene Softwareentwicklung iterative Entwicklung der Modelle wiederholte Codegenerierung Codeanpassungen geringer Anteil Ziel: klare Trennung, z.b. Interfaces generiert, Inhalt manuell

5 / 30 MDA Model Driven Architecture CIM PIM PSM Architecture Metamodel Transformation Description Model Platform Description Model MDA: Anwendung von Architekturmustern über Meta-Modelle und Modelltransformationen CIM: Domänenmodell PIM: formale Beschreibung der Struktur und Funktionalität des Systems PSM: Anreicherung um plattform-abhängige Informationen Modell Code Modell- Transformation V. Gruhn, D. Pieper, C. Röttgers: MDA, Springer, 2006

5 / 30 MDA Model Driven Architecture CIM PIM PSM Architecture Metamodel Transformation Description Model Platform Description Model MDA: Anwendung von Architekturmustern über Meta-Modelle und Modelltransformationen CIM: Domänenmodell PIM: formale Beschreibung der Struktur und Funktionalität des Systems PSM: Anreicherung um plattform-abhängige Informationen Modell Code Modell- Transformation V. Gruhn, D. Pieper, C. Röttgers: MDA, Springer, 2006

6 / 30 EJB-Generator Übersicht Meta-Modelle und Transformationen Modelle Code Laufzeit

7 / 30 MDA beim EJB-Generator I Generatormodel Modell Modell- Transformation Entitymodel EJB- Generatormodel Domain-Code PIM PSM JSF-Code Generatormodell: Domäne Entitymodell: Persistenzinformationen EJB-Generatormodell: EJB-Kontext, EJB-Persistenz EJB-Modell: DAO, Management, Controller, Fassade EJB-Model EJB-Code

7 / 30 MDA beim EJB-Generator I Generatormodel Modell Modell- Transformation Entitymodel EJB- Generatormodel Domain-Code PIM PSM JSF-Code Generatormodell: Domäne Entitymodell: Persistenzinformationen EJB-Generatormodell: EJB-Kontext, EJB-Persistenz EJB-Modell: DAO, Management, Controller, Fassade EJB-Model EJB-Code

7 / 30 MDA beim EJB-Generator I Generatormodel Modell Modell- Transformation Entitymodel EJB- Generatormodel Domain-Code PIM PSM JSF-Code Generatormodell: Domäne Entitymodell: Persistenzinformationen EJB-Generatormodell: EJB-Kontext, EJB-Persistenz EJB-Modell: DAO, Management, Controller, Fassade EJB-Model EJB-Code

7 / 30 MDA beim EJB-Generator I Generatormodel Modell Modell- Transformation Entitymodel EJB- Generatormodel Domain-Code PIM PSM JSF-Code Generatormodell: Domäne Entitymodell: Persistenzinformationen EJB-Generatormodell: EJB-Kontext, EJB-Persistenz EJB-Modell: DAO, Management, Controller, Fassade EJB-Model EJB-Code

8 / 30 MDA beim EJB-Generator II Browser EJB Application Server JSP Application Facade Entity Manager Action Handler Controller Actions Management Entities Database Client-Schicht Geschäftsschicht Datenschicht Kontrollfluss T. Löwenthal: Generierung von web-basierten Prototypen für Geschäftsanwendungen, RWTH Aachen, 2011

9 / 30 Begriffe Informationssystem Ein Informationssystem dient der rechnergestützten Erfassung, Speicherung, Verarbeitung, Pflege, Analyse, Benutzung, Verbreitung, Disposition, Übertragung und Anzeige von Informationen bzw. Daten. Integrationstesten Testen, bei dem Soft- und/oder Hardwarekomponenten kombiniert und getestet werden, um die Interaktion zwischen ihnen zu evaluieren. (nach IEEE 610.12) Facade-Entwurfsmuster Eine Facade bietet eine einheitliche Schnittstelle zu einer Menge von Schnittstellen eines Subsystems.

9 / 30 Begriffe Informationssystem Ein Informationssystem dient der rechnergestützten Erfassung, Speicherung, Verarbeitung, Pflege, Analyse, Benutzung, Verbreitung, Disposition, Übertragung und Anzeige von Informationen bzw. Daten. Integrationstesten Testen, bei dem Soft- und/oder Hardwarekomponenten kombiniert und getestet werden, um die Interaktion zwischen ihnen zu evaluieren. (nach IEEE 610.12) Facade-Entwurfsmuster Eine Facade bietet eine einheitliche Schnittstelle zu einer Menge von Schnittstellen eines Subsystems.

9 / 30 Begriffe Informationssystem Ein Informationssystem dient der rechnergestützten Erfassung, Speicherung, Verarbeitung, Pflege, Analyse, Benutzung, Verbreitung, Disposition, Übertragung und Anzeige von Informationen bzw. Daten. Integrationstesten Testen, bei dem Soft- und/oder Hardwarekomponenten kombiniert und getestet werden, um die Interaktion zwischen ihnen zu evaluieren. (nach IEEE 610.12) Facade-Entwurfsmuster Eine Facade bietet eine einheitliche Schnittstelle zu einer Menge von Schnittstellen eines Subsystems.

10 / 30 Ziele der Diplomarbeit Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen Analyse der Möglichkeiten zur Integrationstestgenerierung Implementierung Generator für Integrationstests abschließende Evaluierung des Generatoransatzes mögliche Erweiterungen: abstraktes, wiederverwendbares Testmodell

ANALYSE 11 / 30

12 / 30 Integrationstests beim EJB-Generator Test: Interaktion von Geschäfts- und Datenschicht über Facade Client EJB Application Server HtmlUnit Application Facade Entity Manager Test-Servlet (EJB) Controller Management Entities Database Client-Schicht Geschäftsschicht Datenschicht Kontrollfluss

13 / 30 Entwicklungsansatz Wiederverwendung der EJB-Generatortechnologien Bottom-Up-Design 1 manuelle Implementierung der Testprototypen 2 Test-Modell Ableitung von Anforderungen aus Prototypen Implementierung des Codegenerators 3 Test-Templates Ableitung von Test-Templates aus Prototypen Implementierung der Transformationen ins Test-Modell

13 / 30 Entwicklungsansatz Wiederverwendung der EJB-Generatortechnologien Bottom-Up-Design 1 manuelle Implementierung der Testprototypen 2 Test-Modell Ableitung von Anforderungen aus Prototypen Implementierung des Codegenerators 3 Test-Templates Ableitung von Test-Templates aus Prototypen Implementierung der Transformationen ins Test-Modell

13 / 30 Entwicklungsansatz Wiederverwendung der EJB-Generatortechnologien Bottom-Up-Design 1 manuelle Implementierung der Testprototypen 2 Test-Modell Ableitung von Anforderungen aus Prototypen Implementierung des Codegenerators 3 Test-Templates Ableitung von Test-Templates aus Prototypen Implementierung der Transformationen ins Test-Modell

13 / 30 Entwicklungsansatz Wiederverwendung der EJB-Generatortechnologien Bottom-Up-Design 1 manuelle Implementierung der Testprototypen 2 Test-Modell Ableitung von Anforderungen aus Prototypen Implementierung des Codegenerators 3 Test-Templates Ableitung von Test-Templates aus Prototypen Implementierung der Transformationen ins Test-Modell

13 / 30 Entwicklungsansatz Wiederverwendung der EJB-Generatortechnologien Bottom-Up-Design 1 manuelle Implementierung der Testprototypen 2 Test-Modell Ableitung von Anforderungen aus Prototypen Implementierung des Codegenerators 3 Test-Templates Ableitung von Test-Templates aus Prototypen Implementierung der Transformationen ins Test-Modell

Test-Prototyp 14 / 30

15 / 30 Test-Prototyp Initialisierung Szenario-Setup Setup Action Szenario-Ausgaben Check Asserts

16 / 30 Ergebnisse des Test-Prototyps Teststruktur 1 Setup Initialisierung Szenario-Setup: Aufbau über Facade-Aufrufe 2 Action: Facade-Aufruf 3 Check Szenario-Ausgaben: Zugriff über Facade-Aufrufe und Domänenmodell Assertions 4 Cleanup

17 / 30 Ergebnisse des Test-Prototyps Templates Test-Templates für Facade-Methoden Templatetyp über Semantik Create Retrieve Update Delete... in Entwicklung Spezialfall: Exception-Tests

17 / 30 Ergebnisse des Test-Prototyps Templates Test-Templates für Facade-Methoden Templatetyp über Semantik Create Retrieve Update Delete... in Entwicklung Spezialfall: Exception-Tests

17 / 30 Ergebnisse des Test-Prototyps Templates Test-Templates für Facade-Methoden Templatetyp über Semantik Create Retrieve Update Delete... in Entwicklung Spezialfall: Exception-Tests

Code-Templates 18 / 30

ENTWURF 19 / 30

Test-Modell 20 / 30

21 / 30 Test-Modell??

22 / 30 Test-Facade abstrakte Facade für beliebiges System Under Test Abbildung Methoden Parameter Typen Idee: eigene Facade für Domänen-Klassen Zugriff auf Domänenobjekte für Szenario-Ausgaben nötig Integrationstests EJB-Modell-Facade = System Under Test optional: Facade-Mapping-Modell für Integrationstests Test-Modell als PIM!

22 / 30 Test-Facade abstrakte Facade für beliebiges System Under Test Abbildung Methoden Parameter Typen Idee: eigene Facade für Domänen-Klassen Zugriff auf Domänenobjekte für Szenario-Ausgaben nötig Integrationstests EJB-Modell-Facade = System Under Test optional: Facade-Mapping-Modell für Integrationstests Test-Modell als PIM!

22 / 30 Test-Facade abstrakte Facade für beliebiges System Under Test Abbildung Methoden Parameter Typen Idee: eigene Facade für Domänen-Klassen Zugriff auf Domänenobjekte für Szenario-Ausgaben nötig Integrationstests EJB-Modell-Facade = System Under Test optional: Facade-Mapping-Modell für Integrationstests Test-Modell als PIM!

22 / 30 Test-Facade abstrakte Facade für beliebiges System Under Test Abbildung Methoden Parameter Typen Idee: eigene Facade für Domänen-Klassen Zugriff auf Domänenobjekte für Szenario-Ausgaben nötig Integrationstests EJB-Modell-Facade = System Under Test optional: Facade-Mapping-Modell für Integrationstests Test-Modell als PIM!

22 / 30 Test-Facade abstrakte Facade für beliebiges System Under Test Abbildung Methoden Parameter Typen Idee: eigene Facade für Domänen-Klassen Zugriff auf Domänenobjekte für Szenario-Ausgaben nötig Integrationstests EJB-Modell-Facade = System Under Test optional: Facade-Mapping-Modell für Integrationstests Test-Modell als PIM!

23 / 30 Integrationtest-Generator-Modell Annotationen der Facade-Methoden im EJB-Modell Create Retrieve Update Delete... Auswahl von Test-Templates für einzelne Facade-Methoden anhand Annotation Anwendung der Templates bei Transformation ins Test-Modell

23 / 30 Integrationtest-Generator-Modell Annotationen der Facade-Methoden im EJB-Modell Create Retrieve Update Delete... Auswahl von Test-Templates für einzelne Facade-Methoden anhand Annotation Anwendung der Templates bei Transformation ins Test-Modell

23 / 30 Integrationtest-Generator-Modell Annotationen der Facade-Methoden im EJB-Modell Create Retrieve Update Delete... Auswahl von Test-Templates für einzelne Facade-Methoden anhand Annotation Anwendung der Templates bei Transformation ins Test-Modell

24 / 30 Entwurf Übersicht EJB-Model Integrationtest- Generator-Model Test-Model Facade- Mapping-Model EJB-Modell: Facade, Annotationen Integrationtest-Generator-Modell: Test-Templateauswahl Test-Modell: Facade, Teststruktur Facade-Mapping-Modell: Facade-Abstraktion Modell Test-Code Modelltransformation Modellverwendung

24 / 30 Entwurf Übersicht EJB-Model Integrationtest- Generator-Model Test-Model Facade- Mapping-Model EJB-Modell: Facade, Annotationen Integrationtest-Generator-Modell: Test-Templateauswahl Test-Modell: Facade, Teststruktur Facade-Mapping-Modell: Facade-Abstraktion Modell Test-Code Modelltransformation Modellverwendung

24 / 30 Entwurf Übersicht EJB-Model Integrationtest- Generator-Model Test-Model Facade- Mapping-Model EJB-Modell: Facade, Annotationen Integrationtest-Generator-Modell: Test-Templateauswahl Test-Modell: Facade, Teststruktur Facade-Mapping-Modell: Facade-Abstraktion Modell Test-Code Modelltransformation Modellverwendung

24 / 30 Entwurf Übersicht EJB-Model Integrationtest- Generator-Model Test-Model Facade- Mapping-Model EJB-Modell: Facade, Annotationen Integrationtest-Generator-Modell: Test-Templateauswahl Test-Modell: Facade, Teststruktur Facade-Mapping-Modell: Facade-Abstraktion Modell Test-Code Modelltransformation Modellverwendung

AUSBLICK 25 / 30

26 / 30 Implementierung prototypische Implementierung des gesamten Prozesses 1 Test-Modell + Codegenerator 2 Facade-Mapping 3 Integrationtest-Generator-Modell + Templates iterative Erweiterung um neue Test-Templates Fokus auf den Ansatz, volle Abstraktion (noch) nicht oberstes Ziel

26 / 30 Implementierung prototypische Implementierung des gesamten Prozesses 1 Test-Modell + Codegenerator 2 Facade-Mapping 3 Integrationtest-Generator-Modell + Templates iterative Erweiterung um neue Test-Templates Fokus auf den Ansatz, volle Abstraktion (noch) nicht oberstes Ziel

26 / 30 Implementierung prototypische Implementierung des gesamten Prozesses 1 Test-Modell + Codegenerator 2 Facade-Mapping 3 Integrationtest-Generator-Modell + Templates iterative Erweiterung um neue Test-Templates Fokus auf den Ansatz, volle Abstraktion (noch) nicht oberstes Ziel

27 / 30 Entwicklung: Infrastruktur Eclipse EMF Modelle Maven Build Xpand/Xtend Transformationen/Codegenerierung JUnit/HtmlUnit Tests, Testauswertung Cargo Deployment via Maven Enterprise Java Beans Glassfish Application Server Hudson Continuous Integration Server

27 / 30 Entwicklung: Infrastruktur Eclipse EMF Modelle Maven Build Xpand/Xtend Transformationen/Codegenerierung JUnit/HtmlUnit Tests, Testauswertung Cargo Deployment via Maven Enterprise Java Beans Glassfish Application Server Hudson Continuous Integration Server

27 / 30 Entwicklung: Infrastruktur Eclipse EMF Modelle Maven Build Xpand/Xtend Transformationen/Codegenerierung JUnit/HtmlUnit Tests, Testauswertung Cargo Deployment via Maven Enterprise Java Beans Glassfish Application Server Hudson Continuous Integration Server

27 / 30 Entwicklung: Infrastruktur Eclipse EMF Modelle Maven Build Xpand/Xtend Transformationen/Codegenerierung JUnit/HtmlUnit Tests, Testauswertung Cargo Deployment via Maven Enterprise Java Beans Glassfish Application Server Hudson Continuous Integration Server

28 / 30 Risiken hoher Einarbeitungsaufwand Eclipse-Plattform Vielzahl an verwendeten Technologien komplexe Integration Vielzahl an Projekten agile Modelle durch nebenläufige Projekte jeweils eigene Anforderungen und Ziele Modelle unterliegen stetigen Anpassungen sich wiederholender Integrationsaufwand

28 / 30 Risiken hoher Einarbeitungsaufwand Eclipse-Plattform Vielzahl an verwendeten Technologien komplexe Integration Vielzahl an Projekten agile Modelle durch nebenläufige Projekte jeweils eigene Anforderungen und Ziele Modelle unterliegen stetigen Anpassungen sich wiederholender Integrationsaufwand

28 / 30 Risiken hoher Einarbeitungsaufwand Eclipse-Plattform Vielzahl an verwendeten Technologien komplexe Integration Vielzahl an Projekten agile Modelle durch nebenläufige Projekte jeweils eigene Anforderungen und Ziele Modelle unterliegen stetigen Anpassungen sich wiederholender Integrationsaufwand

29 / 30 Projekt-Interaktionen Integrationstests Systemtests basierend auf HtmlUnit und JSF-Interface Testmodell wiederverwendbar! andere Testschnittstelle, Abbildung über Facade-Mapping-Modell Klicks Formulare Navigation über mehrere Seiten EJB-Generator: Erweiterung der Assoziationen Kompositionen, Kardinalitäten Spezialisierung/Generalisierung Generator JSF-Interface

29 / 30 Projekt-Interaktionen Integrationstests Systemtests basierend auf HtmlUnit und JSF-Interface Testmodell wiederverwendbar! andere Testschnittstelle, Abbildung über Facade-Mapping-Modell Klicks Formulare Navigation über mehrere Seiten EJB-Generator: Erweiterung der Assoziationen Kompositionen, Kardinalitäten Spezialisierung/Generalisierung Generator JSF-Interface

29 / 30 Projekt-Interaktionen Integrationstests Systemtests basierend auf HtmlUnit und JSF-Interface Testmodell wiederverwendbar! andere Testschnittstelle, Abbildung über Facade-Mapping-Modell Klicks Formulare Navigation über mehrere Seiten EJB-Generator: Erweiterung der Assoziationen Kompositionen, Kardinalitäten Spezialisierung/Generalisierung Generator JSF-Interface

29 / 30 Projekt-Interaktionen Integrationstests Systemtests basierend auf HtmlUnit und JSF-Interface Testmodell wiederverwendbar! andere Testschnittstelle, Abbildung über Facade-Mapping-Modell Klicks Formulare Navigation über mehrere Seiten EJB-Generator: Erweiterung der Assoziationen Kompositionen, Kardinalitäten Spezialisierung/Generalisierung Generator JSF-Interface

30 / 30 Zusammenfassung Ansatz 1: einheitliche Teststruktur Ansatz 2: template-getriebene Testgenerierung über Facade-Annotationen Ziel: abstraktes, wiederverwendbares Test-Modell trotz erheblicher Unterschiede der Testinfrastruktur! Vielen Dank für die Aufmerksamkeit!

30 / 30 Zusammenfassung Ansatz 1: einheitliche Teststruktur Ansatz 2: template-getriebene Testgenerierung über Facade-Annotationen Ziel: abstraktes, wiederverwendbares Test-Modell trotz erheblicher Unterschiede der Testinfrastruktur! Vielen Dank für die Aufmerksamkeit!

30 / 30 Zusammenfassung Ansatz 1: einheitliche Teststruktur Ansatz 2: template-getriebene Testgenerierung über Facade-Annotationen Ziel: abstraktes, wiederverwendbares Test-Modell trotz erheblicher Unterschiede der Testinfrastruktur! Vielen Dank für die Aufmerksamkeit!

30 / 30 Zusammenfassung Ansatz 1: einheitliche Teststruktur Ansatz 2: template-getriebene Testgenerierung über Facade-Annotationen Ziel: abstraktes, wiederverwendbares Test-Modell trotz erheblicher Unterschiede der Testinfrastruktur! Vielen Dank für die Aufmerksamkeit!