Java Schulung. Objektorientierte Programmierung in Java Teil IV: Testen mit JUnit. Prof. Dr. Nikolaus Wulff

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Java Schulung. Objektorientierte Programmierung in Java Teil IV: Testen mit JUnit. Prof. Dr. Nikolaus Wulff"

Transkript

1 Java Schulung Objektorientierte Programmierung in Java Teil IV: Testen mit JUnit Prof. Dr. Nikolaus Wulff

2 JUnit JUnit ist das Opensource Testframework. Es existieren Portierungen für fast alle objektorientierten Sprachen: Smalltalk, C++, Java, C#, etc. JUnit ist konzipiert als Komponententest in der Hand des Entwicklers, es eignet sich jedoch auch für Funktionale- und Lasttests. Es gibt Erweiterungen zum Test von Web- und EJB-Anwendungen (HttpUnit, Cactus). Link: Prof. Dr. Nikolaus Wulff 2

3 Testentwicklung Zu jeder Klasse im Projekt wird ein passender Test geschrieben, der das Verhalten der jeweiligen Klasse testet. JUnit definiert das Rahmenwerk für derartige Tests, das in allen gängigen IDE's integriert ist. Der Entwickler leitet seine Tests von einer JUnit TestCase Klasse ab und implementiert nur noch die speziellen, fachlichen Testmethoden. Prof. Dr. Nikolaus Wulff 3

4 Alles ist ein Test TestRunner JUnit Framework MyClass amethod() runs TestCase MyClassTest testamethod() Package: junit.framework <<Interface>> Test 0..* TestSuite Eigenentwicklung Der Test ist das zentrale Objekt. Der JUnit TestRunner, führt den Test aus und protokolliert die Ergebnisse. Ein Test ist entweder ein einzelnes TestCase oder eine Ansammlung von Tests zusammengefasst in einer TestSuite. Zu jeder Klasse "MyClass" wird eine entsprechende Testklasse "MyClassTest" geschrieben, die die JUnit TestCase Basisklasse erweitert. Prof. Dr. Nikolaus Wulff 4

5 Testausführung JUnit sucht per Reflection alle Methoden in der Testklasse, deren Namen mit»test«beginnen und führt diese in einer definierten Sequenz aus: Konstruktor Erzeugt das Testobjekt. setup Initialisiert den Test. run: testxxx Führt den Test durch. teardown Auf- und Abräumen des Tests. Die Testergebnisse werden gesammelt und visualisiert (GUI) oder protokolliert (Ant). Prof. Dr. Nikolaus Wulff 5

6 Eclipse JUnit Plugin Prof. Dr. Nikolaus Wulff 6

7 Testvalidierung Die Ergebnisse der zu testenden Klasse / Methode werden in jeder Testmethode validiert. Hierzu werden Bedingungen formuliert, die den Rückgabewert der zu testenden Methode mit einem als wahr bekannten Wert vergleichen. Dieser Vergleich wird in der JUnit Methode assertequals oder asserttrue ausgewertet. /** * test the addition operation. */ public void testadd() throws Exception { double expected = 2 + 4; double result = calculator.calculate(2, 4, '+'); super.assertequals(expected,result,delta); } Prof. Dr. Nikolaus Wulff 7

8 Das JUnit Framework <<Interface>> TestListener TestResult failure 0..* 0..* 0..* TestFailure error TestCase setup() teardown() run() TestRunner (from ui) runs <<Interface>> Test 0..* run() 0..* decorate TestSuite addtest() run() Das folgende Klassendiagramm zeigt das vollständige JUnit Framework. Es gibt spezielle Erweiterungen für wiederholte Test oder bestimmte Setups, z.b. Datenbankverbindungen etc. TestDecorator (from extensions) TestSetup (from extensions) RepeatedTest (from extensions) Prof. Dr. Nikolaus Wulff 8

9 Qualitätssicherung Stringentes Arbeiten mit JUnit etabliert eine effiziente Qualitätssicherung im Projekt. Angefangen von einzelnen Klassen lassen sich ganze Testhierarchien bis hin zum gesamten Projekt aufbauen. Wird dieser Projekttest in die tägliche Master-Build integriert, ist immer bekannt, wie es um das Projekt bestellt ist... Zugleich verbessert der Test-First Ansatz die Definition von Schnittstellen und Architektur. Prof. Dr. Nikolaus Wulff 9

10 TestSuite Hierarchie Project 1 ProjectTest jeder Test ist für sich alleine in JUnit lauffähig... Package PackageTest TestSuite 1 <<Interface>> Test Class ClassTest TestCase 1 Method 1 testmethode Die Tests folgen der Package-Struktur, haben jedoch im Dateisystem eine eigene Wurzel Test, so daß die Build unabhängig von den TestCases läuft... Prof. Dr. Nikolaus Wulff 10

11 Was ist zu Testen? Im Prinzip alles... :-) Aufwand und Nutzen abwägen! Testen muß bezahlbar sein. Ungetestete Software kann teuer werden... Sicherheitsrelevante Software (Luftfahrt, Medzin etc.) stellt andere Ansprüche! Inkrementelle und iterative Entwicklung => Tests müssen häufig wiederholt werden. => Tests müssen automatisierbar sein. Preisfrage: Wer testet den Test(er)? Prof. Dr. Nikolaus Wulff 11

