Testtechniken-Praktikum WS 2005/06 1 Besprechung Java-Test/Aufgabe 1 Andreas Höfer Dr. Matthias Müller.

Slides:



Advertisements
Ähnliche Präsentationen
Software Engeniering II
Advertisements

Eine Testumgebung für Java
Dr. Andreas Winter Sommersemester 2007 Einführung in die Software-Entwicklung © Institut für Informatik Programmier-Richtlinien vgl. auch
der Universität Oldenburg
Imperative Programmierung -Entwicklungswerkzeuge
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
Java: Grundlagen der Objektorientierung
Klassenvariable (auch Klassendaten bzw. statische Attribute genannt) und statische Methoden.
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.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Imperative Programmierung Funktionen und Parameter
Das Test-Framework JUnit
Einführung in die Programmierung mit Java
Java-AG Ausnahmebehandlung Gerhard Gröger.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte.
Einführung in Java Alexander Dreßler modifiziert Peter Brichzin und Matthias Spohrer Literatur Installation der Programme.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Struktogramme IF-ELSE FOR – Schleife
Template Pattern Richard Göbel.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen Übungsmodul 5 Dr. W. Narzt u. Dr. A. Stritzinger.
Testtechniken-Praktikum WS 2005/06 1 Testen mit Mock- Objekten Andreas Höfer Dr. Matthias Müller.
Objektorientiertes Konstruieren
Testtechniken-Praktikum WS 2005/06 1 Testgetriebene Entwicklung Andreas Höfer Dr. Matthias Müller mit Beiträgen von Johannes Link.
„einfaches Java Programm“
ac.at1 EPROG Tutorium #1 Philipp Effenberger Einführung in Java Schlüsselworte Datentypen.
EPROG Tutorium #4 Philipp Effenberger
EPROG Tutorium #6 Philipp Effenberger
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
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Starten der Entwicklungsumgebung (IDE)
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
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.
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Instanzmethoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Java-Kurs Übung Benutzeroberflächen und Graphik
Robuste Programme durch Ausnahmebehandlung
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Einführung in die Programmierung mit Java
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Lösung der Hausaufgaben von Vorlesung 10 Universität Bonn Institut für Kartografie und Geoinformation Dipl.-Ing. Dörschlag, Dr. Gröger, Prof. Dr. Plümer.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003 Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger,
Test 1 Test 2 Test 3. Test 4 Test 5 Test 6 Test 7 Test 8 Test 9.
Tutorium Software-Engineering SS14 Florian Manghofer.
Einführung in die Programmierung mit Java
Test.
Cäsar-Verschlüsselung
Grundkurs Informatik mit Java
Cäsar-Verschlüsselung
 Präsentation transkript:

Testtechniken-Praktikum WS 2005/06 1 Besprechung Java-Test/Aufgabe 1 Andreas Höfer Dr. Matthias Müller

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 2 Richtige Antworten pro Aufgabe

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 3 Erreichte Punkte

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 4 Auffälligkeiten in Lösungen zu Aufgabe 1 (1/2) Testmuster für erwartete Ausnahmen nicht beachtet Testmuster für erwartete Ausnahmen nicht beachtet Mangelnde Isolation der Methoden beim Test Mangelnde Isolation der Methoden beim Test LimitExceededException nicht getestet LimitExceededException nicht getestet setUp() / tearDown() überschrieben aber nicht verwendet setUp() / tearDown() überschrieben aber nicht verwendet Testklasse und Testsuite in einer Datei Testklasse und Testsuite in einer Datei main -Methode in Testklasse main -Methode in Testklasse Fehlende Java-Pakete Fehlende Java-Pakete

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 5 Auffälligkeiten in Lösungen zu Aufgabe 1 (2/2) Ungeeignete assert*() -Methoden Ungeeignete assert*() -Methoden Sinnlose Javadocs Sinnlose Javadocs Java Style Guidelines missachtet Java Style Guidelines missachtet Formatierung Formatierung Klassennamen Klassennamen Methodennamen Methodennamen CodeConventions.pdf CodeConventions.pdf CodeConventions.pdf CodeConventions.pdf

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 6 4 Fehler Account -Konstruktor akzeptiert kein Limit von 0 Account -Konstruktor akzeptiert kein Limit von 0 deposit -Methode setzt Kontostand neu deposit -Methode setzt Kontostand neu withdraw -Methode beachtet bei der Überprüfung auf Überschreitung des Kreditrahmens nur den aktuellen Kontostand, abzuhebender Betrag wird nicht eingerechnet withdraw -Methode beachtet bei der Überprüfung auf Überschreitung des Kreditrahmens nur den aktuellen Kontostand, abzuhebender Betrag wird nicht eingerechnet getIntrestRate -Methode liefert falschen Zinssatz für Kontostand > getIntrestRate -Methode liefert falschen Zinssatz für Kontostand > 10000

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 7 Account public Account(int accountNumber, double limit) { if (accountNumber <= 0) { throw new IllegalArgumentException(); } this.accountNumber = accountNumber; //if (limit < 0) { if (limit <= 0) { throw new IllegalArgumentException(); } this.limit = limit; }

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 8 deposit public void deposit(double amount) { if (amount <= 0) { throw new IllegalArgumentException(); } //balance += amount; balance = amount; }

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 9 withdraw public void withdraw(double amount) throws LimitExceededException { if (amount <= 0) { throw new IllegalArgumentException(); } //if (-limit > balance - amount) { if (-limit > balance) { throw new LimitExceededException( "The withdrawal cannot be performed because..."); } balance -= amount; }

Testtechniken-Praktikum WS 2005/06 Andreas Höfer – Dr. Matthias Müller 10 getIntrestRate public double getIntrestRate() { if (balance < 0) { return 0.1; } else if (balance >= 0 && balance = 0 && balance <= 10000) { return 0.005; } //return 0.01; //return 0.01; return 0.001; }