OOSE4 Testen mit BlueJ/JUnit 4

Ähnliche Dokumente
JUnit 4 Tutorial. Wolfgang Stöttinger

A very very very very short intro to. Testing

Programmiertechnik II

Systematisches Testen

Enterprise JavaBeans Überblick

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck

Programmentwicklung ohne BlueJ

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

The process runs automatically and the user is guided through it. Data acquisition and the evaluation are done automatically.

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

Effizientes Programmieren

CABLE TESTER. Manual DN-14003

Das Test-Framework JUnit ETIS SS04

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

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Semesterprojekt Semantic Text Browsing. Ulf Leser, Philippe Thomas (, Lars Döhling)

KURZANLEITUNG. Firmware-Upgrade: Wie geht das eigentlich?

Software Engineering in der Praxis

German Geography Cookie Unit Haley Crittenden Gordon German Teacher Lee High School & Key Middle School (adapted from Angelika Becker)

Programmier-Befehle - Woche 10

Unit Testing mit JUnit. Dr. Andreas Schroeder

Therefore the respective option of the password-protected menu ("UPDATE TUBE DATA BASE") has to be selected:

NEWSLETTER. FileDirector Version 2.5 Novelties. Filing system designer. Filing system in WinClient

ReadMe zur Installation der BRICKware for Windows, Version ReadMe on Installing BRICKware for Windows, Version 6.1.2

Swp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept

Kurzanleitung JUnit. 1 Grundlagen. 1.1 Begriffsdefinitionen. 1.2 Empfehlungen

JUnit. Unit testing unter Java

Thema: Testen von objektorientierter Software

1. General information Login Home Current applications... 3

miditech 4merge 4-fach MIDI Merger mit :

Softwareupdate-Anleitung // Porty L 600 / Porty L 1200

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

Cameraserver mini. commissioning. Ihre Vision ist unsere Aufgabe

Effizienz im Vor-Ort-Service

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

Mul$media im Netz (Online Mul$media) Wintersemester 2014/15. Übung 02 (Nebenfach)

How to create a Gift Certificate Wie man ein Gift Certificate (Gutschein) erstellt

Programmieren in Java

Unit Tests mit Junit 4. Dario Borchers

Meeting and TASK TOOL. Bedienungsanleitung / Manual IQxperts GmbH. Alle Rechte vorbehalten.

Instruktionen Mozilla Thunderbird Seite 1

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

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Teil 2.2: Lernen formaler Sprachen: Hypothesenräume

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

Unit Tests und Fehlersuche

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

Einstieg in die Informatik mit Java

USB Treiber updaten unter Windows 7/Vista

Software-Engineering Software-Management

CNC ZUR STEUERUNG VON WERKZEUGMASCHINEN (GERMAN EDITION) BY TIM ROHR

1. Einführung und Unit Testing Programmieren / Algorithmen und Datenstrukturen 2

Angewandte IT-Sicherheit

Klassen von Testfällen. 3. Äquivalenzklassentests. Äquivalenzklassenbildung. Beispiele für Äquivalenzklassen von Eingaben

User Manual BB-anywhere

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

PONS DIE DREI??? FRAGEZEICHEN, ARCTIC ADVENTURE: ENGLISCH LERNEN MIT JUSTUS, PETER UND BOB

Daimler. Patent Portfolio PRE-SAFE.

Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Software Engineering. 3. JUnit und ANT. Franz-Josef Elmer, Universität Basel, HS 2012