12 Testpragmatik Tests müssen wiederhol- und reproduzierbar sein. Definierter Anfangs- und Endzustand. Eindeutigkeit des Testergebnis. Möglichst alle Klassen und Methoden testen. Getter und Setter symmetrisch testen. Bereiche abdecken. Linker und rechter Rand! Pre- und PostConditions überprüfen. Sowohl positiv als auch negativ Fälle testen. => if-else und switch-case werden abgedeckt. Gezielt Exceptions provozieren. Prof. Dr. Nikolaus Wulff 12

13 Testpragmatik cont. Test first Ansatz. Jede neue Anforderung erfordert einen neuen Test. Der Test wird vor der Implementierung geschrieben. Wird ein Bug gefunden, so wird dazu ein Test geschrieben und anschließend der Bug gefixed. Das Wesentliche wird getestet. Ein einmal entwickelter Test wird an aktuelle Weiterentwicklungen angepasst und nicht entfernt. Die Testüberdeckung wächst dynamisch. Die wesentlichen Klassen werden am meisten getestet. Prof. Dr. Nikolaus Wulff 13

14 Beispiel Ein JUnit Test für einen Taschenrechner. TestCa se (from framew ork) setup() teardown() run() <<e xtends>> CalculatorTest Calculator Random (from util) 1 nextdouble <<uses>> -$random setup() testadd() testsub() testmult() testdiv() testdivbyzero() testunknownop() tests 1 calculator add() sub() mult() div() calculate() Prof. Dr. Nikolaus Wulff 14

15 Tips Fragen, Hinweise & Ziele: Kennenlernen von JUnit. Was ist eine "vernünftige" Testüberdeckung? Wie sind Ausnahmen/Sonderfälle zu testen? Mit der Klasse java.util.random lassen sich Zufallszahlen würfeln... Konsultieren Sie JavaDoc für mehr Informationen. Prof. Dr. Nikolaus Wulff 15

Swp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept

Swp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept Testkonzept 1.Einführung Um die Zuverläsigkeit und die Qualität der Software und des gesamten Systems zu verbessern, sind Tests durchzuführen. Die Testreihe läst sich in drei Stufen einteilen, nülich Komponententest,

Mehr

Das Test-Framework JUnit ETIS SS04

Das Test-Framework JUnit ETIS SS04 Das Test-Framework JUnit ETIS SS04 Gliederung Motivation TestFirst Grundlagen Assert TestCase Lebenszyklus TestCase UML-Diagramm TestCase TestSuite Zusammenfassung 2 Motivation (I) Kostspielige Folgen

Mehr

JUnit. Software-Tests

JUnit. Software-Tests JUnit Software-Tests Übersicht Einleitung JUnit Jia Li Grundlegendes Diana Howey Hendrik Kohrs Praktische Einbindung Benjamin Koch Zili Ye Einleitung in allgemeines Testen Automatische Tests Testen ist

Mehr

Programmierung 2 Studiengang MI / WI

Programmierung 2 Studiengang MI / WI Programmierung 2 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung

Mehr

Testgetriebene Entwicklung mit JUnit4

Testgetriebene Entwicklung mit JUnit4 Testgetriebene Entwicklung mit JUnit4 Seminarvortrag im Fach Fortgeschrittenes Programmieren in Java, Dozent: Prof. Klinker Datum: 30.04.2010 Referent: Marius Schmeding Ausgangsfragen... Wie testet man

Mehr

Programmierung 2 Studiengang MI / WI

Programmierung 2 Studiengang MI / WI Programmierung 2 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 FB Automatisierung

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

JUnit a Cook s Tour. Framework in Java Automatisierter Ablauf von Testfällen Testläufe kombinieren. Unterlagen als PDF auf der Übungsseite!

JUnit a Cook s Tour. Framework in Java Automatisierter Ablauf von Testfällen Testläufe kombinieren. Unterlagen als PDF auf der Übungsseite! JUnit a Cook s Tour Ziel des Frameworks Framework in Java Automatisierter Ablauf von Testfällen Testläufe kombinieren Design des Frameworks Beginne bei Nichts Schritt für Schritt aus passenden Mustern

Mehr

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 JUnit - Test Driven Development Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 Gliederung 1.Einleitung 1.1 Geschichte 1.2 Was sind Unit-Tests? 1.3 Failures/Errors 1.4 Ziele und Nutzen

Mehr

Unit Testing, SUnit & You

Unit Testing, SUnit & You HUMBOLDT-UNIVERSITÄT ZU BERLIN MENSCH-TECHNIK-INTERAKTION ARBEITSGRUPPE SOFTWARETECHNIK (INSTITUT FÜR INFORMATIK) ARBEITSGRUPPE INGENEURPSYCHOLOGIE (INSTITUT FÜR PSYCHOLOGIE) Unit Testing, SUnit & You

Mehr

am Beispiel von JUnit

