Programmentwicklung in Java: Javadoc & JUnit
|
|
- Paul Dieter
- vor 5 Jahren
- Abrufe
Transkript
1 Java: Kapitel 6 Programmentwicklung in Java: Javadoc & JUnit Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de
2 Überblick über Kapitel 6 Code-Dokumentation mit Javadoc Einführung in Javadoc Javadoc-Kommentare Javadoc-Tags Erstellung der HTML-Dokumentation Unit-Tests mit dem JUnit-Framework Unit-Tests in Java JUnit am Beispiel Testauswertung, Vor- und Nachbereitung von Testfällen Ausführung von JUnit-Testfällen, Integration in Eclip Mock-Objekte 2
3 Javadoc Javadoc ist ein Code-Dokumentationswerkzeug, das aus speziellen Kommentaren im Java-Code eine API-Dokumentation im HTML-Format erzeugt. Javadoc wird von Sun entwickelt und ist Bestandteil der Java SE. Die offizielle Java API-Dokumentation wird mit Javadoc erstellt. 3
4 Javadoc-Kommentierung Die Informationen, die von Javadoc in die Dokumentation aufgenommen werden sollen, müsn im Java-Quellcode als Javadoc- Kommentare angegeben werden: /**... */ Einzelne Parameter, Rückgabewerte etc. werden innerhalb dier Kommentare über etc. Javadoc- Kommentar Kommentar für Rückgabewert public class Personenliste { /** * Liefert die Personen zurück, die am * angegebenen Datum im Jahr Geburtstag haben. * monat Geburtsmonat tag Geburtstag Kommentar für jeden Parameter der Methode Liste der Geburtstagskinder; leere Liste, falls * keine Person an diem Tag Geburtstag hat */ public List<Person> getgeburtstagskinder(int monat, int tag) {... // Implementierung 4
5 Javadoc-Kommentierung (2) /** * Liefert die Personen zurück, die am * angegebenen Datum im Jahr Geburtstag haben. * monat Geburtsmonat tag Geburtstag Liste der Geburtstagskinder; leere Liste, falls * keine Person an diem Tag Geburtstag hat */ 5
6 Übersicht: Wichtige Javadoc-Tags class-name parameter-name classname version-text Beschreibung Adds an Author entry with the specified name-text to the generated docs when the -author option is ud. Adds a comment indicating that this API should no longer be ud (even though it may continue to work). tag is a synonym Adds a parameter with the specified parameter-name followed by the specified description to the "Parameters" ction. Adds a Returns ction with the description text. Adds a See Also heading with a link or text entry that points to reference. Adds a Since heading with the specified since-text to the generated documentation. Adds a Throws subheading to the generated documentation, with the class-name and description text. Adds a Version subheading with the specified versiontext to the generated docs when the -version option is ud. Quelle: Sun ( 6
7 Erstellung der HTML-Dokumentation Manuelle Ausführung von Javadoc: javadoc [options] [packagenames] [sourcefiles] Einzelne Klas: javadoc -d apidoc Personenliste.java Paket: javadoc -d apidoc pe.doctest Die Aufrufe erzeugen im Zielverzeichnis apidoc die Dokumentation für die Klas bzw. das Paket. In Eclip: Über Project Generate Javadoc Javadoc generiert standardmäßig verschiedene HTML-Dateien, Stylesheets etc. im angegebenen Zielverzeichnis. Startite der generierten API-Dokumentation: index.html 7
8 Javadoc Details Javadoc-Kommentare können mit HTML-Tags formatiert werden: /** * Liefert die Personen zurück, die am <strong>angegebenen Datum * </strong> im Jahr Geburtstag haben.<br /><br /> * Aufruf-Beispiel: <code>getgeburtstagskinder(4, 11); </code> */ Javadoc ist nicht auf die Erzeugung von HTML-Dateien beschränkt. Die Verarbeitung der Javadoc-Kommentare erfolgt mit Hilfe sogenannter Doclets. Das Standard-Doclet erzeugt die API- Dokumentation im HTML-Format. Es existieren aber auch Doclets für andere Ausgabeformate (XML, DHTML, Framemaker etc.) und Anwendungszwecke (Prüfung der Kommentare, Testfallgenerierung etc.). Darüber hinaus können mit individuellen Taglets auch verarbeitet werden. 8
9 Unit-Tests Ludewig/Lichter, 2007: Einzeltest Bei diem Test werden einzelne, überschaubare Programmeinheiten getestet, je nach verwendeter Programmiersprache also z. B. Funktionen, Unterprogramme oder Klasn. Er wird häufig als Unit-Test bezeichnet. 9
10 Unit-Tests in Java Als einzelne, überschaubare Einheiten werden in der Regel Klasn gewählt. Für jede zu testende Klas (class under test) wird eine eigene Test- Klas erstellt, die möglichst alle (sichtbaren) Methoden der zu testenden Klas testet. Auch für alle Sonderfälle, Ausnahmefälle und Fehlerfälle einer Klas oder Methode werden Tests implementiert, die die abdecken. Die Testfälle werden innerhalb einer Testumgebung durchgeführt, anschließend werden Soll- und Ist-Ergebnis verglichen. In vielen Fällen werden Unit-Test-Frameworks eingetzt, die die Entwicklung von Unit-Tests erleichtern, indem sie z. B. die Testtreiber bereitstellen. 10
11 JUnit JUnit ist ein Unit-Test-Framework für Java, das ursprünglich von Kent Beck und Erich Gamma entwickelt wurde und mittlerweile als Quasi- Standard für Unit-Tests im Java-Bereich gilt. Motto: Keep the bar green to keep the code clean! Ein farbiger Balken fasst das Ergebnis der Testausführung zusammen: findet der Test keine Fehler, wird der Balken grün; ein roter Balken zeigt Fehler an. Die aktuelle Version JUnit 4 tzt die Neuerungen in Java 5, wie z. B. Annotationen, statische Importe etc., ein (und voraus). 11
12 Merkmale von JUnit Testcode und Anwendungscode sind getrennt. Die Testfälle werden häufig in einer paraten Klasnhierarchie strukturiert. Die einzelnen Testfälle sind unabhängig voneinander, können aber auch zusammengefasst werden. Nach der Ausführung von JUnit wird das Testergebnis sofort angezeigt (grüner bzw. roter Balken). JUnit ist in viele Java-IDEs integriert. 12
13 JUnit-Beispiel: Anwendungsklas Euro Die Anwendungsklas Euro soll getestet werden. Euro repräntiert Euro-Geldbeträge als Wertobjekte. public class Euro { final long cents; public Euro(double d) { cents = Math.round(d * 100.0); public double getbetrag() { return cents / 100.0; public Euro addiere(euro e) { return new Euro(getBetrag() + e.getbetrag()); 13
14 JUnit-Beispiel: Der erste Testfall JUnit-Testfälle werden in normalen Java-Klasn implementiert. Die Kennzeichnung der Testmethoden geschieht über die Für den Vergleich von Soll- und Ist-Resultaten existieren verschiedene asrt-methoden, die statisch importiert werden können. Import der JUnit- Annotation Test Einzelne Testfälle werden als public-void- Methoden implementiert und annotiert. import org.junit.test; import static org.junit.asrt.*; public class EuroTest public void betrag() { Euro dreieuro = new Euro(3.0); asrtequals("getbetrag: ", 3.0, dreieuro.getbetrag(), 0.001); asrtequals vergleicht Soll- und Ist-Resultat (der letzte Parameter gibt die Toleranz bei Gleitkommavergleichen an) Die Ausführung liefert den grünen Balken! Statischer Import der JUnit-asrt-Methoden 14
15 Soll-Ist-Vergleich: asrt ()-Methoden Die Klas org.junit.asrt bietet Vergleichsmethoden, die einzeln oder als Gesamtheit (Asrt.*) statisch importiert und in Testfällen verwendet werden können. Vergleich primitiver Typen, z. B.: asrtequals(int expected, int actual) asrtequals(double expected, double actual, double delta) Delta als Toleranz beim Gleitkommavergleich Vergleich von Objekten, z. B.: asrtequals(object expected, Object actual) Vergleich erfolgt über equals()-methode asrtnotnull(object object) Bedingungen, z. B.: asrttrue(boolean condition) Alle Methoden existieren auch als Variante mit Fehlermeldung: asrttrue(string message, boolean condition) 15
16 Vor- und Nachbereitung von Testfällen Häufig sind vor oder nach der Ausführung der Testfälle bestimmte Vorbereitungs- oder Aufräumarbeiten notwendig. Sollen bestimmte Methoden vor oder nach jedem Testfall ausgeführt werden, können die annotiert werden. public class EuroTest { Euro public void vorbereitung() { dreieuro = new public void betrag() { asrtequals(3.0, dreieuro.getbetrag(), public void addieren() { Euro chseuro = dreieuro.addiere(dreieuro); asrtequals(6.0, chseuro.getbetrag(), 0.001); Wird vor erneut ausgeführt Wichtig: Methode muss public void und parameterlos in! Für die einmalige Ausführung von statischen Methoden vor bzw. nach allen Testfällen in einer Testklas existieren die 16
17 Erwartetete Ausnahmen Wenn eine Ausnahme (Exception) erwartet wird, kann die erwartete Ausnahme (bzw. ihr Class-Objekt) als Attribut expected Annotation angegeben public void divisiondurchnull() { Division durch Null: hier wird eine int ergebnis = 3 / 0; ArithmeticException erwartet Der Testfall ist erfolglos (grüner Balken), wenn eine Ausnahme auftritt; tritt keine Ausnahme auf, ist der Test erfolgreich (roter Balken). 17
18 Ausführung von JUnit-Testfällen JUnit-Testfälle können integriert innerhalb der IDE, aber auch manuell über die Kommandozeile ausgeführt werden. Beispiel (Windows): java -cp %JUNIT_HOME%\junit.jar;. org.junit.runner.junitcore paket.klas JUnit kann in beliebige Java-Programme eingebunden und Testfälle auf die Wei ausgeführt werden. Die Auswertung (und Anzeige) der Testergebnis muss in diem Fall vom aufrufenden Programm durchgeführt werden. import org.junit.runner.junitcore; import org.junit.runner.result; Beliebige Anzahl auszuführender Testklasn public class RunMyTests { public static void main(string[] args) { Result testresult = JUnitCore.runClass( EuroTest.class, NochEineTestklas.class); System.out.println("Fehler: " + testresult.getfailurecount()); Individuelle Auswertung 18
19 JUnit in Eclip: Einbindung Eclip unterstützt JUnit 4 von Haus aus. Die JUnit-Bibliothek kann über die Project Properties eingebunden werden. Wichtig: Version 4 von JUnit einbinden! 19
20 JUnit in Eclip: Ausführung Über Run As JUnit Test können einzelne Klasn (mit JUnit-Testfällen) oder ganze Pakete mit Testklasn als JUnit-Test ausgeführt werden Beispiel: Testklas mit insgesamt 7 Testfällen, von denen einer (parfehler) erfolgreich ist. 20
21 Mock-Objekte Häufig werden bei Unit-Tests Ressourcen benötigt, die bei der Testausführung nicht zur Verfügung stehen, weil sie z. B. noch nicht fertig sind oder die Anbindung zu aufwändig wäre. Typische Beispiele: Datenbank, Server, andere Programmkomponenten etc. In solchen Fällen kann es sinnvoll in, Mock-Objekte einzutzen. Mock-Objekte sind Attrappen: sie implementieren die gleiche Schnittstelle wie die echten Objekte und können die deshalb für den Test ertzen (und simulieren). In der Java API werden Schnittstellen intensiv verwendet. Die Voraustzungen für Mock-Objekte sind somit häufig gegeben. Tests können somit unabhängig von der Verfügbarkeit der echten Objekte (bzw. Infrastruktur) durchgeführt werden. 21
22 Mock-Objekte: Beispiel MockDatenbank +holepersonen(): List<Person> public List<Person> holepersonen() { List<Person> liste = new ArrayList<Person>(); Person p1 = new Person( "Carl Coder", 27, ); Person p2 = new Person( "Lisa Lind", 21, ); liste.add(p1); liste.add(p2); return liste; Mock-Objekt: simuliert eine Datenbank und liefert einige sinnvolle Person-Objekte zurück «interface» Datenbank +holepersonen(): List<Person> SQLDatenbank In der Anwendung wird nur gegen die Schnittstelle implementiert +holepersonen(): List<Person> public List<Person> holepersonen() {... Connection c = DriverManager.getConnection( "jdbc:derby:testdb;create=true"); Statement s = c.createstatement(); ResultSet r = s.executequery( "SELECT * FROM person");... Echter Datenbankzugriff (für den Test evtl. nicht verfügbar, zu teuer o.ä.) 22
Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik
Programmieren I Dokumentation mit javadoc Heusch 10.4 Ratz 4.1.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Automatische Dokumentation Java bietet standardmäßig das Dokumentationssystem
Mehr3. 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?
MehrProgrammieren I. Dokumentation mit Javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik
Programmieren I Dokumentation mit Javadoc Heusch 10.4 Ratz 4.1.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Automatische Dokumentation Java bietet standardmäßig das Dokumentationssystem
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrTestgetriebene 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
MehrSystematisches 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
MehrJava: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder
Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform
MehrEnterprise 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.
MehrJava Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation
Java Tools JDK http://www.oracle.com/technetwork/java/javase/ Downloads IDEs Java SE 8 Java SE 8 Documentation Eclipse http://www.eclipse.org IntelliJ http://www.jetbrains.com/idea/ NetBeans https://netbeans.org/
MehrJUnit. 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
MehrTest-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
MehrOOSE_02E Testen mit BlueJ/JUnit 4
OOSE_02E Testen mit BlueJ/JUnit 4 Lehrstuhl Softwaretechnologie, Dr. Birgit Demuth Sommersemester 2018 Vorgehen beim Unit-Test allgemein 1. Testfälle ausdenken / Testfalltabellen erstellen 2. Testfälle
MehrKurzanleitung JUnit I S A. 1 Grundlagen. 1.1 Begriffsdefinitionen. 1.2 Empfehlungen
nstitut für SoftwareArchitektur Fachbereich MN Fachhochschule Gießen-Friedberg nstitut für SoftwareArchitektur Kurzanleitung JUnit JUnit ist ein Testframework zum Testen von Java-Code. Es eignet sich besonders
MehrOracle & Java HOW TO
Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau
MehrOOSE4 Testen mit BlueJ/JUnit 4
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
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrJUnit 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
MehrEnterprise JavaBeans Überblick: 8. Test-Driven Development. 8.1 Einleitung 8.2 Beispiel 8.3 Anwendung mit Eclipse und dem JBoss Application Server
Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrProgrammieren. JUnit-Tests. Heusch -- Ratz -- Institut für Angewandte Informatik
Programmieren JUnit-Tests Heusch -- Ratz -- KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Testgetriebene Entwicklung (auch testgesteuerte Programmierung, engl. test first development
MehrOOP Aufgabenblatt November 2013
1 Prof. Dr. Th. Letschert OOP Aufgabenblatt 5 12. November 2013 Aufgabe 1 Betrachten Sie folgende Funktion zur Division von ganzzahligen Werten: /** * Dividiert zwei ganzzahlige Werte und liefert das Ergebnis
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
MehrOrganisatorisches. Ersatztermine UE: - Gruppe 1: Di, , 18:00-19:30 - Gruppe 2: Mi, , 18:00-19:30. VO am
Organisatorisches Ersatztermine UE: - Gruppe 1: Di, 24.10., 18:00-19:30 - Gruppe 2: Mi, 25.10., 18:00-19:30 VO am 31.10. entfällt dafür 24.10.2017 IT I - VO 4 1 IT I: Heute Nachbetrachtung Wissensüberprüfung
MehrAufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen
Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Aufgabenblatt 4 Aufgabe 1 1. Erläutern Sie in eigenen Worten die Begriffe Datenstruktur, Datentyp und abstrakter Datentyp. Nutzen Sie das Beispiel
MehrSchwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen
Schwerpunkte 10. Felder (Arrays) Teil 1 Java-Beispiele: Echo.java Primzahlen.java Monate.java Klassifikation von Typen in Programmiersprachen Array: einziger strukturierter Typ in Java Deklaration, Erzeugung
Mehr9. Ausnahmebehandlung
Schwerpunkte Ausnahmen und Laufzeitfehler 9. Ausnahmebehandlung Java-Beispiele: Ausnahme.java TryCatch.java TryCatchAll.java Finally.java TryInTry.java KeyboardTry.java Oeffnungszeit.java Stack-Trace Java-Ausnahmeklassen-Hierarchie
MehrDas 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
MehrInformatik II Übung 1
Informatik II Übung 1 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 28.2.2018 Carina Fuss 28.2.2017 1 Administratives ab nächstem Mal: Beginn um 13:00! Fragen aus der Vorlesung, Praktisches, Nachbesprechung
MehrJAVA Kommentieren mit Javadoc
Übungen Informatik I JAVA Kommentieren mit Javadoc Übungen Informatik 1 1 Kommentare in Java / mehrzeiliger Kommentar / // einzeiliger Kommentar Sichtbar nur im Quelltext Beschreiben für Entwickler was
MehrJUnit - 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
MehrIT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1
IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft
MehrMock-Objekte. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Mock-Objekte Verschiedene Testhelfer Ein Stummel (engl. stub) ist ein nur rudimentär implementierter Teil der Software und dient als Platzhalter
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrUnit 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
Mehr8. Generics Grundlagen der Programmierung 1 (Java)
8. Generics Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 6. Dezember 2005 Einordnung im Kontext der Vorlesung 1.
MehrSoftware-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
MehrInformatik II (D-ITET) Informatik II (D-ITET) Übungsstunde 1. Distributed Systems Group, ETH Zürich
Informatik II (D-ITET) Informatik II (D-ITET) simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Übungsstunde 1 Informatik II (D-ITET) 1 Ablauf Überblick + Administratives Besprechung der Vorlesung
MehrErreichbarkeit von Klassenelementen. Daten verstecken und kapseln
Daten verstecken und kapseln Sichtbarkeitsmodifikatoren: public Klasse, Variable oder Methode überall sichtbar und damit auch überall benutztbar. private private-variable sind nur in den Methoden sichtbar,
MehrProgrammierprojekt: 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
MehrFachgebiet 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
MehrOrganisatorisches. VO und UE am bleiben am Wissensüberprüfung beginnt schon etwas früher: Do, , 10:30 bis 11:30 (HR)
Organisatorisches VO und UE am 15.11. bleiben am 15.11. Wissensüberprüfung beginnt schon etwas früher: Do, 15.11., 10:30 bis 11:30 (HR) UE beginnt früher: Do, 15.11., 11:45 bis 13:00 (HS FöT) (beide Gruppen
MehrA very very very very short intro to. Testing
A very very very very short intro to Testing Testen ist Teil von V&V V&V Validierung und Verifikation Validierung Erstellen wir das richtige Produkt? Soll gewährleisten, dass das Softwaresystem die Kundenerwartungen
MehrTeil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen
Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für
MehrProgrammiermethodik. Übung 3
Programmiermethodik Übung 3 Wintersemester 2011 / 12 Fachgebiet Software Engineering george@uni-kassel.de Agenda Besprechung HA2 JUnit4 Implementierung Klassendiagramm Klassen Attribute Methoden Assoziationen
MehrTesten 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
MehrProgrammieren in Java
Programmieren in Java Vorlesung 01: Einfache Klassen Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 32 Inhalt
MehrProgrammieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
MehrProgrammieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Testen von Programmen 2 Übersicht Testen ist eine der wichtigsten, aber auch eine der Zeitaufwändigsten Arbeitsschritte
MehrDokumentations-Richtlinien
Prof. Dr. Reinhold Kröger Sven Bauer Stand 15.3.2004 Fachhochschule Wiesbaden Fachbereich Informatik Inhaltsverzeichnis 1 Wozu dienen Dokumentations-Richtlinien?... 1 2 Dokumentation des Quellcodes...
MehrMeta Programming and Reflection in Java
Meta Programming and Reflection in Java Overview instanceof operator Java Annotations Java Reflection instanceof operator vergleicht ein Objekt mit einem bestimmten Typ testet ob ein Objekt ist eine Instanz
MehrC# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
MehrProgrammierung für Mathematik HS11
software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren
MehrSpracherweiterungen in Java 5
Spracherweiterungen in Java 5 Dennis Giffhorn Lehrstuhl für Programmierparadigmen Universität Karlsruhe 17. April 2008 Spracherweiterungen in Java 5 Generics (s. Vorlesung) Annotations Enumerations Methoden
MehrEinführung: Verteilte Systeme - Remote Method Invocation -
Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation
Mehr9. Ausnahmebehandlung
9. Ausnahmebehandlung Java-Beispiele: Ausnahme.java TryCatch.java TryCatchAll.java Finally.java TryInTry.java KeyboardTry.java Oeffnungszeit.java Version: 11. Jan. 2016 Schwerpunkte Ausnahmen und Laufzeitfehler
MehrKapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions
Kapitel 10 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Exceptions Behandlung von Exceptions Verschiedene Exceptions Mehrere catch-anweisungen Der finally-block WS
MehrProgrammieren 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.
MehrSoftwaretests. 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
MehrErzeugungsmuster. Kapselung der Objekt-Erzeugung
Erzeugungsmuster Kapselung der Objekt-Erzeugung Definition Erzeugungsmuster dienen für die Lose Koppelung, bei der erst zur Laufzeit der Typ des zu erzeugenden Objekts festgelegt wird. Abstract Factory
MehrInstitut für Informatik
Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2010 Praktikum: Grundlagen der Programmierung Aufgabenblatt 4 Prof. R. Westermann, A. Lehmann,
MehrTag 8 Repetitorium Informatik (Java)
Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
MehrKapitel 5: Interfaces
Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 5: Interfaces Folie 82 : Einleitung Betrachtet man die Programmierleistung für ein Produkt über einen längeren Zeitraum,
MehrSelbststudium OOP6 & ALG1 Auftrag
Selbststudium OOP6 & ALG1 Auftrag Kapitel 5.2 1. zu bearbeitende Aufgabe: 5.1 done 2. Auf den Seiten 157/158 wird in der Methode start()ein while-loop verwendet. Kreieren Sie ein Code-Fragment mit derselben
MehrProgrammieren. JUnit-Tests. Heusch -- Ratz -- Institut für Angewandte Informatik
Programmieren JUnit-Tests Heusch -- Ratz -- KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Testgetriebene Entwicklung (auch testgesteuerte Programmierung, engl. test-driven development
MehrProgrammierstil in Java Coding-Standards und Dokumentation
Coding-Standards und Dokumentation SEP Felix Zenz 23.10.2017 Wissenschaftliche Betreuer: Prof. Dr. Peer Kröger, Janina Sontheim, Daniel Kaltenthaler, Johannes Lohrer Verantwortlicher Professor: Prof. Dr.
MehrDaniela Reiner. Stuttgart,
Data driven documentation für PL/SQL Daniela Reiner Consultant daniela.reiner@trivadis.com Stuttgart, 14.05.2009 Basel Baden Bern Brugg Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Ausnahmen
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Ausnahmen Motivation Anwendungsbeispiel 1: java Excep1 a: 15 b: 3 a / b = 5 Job done. Konsole Anwendungsbeispiel 2: Konsole java
MehrÜbung Programmierung WS 2007/08 - Blatt 6
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK 2 RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.
Mehr... Created by Michael Kirsch & Beat Rossmy
PROCESSING... Created by Michael Kirsch & Beat Rossmy INHALT JAVAFX WIE KÖNNEN WIR IN JAVA GRAFISCHEN OUTPUT ERZEUGEN? JAVAFX JavaFX ist ein Framework, dass es uns ermöglicht gra sche Elemente und die
MehrCoding-Standards und Dokumentation
Coding-Standards und Dokumentation SEP 2018 Tobias Lingelmann 2018-04-17 DBS Wissenschaftliche Betreuer: Daniel Kaltenthaler, Johannes Lohrer Verantwortlicher Professor: Prof. Dr. Peer Kröger Übersicht
MehrKurze Einführung in die Benutzung des Dokumentationswerkzeugs Doxygen
Kurze Einführung in die Benutzung des Dokumentationswerkzeugs 2008 Gliederung 1 Zweck 2 Gliederung Zweck 1 Zweck 2 Zweck Zweck Erstellen einer übersichtlichen, zentralen Dokumentation im HTML-Format Überblick
Mehr1. Die rekursive Datenstruktur Liste
1. Die rekursive Datenstruktur Liste 1.6 Die Datenstruktur Stapel Ein Stack, auch Stapel oder Keller genannt, ist eine Datenstruktur, bei der die Elemente nur an einem Ende der Folge eingefügt bzw. gelöscht
MehrObjekt-Orientierte Programmierung. II/Wb17
Probeklausur SS 2018 Hochschule Zittau/Görlitz, Prüfer: Prof. Dr. Georg Ringwelski Objekt-Orientierte Programmierung II/Wb17 Matrikelnummer: Punkte: 1 2 3 4 5 Gesamt /30 /25 /25 /20 /20 /120 Spielregeln:
MehrInterface. So werden Interfaces gemacht
Design Ein Interface (=Schnittstelle / Definition) beschreibt, welche Funktionalität eine Implementation nach Aussen anzubieten hat. Die dahinter liegende Algorithmik wird aber der Implementation überlassen.
MehrProgrammierung 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
MehrVererbung und Traits
Vererbung und Kiermaier Ulrich FWP-Fach: Scala: Java-Nachfolger oder akademisches Experiment? 11.5.2010 Übersicht Aufbau nach dem Buch Programming in Scala von Martin Odersky, Lex Spoon, Bill Venners Vererbung
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Klassenattribute und -methoden Bieniusa Software Entwicklung 1 2/ 23 Beispiel: Klassenattribute I class Uebungsgruppe
MehrModularisierung in Java: Pakete Software Entwicklung 1
Modularisierung in Java: Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Um zusammengehörende Klassen, Interfaces, etc. gemeinsam zu verwalten, Sichtbarkeiten einzugrenzen und
Mehr1 Organisatorisches. 2 Compilezeit- und Laufzeitfehler. 3 Exceptions. 4 Try-Catch-Finally
Themen der Übung CoMa-Übung VI 1 Organisatorisches Compilezeit- und Laufzeitfehler 3 Try-Catch-Finally TU Berlin 8.11.01 Bewertung der OA 5 fehlerhaft, Madeleine arbeitet dran CoMa-Übung VI (TU Berlin)
MehrTestgetriebene Entwicklung
Testgetriebene Entwicklung Arbeitskreis Objekttechnologie Norddeutschland Hamburg, 18.03.2002 Frank Westphal freier Berater, Hamburg Tammo Freese OFFIS, Oldenburg westphal@acm.org tammo.freese@offis.de
Mehrhue13 January 30, 2017
hue13 January 30, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern
MehrInnere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.
Innere Klassen Innere Klassen Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Literatur: Java Tutorial & Arnold, K., Gosling, J. und Holmes,D... Page 1 Innere Klassen Der erste
MehrProgrammierung 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
MehrII.4.4 Exceptions - 1 -
n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 - Ausnahmen
MehrMethoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
MehrProgrammieren in Java
Programmieren in Java Vorlesung 02: Methoden Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 17 Inhalt Scanner
MehrSystematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015
Systematisches Testen der Funktionalität von Softwaresystemen 17. Juni 2015 Überblick Semantische Qualität von Software Teststrategien und prinzipien Testgetriebene Softwareentwicklung Welche Arten von
MehrAusnahmen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 27.6.
Ausnahmen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 27.6.07 G. Bohlender (IANM UNI Karlsruhe) Ausnahmen 27.6.07 1 / 8 Übersicht 1 Einführung
MehrExceptions. CoMa-Übung VI TU Berlin. CoMa-Übung VI (TU Berlin) Exceptions / 19
Exceptions CoMa-Übung VI TU Berlin 8.11.01 CoMa-Übung VI (TU Berlin) Exceptions 8.11.01 1 / 19 Themen der Übung 1 Organisatorisches Compilezeit- und Laufzeitfehler 3 Exceptions 4 Try-Catch-Finally Bewertung
MehrAlgorithmen und Programmierung III
Musterlösung zum 5. Aufgabenblatt zur Vorlesung WS 2006 Algorithmen und Programmierung III von Christian Grümme Aufgabe 1 Implementieren von ADTs Testlauf der Klasse TestDeque in der z05a1.jar: 10 Punkte
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
MehrSeminar Simulation und Bildanalyse mit Java, SS2004 Tests in Informatik und Statistik Modul-Tests mit JUnit
Seminar Simulation und Bildanalyse mit Java, SS2004 Tests in Informatik und Statistik Modul-Tests mit JUnit Robert Pintarelli 10.05.2004 Übersicht Motivation - Fehler in Softwarepaketen JUnit im Überblick
MehrTeil 3 - Java. Grundlagen Klassen, Attribute Methoden
Teil 3 - Java Grundlagen Klassen, Attribute Methoden 1 Java 2 - Geschichte Ursprung: Green -Project bei der Firma Sun Microsystems 1991 Entwicklung eines Systems mit folgenden Eigenschaften: hardwareunabhängig
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrJDBC. Java DataBase Connectivity
JDBC Java DataBase Connectivity JDBC-Schichten JDBC besteht aus 2 Teilen, 1. aus Datenbanktreibern, die den Anschluß von Java-Anwendungen an Datenbanksysteme wie Sybase, DB/2, Oracle, MS ACCESS oder Mini
Mehr