Testtechniken-Praktikum WS 2005/06 1 Arbeiten mit JUnit Andreas Höfer Dr. Matthias Müller Mit Beiträgen von Johannes Link.

Slides:



Advertisements
Ähnliche Präsentationen
Software Engeniering II
Advertisements

M a r c – o l i v e r p a h l Informatik I – Kapitel 7 Klassen und höhere Datentypen Zusammenfassung des Kapitel 7 Küchlin, Weber, Einführung in die Informatik,
der Universität Oldenburg
Eine Testumgebung für Java
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Einführung in die Programmierung Zusammenfassung
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
Zusammenfassung des Kapitels 8
der Universität Oldenburg
Prof. Dr. Holger Schlingloff
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.
Java: Grundlagen der Objektorientierung
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..
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Das Test-Framework JUnit
Das Test-Framework JUnit
Programmieren mit JAVA
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 6. Story Driven Modeling 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.
Wasserfallmodel Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
1 WS 2012 Software-Engineering II Objektorientiertes Testen.
Packages Vortrag : Cornelia Hardt 23. November 1999.
DVG Ausnahmen. DVG Was sind Programmfehler? 4 Programm erzielt gar kein Ergebnis. 4 Berechnetes Ergebnis stimmt nicht mit dem erwarteten.
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Vererbung Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces.
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.
Whitebox Testen mit JUnit
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Erste Schritte mit Eclipse Neues Projekt erstellen (1)
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Tutorial im Rahmen des Software(technik)praktikums
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
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
Testtechniken-Praktikum WS 2005/06 1 Testgetriebene Entwicklung Andreas Höfer Dr. Matthias Müller mit Beiträgen von Johannes Link.
ac.at1 EPROG Tutorium #1 Philipp Effenberger Einführung in Java Schlüsselworte Datentypen.
Testtechniken-Praktikum WS 2005/06 1 Besprechung Java-Test/Aufgabe 1 Andreas Höfer Dr. Matthias Müller.
Testtechniken-Praktikum WS 2005/06 1 Performanztests mit JUnitPerf Andreas Höfer Dr. Matthias Müller.
Blackbox-Testverfahren
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
Learning By Doing Ausnahmebehandlung Exceptions (Ausnahmebehandlung) Typische Fehlverhalten zur Laufzeit: s. Buch S. 287ff -Verwendung von null-Objekten.
Learning By Doing Parallelverarbeitung Multithreading (Nebenläufigkeit) Alte Idee der Parallelverarbeitung statt rein sequentieller Prozesse Parallelverarbeitung.
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
JUnit Grundkonzept Gruppe Markt. JUnit: Ziele Einfachheit: –Leicht erlernbare, bekannte Tools –Möglichst wenig Aufwand für die Implementierung von Testfällen.
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Instanzmethoden
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Wieland Schwinger Softwareentwicklung 2 Assertions.
Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Ausnahmen (Exceptions)
© OPITZ CONSULTING GmbH 2010Seite 1SOA Testing Konstruktionsraster 20mm 4mm OPITZ CONSULTING Vorlage Powerpoint 2009; Version 1.0; ; TGA, MVI,
Vorlesung "Software-Engineering"
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.
Vererbung.
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
Annette Bieniusa Sommersemester 2015
Raphael Fischer Informatik II - Übung 06 Raphael Fischer
Cäsar-Verschlüsselung
Mit Java die Turtle steuern
Cäsar-Verschlüsselung
Ein Referat von Sabrina Vissel, darleen paul und yannick fuchs
Reklursive Grafiken Teil I
Definition Felder Konstruktor Methoden Beispiel
 Präsentation transkript:

Testtechniken-Praktikum WS 2005/06 1 Arbeiten mit JUnit Andreas Höfer Dr. Matthias Müller Mit Beiträgen von Johannes Link

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 2 JUnit Rahmenwerk zur Testautomatisierung Rahmenwerk zur Testautomatisierung Von Erich Gamma und Kent Beck Von Erich Gamma und Kent Beck Grafische und textuelle Ausgabe Grafische und textuelle Ausgabe In Eclipse integriert In Eclipse integriert

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 3 Aufbau einer Testklasse Erbt von TestCase Erbt von TestCase Pro Testfall eine Methode : public void test*() throws Exception Pro Testfall eine Methode : public void test*() throws Exception Testfallmethoden verwenden assert*() und fail() Testfallmethoden verwenden assert*() und fail() Fehlschlag von assert*() oder Aufruf von fail() beendet Testfall Fehlschlag von assert*() oder Aufruf von fail() beendet Testfall Zum Aufbau von Testressourcen: protected void setUp() throws Exception Zum Aufbau von Testressourcen: protected void setUp() throws Exception Zur Freigabe: protected void tearDown() throws Exception Zur Freigabe: protected void tearDown() throws Exception

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 4 Assertions Gekapselt in Assert Gekapselt in Assert TestCase erbt von Assert TestCase erbt von Assert Wichtigste Assertions: Wichtigste Assertions: assertEquals(Object expected, Object actual) assertEquals(Object expected, Object actual) assertEquals(double expected, double actual, double delta) assertEquals(double expected, double actual, double delta) assertSame(Object expected, Object actual) assertSame(Object expected, Object actual) assertTrue(boolean expression) assertTrue(boolean expression) assertFalse(boolean expression) assertFalse(boolean expression) assertNull(Object actual) assertNull(Object actual) assertNotNull(Object actual) assertNotNull(Object actual)

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 5 Statik und Dynamik eines Testfalls junit.framework assert*(…) fail() … Assert testAdding() testAmount() testRounding() EuroTest setUp() tearDown() … TestCase add(Euro e) getAmount() round() Euro :EuroTest setUp() testAdding() tearDown() :EuroTest setUp() testAdding() tearDown()

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 6 Beispiel: Testklasse public class EuroTest extends TestCase { private Euro two; protected void setUp() throws Exception { two = new Euro(2.0); } public void testAdding() throws Exception { Euro sum = two.add(two); assertEquals(new Euro(4.0), sum); }}

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 7 Testmuster: Erwartete Ausnahmen public void testNoFileHere() throws Exception { try { new File(z:/invalid_name); fail(FileNotFoundEx. expected!); } catch (FileNotFoundException ex) { }} Unerwartete Ausnahmen behandelt JUnit Unerwartete Ausnahmen behandelt JUnit

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 8 Organisation der Testfälle Mehrere Testfälle pro Testklasse (TestCase) Mehrere Testfälle pro Testklasse (TestCase) Testsuite fasst Testklassen und eventuell weitere Testsuiten zusammen Testsuite fasst Testklassen und eventuell weitere Testsuiten zusammen > Test TestCaseTestSuite * >

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 9 Beispiel: Testsuite public class AllTests { […] public static Test suite() { TestSuite suite = new TestSuite(); suite.addTestSuite(EuroTest.class);suite.addTest(file.AllTests.suite()); return suite; }}

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 10 TestRunner aufrufen public class AllTests { public static void main(String[] args) { TestRunner.run(AllTests.class);}[…]} 3 TestRunner: 3 TestRunner: junit.swingui.TestRunner junit.swingui.TestRunner junit.awtui.TestRunner junit.awtui.TestRunner junit.textui.TestRunner junit.textui.TestRunner Eclipse Plug-in braucht keinen davon Eclipse Plug-in braucht keinen davon

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 11 Referenzen Johannes Link Softwaretests mit JUnit 2. Auflage, dpunkt.verlag ISBN Johannes Link Softwaretests mit JUnit 2. Auflage, dpunkt.verlag ISBN SWT-Folien, Kapitel 5.8: Testwerkzeuge SWT-Folien, Kapitel 5.8: Testwerkzeuge