am Beispiel von JUnit Aufbau eines Testwerkzeugs am Beispiel von JUnit Üblicher Ansatz für Tests und Fehlersuche: Print-Befehle, Debugger-Ausdrücke, Test-Skripte möglichst über globale Variable debug steuerbar Command Pattern

Mehr

Unit Tests mit Junit 4. Dario Borchers

Unit Tests mit Junit 4. Dario Borchers Unit Tests mit Junit 4 Dario Borchers Agenda Warum testgetriebene Entwicklung von Software? - Motivation Was ist testgetriebene Entwicklung? - Prozess der testgetriebenen Entwicklung - Arten von Tests

Mehr

Das automatisierte Testen mit JUnit

Das automatisierte Testen mit JUnit Das automatisierte Testen mit JUnit SWT Seminar (SS03) Ausgearbeitet von Sundui Baatarjav Am Fachbereich Informatik der TU-Berlin EINLEITUNG 3 JUNIT - FRAMEWORK 4 Aufbau und Struktur 4 TestCase 4 Assert

Mehr

Markus Wichmann. Testen von Java Code mit. JUnit

Markus Wichmann. Testen von Java Code mit. JUnit Markus Wichmann Testen von Java Code mit JUnit Demotivation... Am Anfang war der Zeitdruck... Hilfe, ich habe doch keine Zeit zum Testen! Ich schreibe einfach keine Tests, dadurch werde ich schneller fertig

Mehr

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG Unit-Test Theorie und Praxis Stephan Seefeld, INGTES AG Inhalt Was sind Unit-Test? NUnit für.net Demo Seite 2 Quellen Für diesen Vortrag verwendete Quellen: dotnet User Group Berlin Brandenburg http://www.dotnet-berlinbrandenburg.de/

Mehr

Web-Testen mit JUnit und HttpUnit. Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum

Web-Testen mit JUnit und HttpUnit. Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum 1 Web-Testen mit JUnit und HttpUnit Kai Schmitz-Hofbauer Lehrstuhl für Software-Technik Ruhr-Universität Bochum 2 Inhalt Entwicklertests in der Praxis Unit-Testing JUnit HttpUnit Praktisches Beispiel Bewertung

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.

Mehr

Programmiertechnik II

Programmiertechnik II Modultests Ziele Überprüfung der Korrektheit eines Moduls Korrektheit: Übereinstimmung mit (informaler) Spezifikation Modul: kleine testbare Einheit (Funktion, Klasse) Engl.: unit test White box testing

Mehr

Thema: Testen von objektorientierter Software

Thema: Testen von objektorientierter Software Seminar Simulation und Bildanalyse mit Java Thema: Testen von objektorientierter Software Uta Dienst 1. Teil: Einführung in den Software-Test 2. Teil: JUnit-Einführung Uta Dienst 17.11.2003 2 1. Teil:

Mehr

Code verifizieren mittels

Code verifizieren mittels Code verifizieren mittels Unit- und Regressionstests Institut für Numerische Simulation, Universität Bonn Seminarreihe Technische Numerik Wozu sollen gut sein? Was für Testarten gibt es? Wie funktionieren

Mehr

TESTEN OBJEKTORIENTIERTER PROGRAMME MIT JUNIT

TESTEN OBJEKTORIENTIERTER PROGRAMME MIT JUNIT TESTEN OBJEKTORIENTIERTER PROGRAMME MIT JUNIT Praktikumsaufgabe zur Lehrveranstaltung Softwaretechnologie II (WS 00/01) Professur Softwaretechnologie TU Dresden, Fakultät Informatik DANIEL SCHUSTER 29.01.01

Mehr

Testen mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls

Testen mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls Testen von Java-Code mit JUnit ÿmotivation ÿjunit-testklassen ÿjunit-testfälle ÿstruktur eines Testfalls Henning Wolf APCON Workplace Solutions GmbH wolf@jwam.de Motivation: Werkzeugunterstützung für Tests

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Dirk Wischermann Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 18. Dezember 2006 Inhalt Nachlese

Mehr

Softwaretests. verschiedene Testformen Testen im V-Modell: Anwendungsszenarien. Tests. Tests. Tests. Anforderungs- definition. Abnahmetest.

Softwaretests. verschiedene Testformen Testen im V-Modell: Anwendungsszenarien. Tests. Tests. Tests. Anforderungs- definition. Abnahmetest. Softwaretests verschiedene Testformen Testen im V-Modell: Anforderungs- definition Anwendungsszenarien Abnahmetest Grobentwurf Tests Systemtest Feinentwurf Tests Integrationstest Implementierung Tests

Mehr

Software-Engineering Software-Management

Software-Engineering Software-Management Software-Engineering Software-Management 12.3 Unit-Tests mit JUnit - Wissen, was der Sourcecode macht! Lösung Prof. Dr. Rolf Dornberger Software-Engineering: 12.3 Unit-Tests mit JUnit 30.04.2006 1 12.3

Mehr

Funktionales Testen. Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg

Funktionales Testen. Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Funktionales Testen Yi Zhao Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Zhao, Spisländer FAU Erlangen-Nürnberg Funktionales Testen 1 / 15 1 Inhalt

Mehr

Überblick. Einleitung. Unit-Tests. JUnit. HelloWorld Beispiel. Praktische Beispiele. Referenzen

