Java Workshop - Einführung in die Testgetriebene Entwicklung mit JUnit (openHPI)

Java Workshop - Einführung in die Testgetriebene Entwicklung mit JUnit (openHPI)

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.

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?

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Programming Fundamentals (Coursera) Coursera
Duke University

Programming Fundamentals (Coursera)

Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class.

Oct 5th 2026
4 Weeks
Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera) Coursera
Pontificia Universidad Católica de Chile

Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera)

Decía Steve Jobs que “todo el mundo debería aprender a programar un ordenador porque esto te ayuda a pensar”. Hoy en día la programación es una herramienta fundamental para el desarrollo de la tecnología moderna. Este curso te introduce en el mundo de la programación en el lenguaje Python.

Oct 5th 2026
5-12 Weeks
Java Capstone Series Pt. 1 (OpenHPI) OpenHPI
Hasso-Plattner-Institut

Java Capstone Series Pt. 1 (OpenHPI)

The Java Capstone Series is a completely new course format. Fewer videos and more hands-on activities. Together, we will develop small Java projects from scratch to transform knowledge into competencies. For the first iteration we will develop a little game, e.g. Pong or BreakOut. The idea is to work on these projects in teams, but if you prefer you can also work alone. This format is completely new for us as well. We see ourselves rather as co-learners and facilitators than as teachers.

Self Paced
Self-Paced
Algorithmen und Datenstrukturen mit Detektiv Duke (openHPI) OpenHPI
Hasso-Plattner-Institut

Algorithmen und Datenstrukturen mit Detektiv Duke (openHPI)

Du hast bereits den Java-Kurs auf openHPI gemacht und die Einführung in Collections war dir zu schnell oder nicht detailliert genug? Du willst Datenstrukturen in Java besser kennenlernen? Du wolltest immer schon mal wissen, was eigentlich Iteratoren sind und welche Vorteile diese gegenüber von Schleifen haben? Welche Datenstrukturen für welche Anwendungsfälle schneller oder besser geeignet sind? Auch Duke und seinen neuen Assistenten Big O beschäftigen diese Fragen in ihrem aktuellen Fall und sie brauchen wieder mal Deine Hilfe! Begleite Duke und seine Freunde auf ihrer spannenden Reise durch die wunderbare Welt der Algorithmen und Datenstrukturen in Java. Spoiler: mehr Drama, mehr Action und höchstens ein Papagei.

Self Paced
Self-Paced
Python Data Visualization (Coursera) Coursera
Rice University

Python Data Visualization (Coursera)

This if the final course in the specialization which builds upon the knowledge learned in Python Programming Essentials, Python Data Representations, and Python Data Analysis. We will learn how to install external packages for use within Python, acquire data from sources on the Web, and then we will clean, process, analyze, and visualize that data. This course will combine the skills learned throughout the specialization to enable you to write interesting, practical, and useful programs.

Oct 2nd 2026
4 Weeks
Functional Program Design in Scala (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Program Design in Scala (Scala 2 version) (Coursera)

In this course you will learn how to apply the functional programming style in the design of larger Scala applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world. Finally, you will learn how to leverage the ability of the compiler to infer values from types.

Oct 5th 2026
5-12 Weeks
Computer Science: Algorithms, Theory, and Machines (Coursera) Coursera
Princeton University

Computer Science: Algorithms, Theory, and Machines (Coursera)

This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. It covers the second half of our book Computer Science: An Interdisciplinary Approach (the first half is covered in our Coursera course Computer Science: Programming with a Purpose, to be released in the fall of 2018). Our intent is to demystify computation and to build awareness about the substantial intellectual underpinnings and rich history of the field of computer science.

Oct 5th 2026
5-12 Weeks
Zum Web-Experten in 3 Schritten - Prüfung (openHPI) OpenHPI
Hasso-Plattner-Institut

Zum Web-Experten in 3 Schritten - Prüfung (openHPI)

In diesem Prüfungskurs können Sie Ihr Wissen zum Thema Webtechnologien unter Beweis stellen. Die Fragen umfassen sowohl Basiswissen zum World Wide Web als auch Fragen zu bekannten Web-Anwendungen wie der Google Suche oder Online-Zahlungsmechanismen. Darüber hinaus gibt es einen praktischen Prüfungsteil (Peer Assessment), in dem Sie Ihre Fähigkeiten in der Web-Programmierung zeigen können. Wir wünschen Ihnen schon jetzt viel Erfolg!

Oct 20th 2021
3 Weeks
Embedded Smart Home (openHPI) OpenHPI
Hasso-Plattner-Institut

Embedded Smart Home (openHPI)

Herzlich Willkommen zum interaktiven Kurs „Embedded Smart Home“. Wir freuen uns, Sie in die Welt des Smart Home zu entführen. Während des Kurses bekommen Sie Einblicke in die Umsetzung eines Smart Home Projekts auf Basis eines Raspberry Pi und unter Nutzung von Sensoren, Aktuatoren und Displays. Um für die Programmierung gewappnet zu sein, können Sie Ihr Wissen aus dem zurückliegenden Python Kurs ("Spielend Programmieren lernen") nutzen und vertiefen. Wer diesen Kurs noch nicht besucht hat, kann dies auch jetzt noch im Archivmodus machen.

Self Paced
Self-Paced
Estruturas de dados Python (Coursera) Coursera
University of Michigan

Estruturas de dados Python (Coursera)

Este curso apresentará as estruturas de dados centrais da linguagem de programação Python. Vamos superar os fundamentos da programação de procedimentos e explorar como podemos usar as estruturas de dados integradas do Python, como listas, dicionários e tuplas, para realizar análises de dados cada vez mais complexas. Este curso cobrirá os capítulos 6 a 10 do livro “Python para Todos”. Este curso aborda o Python 3.

Oct 5th 2026
5-12 Weeks
Introduction to ES6+ (Coursera) Coursera
Scrimba

Introduction to ES6+ (Coursera)

Introduction to ES6+ covers modern JavaScript features, specifically ES6 and newer ECMAScript versions. JavaScript, a widely used programming language in various domains, is essential for developers aiming to stay relevant across web applications, servers, mobile, and IoT devices. Developers who are already familiar with JavaScript will be able to update their skills and broaden their knowledge in this tiny but mighty course.

Oct 5th 2026
1 Week