An error occurred while loading the video player, or it takes a long time to initialize. You can try clearing your browser cache. Please try again later and contact the helpdesk if the problem persists.

Probieren ist gut, testen ist besser. In der Regel weiss man, was ein Programm tun soll bevor man es schreibt. Warum nicht gleich die Bedingungen nach denen es funktionieren soll in Code fassen, der überprüft ob die Vorgaben auch erfüllt werden?

Um dies zu tun gibt es eine Reihe spezialisierter Frameworks die das auf verschiedene Weisen sicher stellen. In diesem Workshop wollen wir uns auf das Unit Testing mit JUnit konzentrieren. Unter Unit Tests versteht man Tests die kleine abgeschlossene Code-Einheiten, wie z.B. Klassen oder Methoden auf korrekte Funktionalität prüfen.

Grundkenntnisse der Objektorientierten Programmierung in Java und der Eclipse IDE werden vorausgesetzt. Der Kurs "Java für Einsteiger" sowie der "Workshop Einführung in eine Java- Programmierumgebung (IDE)", stehen im openHPI-Archiv zur Auffrischung der Java Grundkenntnisse zur Verfügung.

Self-paced since June 1, 2016
Language: Deutsch
Advanced, Expert, Programming

Course information

Probieren ist gut, testen ist besser. In der Regel weiss man, was ein Programm tun soll bevor man es schreibt. Warum nicht gleich die Bedingungen nach denen es funktionieren soll in Code fassen, der überprüft ob die Vorgaben auch erfüllt werden?

Um dies zu tun gibt es eine Reihe spezialisierter Frameworks die das auf verschiedene Weisen sicher stellen. In diesem Workshop wollen wir uns auf das Unit Testing mit JUnit konzentrieren. Unter Unit Tests versteht man Tests die kleine abgeschlossene Code-Einheiten, wie z.B. Klassen oder Methoden auf korrekte Funktionalität prüfen.

Grundkenntnisse der Objektorientierten Programmierung in Java und der Eclipse IDE werden vorausgesetzt. Der Kurs "Java für Einsteiger" sowie der "Workshop Einführung in eine Java- Programmierumgebung (IDE)", stehen im openHPI-Archiv zur Auffrischung der Java Grundkenntnisse zur Verfügung.

Course contents

  • Woche 1:

    Was ist der Unterschied zwischen Ausprobieren und Testen? Wie unterscheiden sich verschiedene Test Typen und Test Level? Was testet man und wo ist der Aufwand im Vergleich zum Gewinn zu hoch? Welche Frameworks gibt es und wofür werden sie benutzt? Welche Mechanismen und Konzepte bietet das JUnit Framework? Wie schreibe ich einfache Tests mit und ohne Unterstützung eines Frameworks? Wie binde ich meine Tests in ein Software-Projekt ein?
  • Woche 2:

    Warum reicht ein Test pro Funktion meist nicht aus? Was sind Grenzfälle? Welche Hilfsmittel gibt es um Tests "lesbarer" zu gestalten? Was ist zu beachten wenn mein Projekt Daten z.B. aus einer Datenbank oder einem Web-Service benutzt? Wozu braucht man Test-Doubles? Worin unterscheiden sich Fixtures, Mocks, Stubs und Dummies? Was ist Testabdeckung?
  • Peer Assessment:

    Testgetriebene Entwicklung eines Moduls des Breakout Spiels
  • Abschlussprüfung

  • Feedback:

    Umfrage und I like, I wish

Enroll me for this course

The course is free. Just register for an account on openHPI and take the course!
Enroll me now

Learners

Current
Today
6,087
Course End
Jun 01, 2016
2,986
Course Start
May 02, 2016
2,412

Rating

This course was rated with 2.5 stars in average from 4 votes.

Certificate Requirements

  • Gain a Record of Achievement by earning at least 50% of the maximum number of points from all graded assignments.
  • Gain a Confirmation of Participation by completing at least 50% of the course material.

Find out more in the certificate guidelines.

This course is offered by

Ralf Teusner

Ralf Teusner is a PostDoc at the Enterprise Platform and Integration Concepts research group of Professor Dr. h.c. Hasso Plattner, located at the Hasso Plattner Institute at the University of Potsdam. His research area is centered around eLearning and MOOCs. Especially the adoption of programming languages and concepts as well as the potential and influence of social interaction are in his focus.

Dr. Thomas Staubitz

Dr. Thomas Staubitz is a Senior Lecturer at the Internet Technologies and Systems group of Prof. Dr. Christoph Meinel at the Hasso Plattner Institute at the University of Potsdam. His general research topics are in the area of eLearning and MOOCs. A particular focus is on collaboration and interaction among course participants and assessment strategies beyond multiple-choice quizzes.