Überblick. Einleitung. Unit-Tests. JUnit. HelloWorld Beispiel. Praktische Beispiele. Referenzen Testen mit JUnit 1 Überblick Einleitung Unit-Tests JUnit HelloWorld Beispiel Praktische Beispiele Referenzen 2 Einleitung Irren ist menschlich Überprüfung auf Knopfdruck Entwicklung richtiger Tests ->

Mehr

Programmieren I. Übersicht. Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Programmieren I. Übersicht. Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 2 Übersicht Testen ist eine der wichtigsten, aber auch eine der Zeitaufwändigsten Arbeitsschritte der Softwareentwicklung.

Mehr

Unit Tests und Fehlersuche

Unit Tests und Fehlersuche Unit Tests und Fehlersuche SE 1 - Softwareentwicklungspraktikum Test Deadline! Sinnvolle Tests kompilierbar im CVS d.h. Schnittstellen zu Strategiemethoden etc. schon erstellen Kommentieren! Besser ein

Mehr

Testen von Softwaresystemen. 13. Januar 2015

Testen von Softwaresystemen. 13. Januar 2015 Testen von Softwaresystemen 13. Januar 2015 Überblick Was umfasst das Testen von Software? Warum sollte man Software testen? Motivation für Software-Tests Wie sollte man Software testen? Grundlegende Teststrategien

Mehr

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck Unit Tests Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Test-driven development JUnit-Test. Lars Varain

Test-driven development JUnit-Test. Lars Varain Test-driven development JUnit-Test Lars Varain Inhalt Test-driven Development (TDD) Junit4 Beispiel Inhalt Test-driven Development (TTD) Warum TDD? Zyklus Ausnahmebehandlung Junit4 Beispiel Inhalt Test-driven

Mehr

Unit Tests in der Testgetriebenen Entwicklung

Unit Tests in der Testgetriebenen Entwicklung Unit Tests in der Testgetriebenen Entwicklung Reduzierung des Testanteils am Gesamtsoftwareentwicklungsaufwand -- neue Strategien und Tools -- Hauptseminar Systemorientierte Informatik Christian Krauß

Mehr

JUnit. Unit testing unter Java

JUnit. Unit testing unter Java JUnit Unit testing unter Java Was ist Junit? einfaches Framework zum Schreiben von wiederholbaren Tests Besonders geeignet für unit testing Erlaubt Hierarchie von Testsuites Schreiben eines Test Case 1.

Mehr

Testen mit JUnit. Martin Wirsing. Ziele. in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang

Testen mit JUnit. Martin Wirsing. Ziele. in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang Testen mit JUnit Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang 12/04 2 Ziele Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen 3 Testen Da

Mehr

3. Dokumentieren und Testen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

3. Dokumentieren und Testen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 3. Dokumentieren und Testen Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen zu Schnittstellen Was bedeutet Orthogonalität / Separation of Concerns?

Mehr

Software - Testung ETIS SS05

Software - Testung ETIS SS05 Software - Testung ETIS SS05 Gliederung Motivation Was ist gute Software? Vorurteile gegenüber Testen Testen (Guidelines + Prinzipien) Testarten Unit Tests Automatisierte Tests Anforderungen an Testframeworks

Mehr

5. Dokumentieren und Testen Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

5. Dokumentieren und Testen Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 5. Dokumentieren und Testen Advanced Programming Techniques Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:

Mehr

Effizientes Programmieren

Effizientes Programmieren Effizientes Programmieren Praktikum (14.06.2016) Christopher Pietsch Agenda 1 2 3 4 5 6 1 / 32 (14.06.2016) Teil 1 von Softwareentwicklungsmethoden 2 / 32 (14.06.2016) Methodenlose Softwareentwicklung

Mehr

Höhere Programmierkonzepte Testklausur

