Objektrelationales Mapping mit JPA Testing Jonas Bandi Simon Martinelli.

Slides:



Advertisements
Ähnliche Präsentationen
News von der SAP TechEd zum Thema Business Intelligence Jörg Funke
Advertisements

Objektrelationales Mapping mit JPA
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
E-Commerce Shop System
1 Gerardo Navarro Suarez BPM Suite. 2 Quelle: camunda Services GmbH Das Warum hinter Activiti Problem bestehender BPMS: Starker Fokus auf das Business.
Integrations- und Funktionstests im Rahmen des V-Modelles
Phasen und ihre Workflows
Übung Datenbanksysteme WS 2003/ Übung Datenbanksysteme Entwurf eines Bibliothekssystems
V-Modell XT - Ein Überblick
Einführung von Team System Ein Vorgehensvorschlag
Objektrelationales Mapping mit JPA Working with Persistent Objects Jonas Bandi Simon Martinelli.
Objektrelationales Mapping mit JPA
Objektrelationales Mapping mit JPA Entity Mapping Jonas Bandi Simon Martinelli.
Objektrelationales Mapping mit JPA Getting Started Jonas Bandi Simon Martinelli.
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation Jonas Bandi Simon Martinelli.
Objektrelationales Mapping mit JPA
Objektrelationales Mapping mit JPA Ausblick Jonas Bandi Simon Martinelli.
Erfahrungen aus Tests komplexer Systeme
Komplexe Systemlandschaft
Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende:
eXtreme Programming (XP)
Modellierung der Zugriffslogik auf Datenbanktabellen Software Component Technology for Distributed Applications Andreas Fink.
Access 2000 Datenbanken.
Seminar: Verteilte Datenbanken
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
Migration von Oracle 9i auf 10g Hans Pfeiffer Talkline Data Warehouse Elmshorn,
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Spatial Decision Support Systems (SDSS)
Maschinelles Lernen und automatische Textklassifikation
Herzlich Willkommen… welcome… soyez la bienvenue….
Publicvoid - Onlinenotes SWOS HS 2011/12. Inhalt Vorstellung Website Probleme - Lösungen Quick & easy 2 kalik1, messu2, joosp1, stahm3.
Projektvorgehen.
„Buy and Make“ anstelle von „Make or Buy“
Warum brauche ich ein CMS – Content Management System?
1. Verhalten der Objekte: Operationen Werden in den Klassen definiert Werden (i.d.R.) auf einem Objekt aufgerufen Wird das Empfängerobjekt genannt Weitere.
Agenda 13: Begrüßung & Einführung in das Thema
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Human Resource Management
Eidgenössisches Departement des Innern EDI Bundesamt für Statistik BFS Eidgenössisches Finanzdepartement EFD Bundesamt für Informatik und Telekommunikation.
1. Vorstellung.
Wie sollte ein Computer sein, mit dem Sie optimal arbeiten können? Willkommen bei Lentio, der neuen Rechnerfamilie von LT Memory, die für Sie gemacht ist.
Innovator Die Komponenten.
Testtechniken-Praktikum WS 2005/06 1 Testen mit Mock- Objekten Andreas Höfer Dr. Matthias Müller.
PRO:CONTROL Ziel des Moduls Arbeitspakete
cs108 Programmier-Projekt Präsentation Meilenstein 3
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
Vienna University of Technology Pirker Simon 1. Überblick Definition Motivation Vorteile Entwurf von VP Pirker Simon 2.
TDD mit MSTest Stefan Lieser
© 2014 Fake the Unfakeable Isolating Code Under Test with Microsoft Fakes ©
Technische Universität München Zentralübung Automotive Software Engineering – Übungsblatt 6.
Sicherung von elektronischer Kunst und Games von Maximilian Humpert.
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
1 6.4 Verwaltung semistrukturierter Daten - was ist das? Datenverwaltung für XML-Dokumente - Daten in XML-Gewand - eigentlich XML-Dokumente - Abbildung.
Page Seminar IM - Ablauf EIN Thema auswählen Zumindest 3 wissenschaftlichen Artikel (fast sicher englischsprachig) aus guten.
Komponenten und Phasen des Data Warehousing
Was kommt nach der URL? Referenzierung elektronischer Inhalte SunSummit / Dr. Stefan Gradmann Regionales Rechenzentrum der Universität Hamburg.
Rusch Philipp, Spiegel Philipp, Sieber Michael, Ucar Sahin, Wetzel Markus.
…Be readY.
Test 1 Test 2 Test 3. Test 4 Test 5 Test 6 Test 7 Test 8 Test 9.
Seminararbeit Release Management von Web-Systemen Minh Tran Lehrstuhl für Software Engineering RWTH Aachen
Technik und Informatik Project STUMR Team „olimination“ Datum 18. Januar 2011 Eine Präsentation von: Remo Albertani Oliver Burkhalter Steven Heller Thomas.
Technik und Informatik Project STUMR Team „olimination“ Datum 18. Januar 2011 Eine Präsentation von: Remo Albertani Oliver Burkhalter Steven Heller Thomas.
EFFORTMANAGEMENT Jan Gerber Simon Hofmann Lukas Nonnenmacher.
Software-Delivery auf Knopfdruck IBM Cloud & DevOps.
Test.
Von Wietlisbach, Lenzin und Winter
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

Objektrelationales Mapping mit JPA Testing Jonas Bandi Simon Martinelli

Testen mit Einbezug der DB Schwierigkeit: Die DB repräsentiert den Zustand unseres Systems Oft enthält die DB den Input und den Output unseres Tests Um gezielt und deterministisch zu Testen müssen wir den DB Zustand kennen und beeinflussen Zusätzlich: Fast immer enthält die DB auch Logik (Constraints sind auch Logik)

Unit- vs. Integration Tests Mocking der DB soweit möglich: Einbindung der DB – DB in einen definierten Zustand bringen – Tests durchführen – Veränderungen verifizieren – (Aufräumen)

Mocking DAOs sind ein guter Ansatzpunkt – Zentraler Zugriffspunkt, klares Interface – Formulierung der Erwartungen an den Data- Access Layer mit Business Semantik – Erwartungen können gegen die DB gestestet werden Mocking der JPA-Infrastrukur – Möglich, aber aufwändig (EntityManager, Query) – Viel technische Komplexität, kein Business Value

In-Memory Datenbank HSQLDB und Derby reife Datenbanken mit einem In-Memory Mode DB wird für jeden Test neu gestartet und initialisiert – Einfache Integration, lokale Datenbank – Keine Seiteneffekte – Schema immer aktuell – Die meisten Persistenz bezogenen Probleme können erkannt werden

Mehrstufige Testing Strategie Unit-Tests mit Mocking – Testen von Business Komponenten in Isolation – Korrektes Verhalten bezüglich erwartetem Business Funktionale Tests mit In-Memory Datenbank – Korrektes Verhalten mit Einbezug der Persistenz-API – Sehr einfache Integration, schnell, lokal – Setup/Teardown pro Test Integrations Tests gegen Produktions-Datenbank – Produktives Verhalten – Wenn möglich mit produktiven Datenbeständen – Komplizierteres Setup/Teardown, langsam

Testdaten Management Wichtiges Thema das früh im Projekt angegangesn werden sollte Wer liefert valide Testdaten Wie und wann werden Testdaten in die verschiedenen DBs eingespielt Schema-Migrationen Patterns für Unit-Tests: – Object Mother, Test Data Builder