Tests mit Junit und DBUnit Warum Tests? Verhindert weitreichende Auswirkung bei großen Projekten Änderung kosten viel Geld und Zeit Führt oft zu einem.

Slides:



Advertisements
Ähnliche Präsentationen
Software Engeniering II
Advertisements

Eine Testumgebung für Java
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Ausnahmen HS Merseburg (FH) WS 06/07.
FH-Hof Tools Richard Göbel. FH-Hof Tools für die Veranstaltung JUnit: Testen ANT: Build-Tool Eclipse: Entwicklungsumgebung.
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
IF-ELSE-IF-Ketten Weiter mit PP..
Objekte werden als Adressen (Referenzen) übergeben. Dies führt manchmal zu unerwarteten Ergebnissen...
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Das Test-Framework JUnit
Das Test-Framework JUnit
Java-AG Ausnahmebehandlung Gerhard Gröger.
PRJ 2007/1 Stefan Dissmann Motivation Problem: Benutztes Objekt kennt den Kontext seiner Nutzung nicht. Daher kann es in besonderen Situationen keine Entscheidung.
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Wasserfallmodel Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Programmiermethodik Übung 6 Methoden verstehen und entwerfen (erstmal ohne Computer)
Software Design Patterns Extreme Programming (XP).
DVG Ausnahmen. DVG Was sind Programmfehler? 4 Programm erzielt gar kein Ergebnis. 4 Berechnetes Ergebnis stimmt nicht mit dem erwarteten.
Portierung von Java nach C
DVG Ausnahmen1 Ausnahmen. DVG Ausnahmen 2 Was sind Programmfehler? Programm erzielt gar kein Ergebnis. Berechnetes Ergebnis stimmt nicht.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Aufbau einer Verbindung zur Datenbank import java.net.URL; import java.sql.*; class JDBCExample.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 5. Test-First Prinzip Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse.
Rekursive Funktionen (Fakultät)
Erste Schritte mit Eclipse Neues Projekt erstellen (1)
Testgetriebene Entwicklung (TDD)
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Testtechniken-Praktikum WS 2005/06 1 Testen mit Mock- Objekten Andreas Höfer Dr. Matthias Müller.
Optimale Ursprungsgerade
Learning By Doing Ausnahmebehandlung Exceptions (Ausnahmebehandlung) Typische Fehlverhalten zur Laufzeit: s. Buch S. 287ff -Verwendung von null-Objekten.
Testtechniken-Praktikum WS 2005/06 1 Arbeiten mit JUnit Andreas Höfer Dr. Matthias Müller Mit Beiträgen von Johannes Link.
JUnit Grundkonzept Gruppe Markt. JUnit: Ziele Einfachheit: –Leicht erlernbare, bekannte Tools –Möglichst wenig Aufwand für die Implementierung von Testfällen.
TDD mit MSTest Stefan Lieser Web:
TDD mit MSTest Stefan Lieser
Mehrschichten- Architektur. Sinn: Zur Strukturierung von Software, die eine spätere Änderung erleichtert und eine Wiederverwendbarkeit der einzelnen Komponenten.
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
TDD mit MSTest Stefan Lieser Web:
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
2 Datenabstraktion Geheimnisprinzip:
Test-Driven Development
Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Ausnahmen (Exceptions)
Rusch Philipp, Spiegel Philipp, Sieber Michael, Ucar Sahin, Wetzel Markus.
Test 1 Test 2 Test 3. Test 4 Test 5 Test 6 Test 7 Test 8 Test 9.
FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias.
FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias.
FLEET MANAGEMENT SOFTWARE Wirtschaftsinformatik Projekt | WS Benny Brand Paul Fuchs Gui Ro Kong Boris Oechsle Elizaveta Olar Thomas Oppel Matthias.
FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias.
FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias.
FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias.
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
Protokollieren, überwachen und verfolgen Vortrag zum Seminar „Aspektorientierte Programmierung“ von Andre Kaplick - 6. Juni 2016.
C++ FÜR cOMPUTERSPIELENTWICKLER
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Annette Bieniusa Sommersemester 2015
Test.
PHP Testing.
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
Schleifen mit der Turtle
Ein Referat von Sabrina Vissel, darleen paul und yannick fuchs
Kara: act()-Methode.
Heapsort-Algorithmus
 Präsentation transkript:

Tests mit Junit und DBUnit Warum Tests? Verhindert weitreichende Auswirkung bei großen Projekten Änderung kosten viel Geld und Zeit Führt oft zu einem besseren Design Weniger Bugs Test-Driven-Development – Wichtiger Bestandteil von Extreme Programming (XP) – TDD gibt vor: bevor Funktionen hinzu/ergänzt werden, müssen zuerst Tests implementiert werden Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 1

Testcases Junit Initialisierung Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 2 private static Mitarbeiter TestMitarbeiter; private static ArrayList Testdaten; private static TestTableModel TestModel; private static TestJTable public static void setUpClass() { TestMitarbeiter = new Mitarbeiter(1, "Herr", "Mustermann", "Hans", "0111/123456", 2,"testphase"); Testdaten = new ArrayList (); TestModel = TestTableModel.getInstance(); TestTable = new TestJTable(); public void setUp() { Testdaten.add(TestMitarbeiter); TestModel.fülleModelmitDaten(Testdaten); TestTable.TestTable().setModel(TestModel); }

Testcases public void TestMitarbeiter() { Assert.assertTrue(TestMitarbeiter.getNachname().equals("Mustermann")); public void TestMitarbeiter2() { TestMitarbeiter.setNachname("Musterfrau"); if (TestMitarbeiter.getNachname().equals("Mustermann")) { Assert.assertTrue(true); } else { Assert.fail("Test Fehlgeschlagen."); public void MitarbeiterModelTest() { if (Testdaten.get(0).getVorname().equals("Hans")) { Assert.assertTrue(true); } else { Assert.fail("Test Fehlgeschlagen."); }} Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 3

Testcases 1# mit public void setUp() throws SQLException, FileNotFoundException, IOException, DataSetException { // Dataset initialisieren IDataSet dataSet = new FlatXmlDataSet(new FileInputStream("src/com/hsulm/wf5/fleetmanagement/tests/dataset.xml")); try { DatabaseOperation.CLEAN_INSERT.execute(getConnection(), dataSet); } catch (DatabaseUnitException e) { System.out.print(e); } Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 4 Dataset.xml

Testcases 1# mit public void test1() throws Exception { //Datensatz und spezielle Tabelle werden aus Datenbank geladen IDataSet databaseDataSet = getConnection().createDataSet(); getConnection().getConnection().prepareStatement("UPDATE Mitarbeiter SET Vorname='Test', Nachname='Test', Passwort='test' Where MitarbeiterID='7'").execute(); ITable actualTable = databaseDataSet.getTable("Mitarbeiter"); IDataSet expectedDataSet = new FlatXmlDataSet(new File("src/com/hsulm/wf5/fleetmanagement/tests/ErwarteteMitarbeitertabelle.xml")); ITable expectedTable = expectedDataSet.getTable("Mitarbeiter"); Assertion.assertEquals(expectedTable, actualTable); } Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 5

Testcases 1# mit DBUnit ErwarteteMitarbeiterTabelle.xml Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 6 MitarbeiterTabelle in Datenbank

Testcase 2# mit DBUnit //Absichtliches Fehlschlagen der Tests, um FileOutstream zu testen if (actualTable.equals(expectedTable)) { Assert.assertTrue(true); } else { FlatXmlDataSet.write(databaseDataSet, new FileOutputStream("src/com/hsulm/wf5/fleetmanagement/tests/Mitar beitertest2fail.xml")); Assert.fail("Test Fehlgeschlagen, siehe Mitarbeitertest2fail"); } Benny Brand | Paul Fuchs | Gui Rong Ko| Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias Schmitt | Markus Schönfeld 7 Screenshot aus Eclipse