Höhere Programmierkonzepte Testklausur Höhere Programmierkonzepte Testklausur Prof. Dr. Nikolaus Wulff Zum 15. Januar 2016 1 Ein Google-Map Algorithmus (5 Punkte) 1 2 typedef void X; 3 typedef void Y; 4 5 void map(unsigned int n / tuple length

Mehr

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014 Programmierprojekt Anne0e Bieniusa Sommersemester 2014 Phasen der So;ware- Entwicklung Planungsphase DefiniConsphase Entwurfsphase ImplemenCerungsphase Testphase Wasserfall- Modell Einführungs- und Wartungsphase

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Funktionales Testen 1 / 17 Funktionales Testen Matthias Meitner Marc Spisländer Lehrstuhl für Software Engineering

Mehr

Testen mit JUnit. Seminar Arbeit von Wang Jian, Ia00. Fachhochschule Aargau Departement Technik Studiengang I Betreuender Dozent: Prof. Dr. D.

Testen mit JUnit. Seminar Arbeit von Wang Jian, Ia00. Fachhochschule Aargau Departement Technik Studiengang I Betreuender Dozent: Prof. Dr. D. Testen mit JUnit Seminar Arbeit von Wang Jian, Ia00 Fachhochschule Aargau Departement Technik Studiengang I Betreuender Dozent: Prof. Dr. D. Gruntz Windisch, 12. Februar 2003 Jian Wang, Ia00 11.Feb.2002

Mehr

Testen mit JUnit. Martin Wirsing. Ziele. Arten von Tests. Testen. Whitebox-Test. Unit-Test

Testen mit JUnit. Martin Wirsing. Ziele. Arten von Tests. Testen. Whitebox-Test. Unit-Test 2 Ziele Testen mit JUnit Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang 12/04 3 4 Testen

Mehr

Testen mit JUnit. Martin Wirsing. Ziele. Arten von Tests. Testen. Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen

Testen mit JUnit. Martin Wirsing. Ziele. Arten von Tests. Testen. Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen 2 Ziele Testen mit JUnit Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen Martin Wirsing in Zusammenarbeit mit Michael Barth, Philipp Meier und Gefei Zhang 12/04 3 4 Testen

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Test-Driven Design: Ein einfaches Beispiel

Test-Driven Design: Ein einfaches Beispiel Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms

Mehr

Testen von graphischen Benutzeroberflächen. 26. Juni 2013

Testen von graphischen Benutzeroberflächen. 26. Juni 2013 Testen von graphischen Benutzeroberflächen 26. Juni 2013 Überblick Testarten Methoden-, Klassen-, Komponenten-, Systemtests Motivation für automatisches Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien

Mehr

SEA. Modellgetriebene Softwareentwicklung in der BA

SEA. Modellgetriebene Softwareentwicklung in der BA SEA Modellgetriebene Softwareentwicklung in der BA MDA bei der BA Ziele/Vorteile: für die Fachabteilung für die Systementwicklung für den Betrieb Wie wird MDA in der BA umgesetzt? Seite 2 MDA bei der BA

Mehr

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version: 1.0 09.06.2009 Testen von Software Systemen Übung 02 SS 2009 Version: 1.0 09.06.2009 Komponententest Kunde: Dr. Reinhold Plösch Dr. Johannes Sametinger Kundenreferenz: 259.019 Team 19 Mitarbeiter: Christian Märzinger

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Testen von graphischen Benutzeroberflächen. 24. Juni 2015

Testen von graphischen Benutzeroberflächen. 24. Juni 2015 Testen von graphischen Benutzeroberflächen 24. Juni 2015 Überblick Motivation für das automatische Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien für GUIs Capture / Replay Testmethode

Mehr

Testen mit JUnit. Softwareengineering. Verfasser: Ronny Boost, Michael Künne

Testen mit JUnit. Softwareengineering. Verfasser: Ronny Boost, Michael Künne Testen mit JUnit Softwareengineering Verfasser: Ronny Boost, BA Horb Studiengang: IT Jahrgang: 2003 Inhaltsverzeichnis 1 Einleitung oder Was ist JUnit... 3 2 Testarten... 4 2.1 Unit-Test... 5 2.2 Integrationstest...

Mehr

Übung zur Vorlesung Einführung in Software Engineering

Übung zur Vorlesung Einführung in Software Engineering Übung zur Vorlesung Einführung in Software Engineering Wintersemester 2012/13, Richard Bubel und Martin Hentschel Übungsblatt 5: Testen Abgabeformat: Reichen Sie Ihre Lösung per SVN als eine PDF-Datei

Mehr

Testphase. Das Testen

Testphase. Das Testen Testphase VIS Projekt Freie Universität Berlin N.Ardet - 17.4.2001 Das Testen Testen ist das Ausführen eines Software- (Teil)systems in einer definierten Umgebung und das Vergleichen der erzielten mit

Mehr

SOFTWARE ENGINEERING 3 TESTVORBEREITUNGEN UND UNIT-TEST

SOFTWARE ENGINEERING 3 TESTVORBEREITUNGEN UND UNIT-TEST SOFTWARE ENGINEERING 3 TESTVORBEREITUNGEN UND UNIT-TEST Gliederung 2 0. 1. 2. 3. Vorstellung Testvorbereitungen Planungsphase Definitionsphase Implementierungs-, Abnahme-und Einführungsphase Testphasen

Mehr

Testen mit JUnit. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03

Testen mit JUnit. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 Testen mit JUnit Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Lernen Unit Tests zu schreiben Lernen mit Unit-Testen mit JUnit durchzuführen 3 Testen Da die meisten Programme

Mehr

Komponentenbasierter Taschenrechner mit CORBA

Komponentenbasierter Taschenrechner mit CORBA Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten

Mehr

Automatisierte Regressionstests per Knopfdruck sparen Zeit und Ressourcen sichern die Qualität schonen die Nerven

Automatisierte Regressionstests per Knopfdruck sparen Zeit und Ressourcen sichern die Qualität schonen die Nerven Automatisierte Regressionstests per Knopfdruck sparen Zeit und Ressourcen sichern die Qualität schonen die Nerven Dipl.-Inf (FH) Matthias Müller 09.06.2010 Regressionstests Unter einem Regressionstest

Mehr

Unit Testing mit JUnit. Dr. Andreas Schroeder

Unit Testing mit JUnit. Dr. Andreas Schroeder Unit Testing mit JUnit Dr. Andreas Schroeder Überblick Was dieses Video behandelt Warum Testen? Was sind Unit Tests? Der Teufelskreis des Nicht-Testens JUnit Unit Test Vorteile Test-Inspiration Wann aufhören?

Mehr

Ein erster Blick. Eclipse und Debugging. Anlegen von Projekten. Wissenswertes...

Ein erster Blick. Eclipse und Debugging. Anlegen von Projekten. Wissenswertes... Eclipse und Debugging Ein erster Blick Starten mittels /usr/bin/eclipse oder auch Applications > Programming Legt workspace in eurem Homedir an! CoMa SS 09 Wissenswertes... CoMa II SS 09 1/24 CoMa II SS

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Automatisierung des Tests

Automatisierung des Tests Hochschule Furtwangen University Aktuelle Themen der Informatik Automatisierung des Tests von Java-Swing-GUIs von Dominik Jall CN 7 Agenda Einführung Was ist Swing? Warum GUIs automatisiert testen? Werkzeuge

Mehr

JUnit 4 Tutorial. Wolfgang Stöttinger

JUnit 4 Tutorial. Wolfgang Stöttinger JUnit 4 Tutorial Wolfgang Stöttinger JUnit 4 Tutorial... 1 1 Einführung in JUnit 4... 3 1.1 Wie funktioniert JUnit?... 3 1.2 Annotations... 3 1.2.1 Test Annotation... 3 1.2.2 Before Annotation... 3 1.2.3

Mehr

Framework zur Unterstützung von Unit-Tests

Framework zur Unterstützung von Unit-Tests JUnit Framework zur Unterstützung von Unit-Tests Automatisierte Ausführung von Tests Ideen dahinter Testgetriebene Entwicklung: Erst testen, dann programmieren Alle Testfälle häufig ausführen (nach jeder

Mehr

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53 Vorwort......................................................... 13 1 Vorbereitungen.................................................. 17 1.1 JDK-Installation unter Windows................................

Mehr

Info: Standard DO-178B. 5. Mocking. Zusammenspiel von Klassen testen. Allgemein: Klassen testbar machen

Info: Standard DO-178B. 5. Mocking. Zusammenspiel von Klassen testen. Allgemein: Klassen testbar machen Info: Standard DO-178B Zertifizierung Federal AviationAdministration (FAA), Software für Luftverkehrssysteme durch Standard DO-178B für requirement-based Tests and Code Coverage Analyse DO-178B-Levels

Mehr

Allgemein: Klassen testbar machen. 5. Mocking. Mocks programmieren. Zusammenspiel von Klassen testen

Allgemein: Klassen testbar machen. 5. Mocking. Mocks programmieren. Zusammenspiel von Klassen testen 5. Mocking Allgemein: Klassen testbar machen Wie werden Klassen testbar Entwicklung von Mocks mit der Hand Einführung in JMock Spezifikation von Mocks mit JMock Wann ist Mocking-Werkzeug sinnvoll Literatur:

Mehr

Testen von grafischen Benutzeroberflächen

Testen von grafischen Benutzeroberflächen Seminarvortrag 10: Testen von grafischen Benutzeroberflächen 2004 / 06 / 28 Clemens Sommer, Gerald Peter Übersicht Motivation GUI Allgemein Fehlerquellen und deren Auswirkungen GUI Testwerkzeuge JUnit

Mehr

Komponenten-basierte Entwicklung Teil 6: Einführung in JUnit

Komponenten-basierte Entwicklung Teil 6: Einführung in JUnit Komponenten-basierte Entwicklung Teil 6: Einführung in JUnit 31.10.14 1 Literatur und Web [6-1] Vigenschow, Uwe: Objektorientiertes Testen und Testautomatisierung in der Praxis. dpunkt, 2005 [6-2] Westphal,

Mehr

Testen von webbasierten Benutzeroberflächen

Testen von webbasierten Benutzeroberflächen Studiengruppe: IB6C Email: qasmi@hm.edu Dozent: Michael Theis 1 Agenda: Das eine basierte Testumgebung 2 Wer kennt diese Situationen nicht? =>Typische Fehler bei Webanwendungen! 3 Fehler wie diese sollten

Mehr

Programmierpraktikum Java Entdecken. Merkblatt 3

Programmierpraktikum Java Entdecken. Merkblatt 3 Technische Universität München Fakultät für Informatik Prof. Dr. Helmut Seidl Michael Petter Melanie Dietz Raphael Geissler SS 2005 Programmierpraktikum Java Entdecken 1 extreme Programming Merkblatt 3

Mehr

Thomas Freitag achelos GmbH SmartCard-Workshop. 1 2012 achelos GmbH

Thomas Freitag achelos GmbH SmartCard-Workshop. 1 2012 achelos GmbH Thomas Freitag achelos GmbH SmartCard-Workshop 2012 1 2012 achelos GmbH Übersicht 1. 2. 3. 4. 5. 6. 7. Einführung / Motivation Historie des Testens Schnittstellen im Testbereich Eclipse Plugins Automatisierung,

Mehr

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Fortgeschrittenes Programmieren mit Java. Test Driven Development Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test

Mehr

Systematisches Testen

Systematisches Testen Systematisches Testen SEP 136 Unit Testing Objektorientierte Entwicklung Entwicklung von vielen unabhängigen Einheiten (Klassen, Methoden), aus denen das Gesamtprogramm zusammengesetzt wird. Ziel: Wenn

Mehr

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. Testen. Tutorial im Rahmen des Software(technik)praktikums SS 2012

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. Testen. Tutorial im Rahmen des Software(technik)praktikums SS 2012 Testen Tutorial im Rahmen des Software(technik)praktikums SS 2012 Grundlagen (1) Software ist ein fundamentales Element in der Softwarequalitätssicherung Software wird am häufigsten eingesetzt Viele Organisationen

Mehr

Qualitätssicherung von Software am Beispiel von Unit Testing. Klaus Kusche, Mai 2012

Qualitätssicherung von Software am Beispiel von Unit Testing. Klaus Kusche, Mai 2012 Qualitätssicherung von Software am Beispiel von Unit Testing Klaus Kusche, Mai 2012 Inhalt Motivation Definition von Unit Tests, Einordnung in der QA, Nutzen Einordnung im V-Modell (==> Tafel) Inhalt,

Mehr

Der EMF-generierte Code. 7. November 2012

Der EMF-generierte Code. 7. November 2012 Der EMF-generierte Code 7. November 2012 Überblick Wie sieht der aus einem EMF-Modell generierte Code aus? Wie ist die Beziehung zwischen Modell und Code? Wie kann generierter Code durch handgeschriebenen

Mehr

Java Schulung. Objektorientierte Programmierung in Java Teil V: Die Java Collection Klassen. Prof. Dr. Nikolaus Wulff

Java Schulung. Objektorientierte Programmierung in Java Teil V: Die Java Collection Klassen. Prof. Dr. Nikolaus Wulff Java Schulung Objektorientierte Programmierung in Java Teil V: Die Java Collection Klassen Prof. Dr. Nikolaus Wulff Collections in Java 2 Java 2 Collections: http://java.sun.com/products/jdk/1.2/docs/guide/collections/index.html

Mehr

Test-Driven Design: Ein einfaches Beispiel

Test-Driven Design: Ein einfaches Beispiel Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Piotr Kosiuczenko, Dirk Pattinson 05/03 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel

Mehr

Programmierprojekt: So0ware Tests. Anne6e Bieniusa Sommersemester 2017

Programmierprojekt: So0ware Tests. Anne6e Bieniusa Sommersemester 2017 Programmierprojekt: So0ware Tests Anne6e Bieniusa Sommersemester 2017 Testen Kernfrage: Erfüllt die So0ware ihre Anforderungen / SpezifikaGon? FunkGonale Anforderungen Korrekte Ergebnisse bei Berechnungen

Mehr

Java Schulung. Objektorientierte Programmierung in Java. Prof. Dr. Nikolaus Wulff

Java Schulung. Objektorientierte Programmierung in Java. Prof. Dr. Nikolaus Wulff Java Schulung Objektorientierte Programmierung in Java Prof. Dr. Nikolaus Wulff Was ist Java? Java ist eine einfache, objektorientierte, verteilte, interpretierte, robuste, sichere, architekturneutrale,

Mehr

Softwaretest. Algorithmen und Programmieren II SS 2008 Objektorientierte Programmierung. Algorithmen und Programmierung II SS 2008

Softwaretest. Algorithmen und Programmieren II SS 2008 Objektorientierte Programmierung. Algorithmen und Programmierung II SS 2008 Algorithmen und Programmieren II SS 2008 Objektorientierte Programmierung Softwaretest 03.07.2008 Softwaretest Ingo Dageförde 1 Agenda VL Softwaretest am 03.07.2008 Qualitätssicherung in der Softwareentwicklung

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Beuth Hochschule Java-Testprogramme mit JUnit schreiben WS11/12

Beuth Hochschule Java-Testprogramme mit JUnit schreiben WS11/12 Beuth Hochschule Java-Testprogramme mit JUnit schreiben WS11/12 Java-Testprogramme mit JUnit schreiben JUnit ist ein Framework, welches das Schreiben von Testprogrammen in Java unterstützt. Für andere

Mehr

Simulation und Bildanalyse mit Java Tests in Informatik und Statistik Modul-Tests mit JUnit

Simulation und Bildanalyse mit Java Tests in Informatik und Statistik Modul-Tests mit JUnit Simulation und Bildanalyse mit Java Tests in Informatik und Statistik Modul-Tests mit JUnit Robert Pintarelli 10.05.2004 Zusammenfassung Durch das systematische Testen von Software zur Entwicklungszeit

Mehr

Testgetriebene Webentwicklung mit PHPUnit

Testgetriebene Webentwicklung mit PHPUnit Testgetriebene Webentwicklung mit PHPUnit Oliver Cremerius 17.01.2013 FH AACHEN UNIVERSITY OF APPLIED SCIENCES FACHBEREICH WIRTSCHAFTSWISSENSCHAFTEN WWW.FH-AACHEN.DE Testgetriebene Webentwicklung mit PHPUnit

Mehr

Qualität von Software - Prof. Schlingloff, Lackner - SS2013 DYNAMISCHER TEST. Whitebox Testen mit JUnit

Qualität von Software - Prof. Schlingloff, Lackner - SS2013 DYNAMISCHER TEST. Whitebox Testen mit JUnit 1 DYNAMISCHER TEST Whitebox Testen mit JUnit Übersicht 2 1. Grundlagen des Unittests 1. Units 2. Unit Testing 2. Testverfahren 1. Blackbox 2. Whitebox 3. Unit Testing mit Eclipse 4. Besprechung der Übungsaufgabe

Mehr

Akzeptanztesten mit Integrity und FitNesse Ein Vergleich

Akzeptanztesten mit Integrity und FitNesse Ein Vergleich Akzeptanztesten mit Integrity und FitNesse Ein Vergleich Dehla Sokenou GEBIT Solutions TAV35, Ingolstadt Motivation Akzeptanztest als letzte Phase im Softwareentwicklungsprozess Idealerweise durch den

Mehr

Ein Eclipse-Framework zur Markierung von logischen Fehlern im Quellcode

Ein Eclipse-Framework zur Markierung von logischen Fehlern im Quellcode FACHBEREICH INFORMATIK LEHRGEBIET PROGRAMMIERSYSTEME Prof. Dr. Friedrich Steimann Abschlussarbeit im Studiengang Master of Computer Science Ein Eclipse-Framework zur Markierung von logischen Fehlern im

Mehr

Konzeption. und prototypische Implementierung. eines Werkzeuges. für den funktionalen Klassentest

Konzeption. und prototypische Implementierung. eines Werkzeuges. für den funktionalen Klassentest Konzeption und prototypische Implementierung eines Werkzeuges für den funktionalen Klassentest Übersicht Motivation Zielsetzung Lösungsansatz und dessen Realisierung Anwendungs-Szenarien Präsentation von

Mehr

Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung

Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung Jan Düttmann Archimedon Software + Consulting GmbH & Co. KG Marienstraße 66 32427 Minden Stephan Kleuker Hochschule

Mehr

Software Systems Engineering. Sommersemester 2013. Prof. Dr. Klaus Schmid. 28.01.2013, SoSe 13 Prof. Dr. Klaus Schmid 1

Software Systems Engineering. Sommersemester 2013. Prof. Dr. Klaus Schmid. 28.01.2013, SoSe 13 Prof. Dr. Klaus Schmid 1 Software Sommersemester 2013 Prof. Dr. Klaus Schmid 1 Kapitel 1: Java - Grundlagen Inhalt 1. Veranstaltungen im Sommersemester 2013 2 2. Aktuelle Abschluss- und Projektarbeiten 8 3. Offene HiWi Stellen

Mehr

Automatisierte Modultests mit JUnit

Automatisierte Modultests mit JUnit Vorlesung Softwaretechnologie 2007/8 Dr. Günter Kniesel R O O T S Kapitel 9b Automatisierte Modultests mit JUnit Warum automatisierte Tests? Automatisierte Modultests mit JUnit Test-first und Continuous

Mehr

Testen von Android- Anwendungen. 6. Juni 2013

Testen von Android- Anwendungen. 6. Juni 2013 Testen von Android- Anwendungen 6. Juni 2013 Taentzer Software-Praktikum 2013 91 Überblick Entwicklung von Testfällen informelle Beschreibung der Testfälle auf Basis der Anwendungsfallbeschreibungen Implementierung

Mehr

Serbest Hammade / Resh serbest.hammade@hammade.de. Do, 21. Juni 2012

Serbest Hammade / Resh serbest.hammade@hammade.de. Do, 21. Juni 2012 Serbest Hammade / Resh serbest.hammade@hammade.de Do, 21. Juni 2012 Continuous Integration Konzept von Continuous Integration Vorraussetzungen für CI Vor- & Nachteile Jenkins Beispiel mit Java Beispiel

Mehr

Kurzanleitung JUnit. 1 Grundlagen. 1.1 Begriffsdefinitionen. 1.2 Empfehlungen

Kurzanleitung JUnit. 1 Grundlagen. 1.1 Begriffsdefinitionen. 1.2 Empfehlungen JUnit ist ein Testframework zum Testen von Java-Code. Es eignet sich besonders gut zum automatisierten Testen und ist ein wichtiges Hilfsmittel des Extreme Programmings, bei dem der Test-First-Ansatz angewendet

Mehr

U08 Entwurfsmuster (II)

U08 Entwurfsmuster (II) U08 Entwurfsmuster (II) Inhalt der Übung Diskussion und Implementierung von Entwurfsmustern Übungsaufgaben Aufgabe 1 (Queue) Gegeben ist das folgende Analysemodell einer Warteschlange (Queue): Eine Warteschlange

Mehr

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Aufgabe : Die allgemeine Object-Liste Gegeben sei folgendes UML-Klassendiagramm: MyObjectList

Mehr

Testen und Debuggen von Webanwendungen

Testen und Debuggen von Webanwendungen Testen und Debuggen von Webanwendungen Leif Singer leif.singer@inf.uni-hannover.de Seminar Aktuelle Software-Engineering-Praktiken für das World Wide Web 16.06.2010 Übersicht Grundlagen Usability-Tests

Mehr