p^db=`oj===pìééçêíáåñçêã~íáçå=

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL USER GUIDE June 2016

Geometrie und Bedeutung: Kap 5

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL - USER GUIDE June 2016

IDS Lizenzierung für IDS und HDR. Primärserver IDS Lizenz HDR Lizenz

FWP Komponentenorientierte Softwareentwicklung Test-Driven-Development mit Java

SemTalk Services. SemTalk UserMeeting

Abteilung Internationales CampusCenter

Yealink W52 DECT IP Telefon

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014

Englisch Klasse 8 - Name:

Parameter-Updatesoftware PF-12 Plus

Testen im Software- Lebenszyklus

4) Validation eines Programs mit Hilfe von Tests. 4.1) Grundlagen des Testens. Literatur. Grundlagen

Hackerpraktikum SS 202

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

Ethernet Connection Ecograph / Memograph / Energy and Application Manager

Software-Test: Funktionstest

Supplier Status Report (SSR)

Produktinformation _185PNdeen

!! Um!in!ADITION!ein!HTML51Werbemittel!anzulegen,!erstellen!Sie!zunächst!ein!neues! Werbemittel!des!Typs!RichMedia.!!!!!!

Getting started with MillPlus IT V530 Winshape

Das automatisierte Testen mit JUnit

Snom 3xx/7xx Serie. Manuelle Neukonfiguration. Dokumentenversion 1.0

Aufgaben Objektentwurf

Nachdem Sie die Datei (z.b. t330usbflashupdate.exe) heruntergeladen haben, führen Sie bitte einen Doppelklick mit der linken Maustaste darauf aus:

ENGLISCH EINSTUFUNGSTEST 1 A1-A2 SPRACHNIVEAU

Name: Klasse/Jahrgang: Standardisierte kompetenzorientierte schriftliche Reife- und Diplomprüfung HUM. 12. Jänner Englisch.

Objekte nutzen und testen. Dienstag, 8. Mai: keine Vorlesung! Konzepte (Wiederholung vom Freitag) Vgl. Kapitel 5-6 im BlueJ-Buch.

J2EE-Praktikum. EJB-Security. Peter Thiemann. J2EE-Praktikum, WS2005/2006. Universität Freiburg

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

Level 1 German, 2014

AS Path-Prepending in the Internet And Its Impact on Routing Decisions

Testen von graphischen Benutzeroberflächen. 26. Juni 2013

Mock-Objekte. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825

Einsatz einer Dokumentenverwaltungslösung zur Optimierung der unternehmensübergreifenden Kommunikation

Documentation TYC. Registration manual. Registration and Login. issued 1. April 2013 by EN changed 11. June 2015 by EN version 1 status finished

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

Testen mit JUnit. Motivation

Umschaltadapter/ Changeover / Trennadapter Disconnection Adapter für LSA-PLUS NT for LSA-PLUS NT. Montageanweisung Mounting Instructions

Transkript:

OOSE4 Testen mit BlueJ/JUnit 4 Lehrstuhl Softwaretechnologie, Dr. Birgit Demuth Sommersemester 2016

Vorgehen beim Unit-Test allgemein 1. Testfälle ausdenken / Testfalltabellen erstellen 2. Testfälle nach gemeinsamen Fixtures (Halterungen) in Klassen gruppieren 3. i. Allg. pro Testklasse eine Halterung (Fixture) Methode setup() Methode teardown() pro Testfall eine Testmethode schreiben 4. Testfälle (nach Änderungen im Programm wiederholt) ausführen Regressionstest Birgit Demuth Softwaretechnologie SS 2015 / U04

Wie wähle ich Testdaten für Testfälle aus (Vorlesung!) Bestimme die Extremwerte der Parameter der zu testenden Methode (Grenzwertanalyse) Nullwerte immer testen, z.b. 0 oder null Randwerte z.b. 1.1. und 31.12. Bestimme Bereichseinschränkungen Werte außerhalb eines Zahlenbereiches Negative Werte, wenn natürliche Zahlen im Spiel sind Bestimme Äquivalenzklassen von Testdaten und teste nur die Repräsentanten Bestimme Zustände, in denen sich ein Objekt nach einer Anweisung befinden muss Bestimme alle Werte aller booleschen Bedingungen in der Methode (Steuerfluss) SS2016 OOSE<x> 3

Äquivalenzklassenbildung (1) Anforderungen genau definieren Beispiel Basispreis für Flug von A nach B kostet 100$. Buchung im Reservierungssystem für Reihe 1-10 kostet 20$ mehr, Reihe 11-21 kosten 10$ weniger. Das Flugzeug hat nur 21 Sitzreihen. Essen kostet 5$ extra. Wenn Frühbucher (bis 4 Wochen vor Flugtermin), dann 10%Rabatt auf Gesamtpreis, bis zwei Wochen vor Flugtermin 5 %, sonst kein Rabatt auf Buchung. SS2016 OOSE<x> 4

Äquivalenzklassenbildung (2) Bildung der Äquivalenzklasse durch Klassifizierung der Wertebereiche für Ein- und Ausgabedaten Beispiel Parameter 1: Basispreis ÄK11={100 } Parameter 2: Reihe // Das Flugzeug hat nur 21 Reihen. ÄK21={1-10} ÄK22={11-21} Parameter 3: Verpflegung // Ja - Nein ÄK31={keine Verpflegung} ÄK32={Verpflegung} Parameter 4: Rabatt // 3 Rabattierungstypen ÄK41={bis 4 Wochen vor Termin} ÄK42={bis 2 Wochen vor Termin} ÄK43={kein Rabatt} SS2016 OOSE<x> 5

Äquivalenzklassenbildung (3) Definition von Testfällen für 1. gültige Äquivalenzklassen Beispiel 100% Äquivalenzklassenabdeckung (Vollständige Abdeckung) 1*2*2*3 = 12 Testfälle 2. ungültige Äquivalenzklassen Beispiel Negativer Basispreis Ungültige Sitzreihen Ungültiger Rabattierungstyp SS2016 OOSE<x> 6

Schreiben von Unit-Tests mit BlueJ (verwendet JUnit 4) Verwendung von Annotationen um Methoden als Testmethoden zu kennzeichnen die Testabarbeitung zu konfigurieren Empfehlenswertes Tutorials Junit 4 allgemein http://www.frankwestphal.de/junit4. 0.html BlueJ / JUnit4 http://www.bluej.org/tutorial/testingtutorial.pdf Annotation @Test public void method() @Test (expected = Exception.class) @Test(timeout=100) @Before public void method() @After public void method() @BeforeClass public static void method() @AfterClass public static void method() @Ignore Description The @Test annotation identifies a method as a test method. Fails if the method does not throw the named exception. Fails if the method takes longer than 100 milliseconds. This method is executed before each test. It is used to prepare the test environment (e.g., read input data, initialize the class). This method is executed after each test. It is used to cleanup the test environment (e.g., delete temporary data, restore defaults). It can also save memory by cleaning up expensive memory structures. This method is executed once, before the start of all tests. It is used to perform time intensive activities, for example, to connect to a database. Methods marked with this annotation need to be defined as static to work with JUnit. This method is executed once, after all tests have been finished. It is used to perform clean-up activities, for example, to disconnect from a database. Methods annotated with this annotation need to be defined as static to work with JUnit. Ignores the test method. This is useful when the underlying code has been changed and the test case has not yet been adapted. Or if the execution time of this test is too long to be included. Birgit Demuth Softwaretechnologie SS 2015 / U04

BlueJ / Junit 4 TESTVARIANTE 1 Birgit Demuth Softwaretechnologie SS 2015 / U04

Testfalltabelle für die Methode steuer() Testfall Erwarteter Status Klasse int einkommen Ausgabe E1 Exception Einwohner -1 Einkommen darf nicht negativ sein E2 ok Einwohner 0 1 E3 ok Einwohner 20 2 E4 ok Einwohner 25 2 Birgit Demuth Softwaretechnologie SS 2015 / U04

Test mit BlueJ/JUnit 4 (TestKoenigreich_V1) Birgit Demuth Softwaretechnologie SS 2015 / U04

Test mit BlueJ/JUnit 4 (TestKoenigreich_V1) Birgit Demuth Softwaretechnologie SS 2015 / U04

javadoc von Junit 4 Birgit Demuth Softwaretechnologie SS 2015 / U04

Test mit BlueJ/JUnit 4 (TestKoenigreich_V1) Birgit Demuth Softwaretechnologie SS 2015 / U04

INLOOP Tests reverse? JUnit-Tests werden in INLOOP bereitgestellt SS2016 OOSE<x> 14

Java Training mit Code Hunt SS2016 OOSE<x> 15

Kleiner erweiterter Selbsttest http://bit.do/oose_test Fragen der letzten Übung (OOSE 3) Zusätzliche Fragen zum Testen Bei Angabe einer Emailadresse wird das Ergebnis des Selbsttestes an diese Emailadresse zugeschickt SS 2016 OOSE 3 16