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 with Cloud IoT Platforms (Coursera) Coursera
Pohang University of Science and Technology - POSTECH

Programming with Cloud IoT Platforms (Coursera)

Internet of Things (IoT) is an emerging area of information and communications technology (ICT) involving many disciplines of computer science and engineering including sensors/actuators, communications networking, server platforms, data analytics and smart applications. IoT is considered to be an essential part of the 4th Industrial Revolution along with AI and Big Data.

Sep 21st 2026
5-12 Weeks
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
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
Developing Android Apps with App Inventor (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Developing Android Apps with App Inventor (Coursera)

The course will give students hands-on experience in developing interesting Android applications. No previous experience in programming is needed, and the course is suitable for students with any level of computing experience. MIT App Inventor will be used in the course. It is a blocks-based programming tool that allows everyone, even novices, to start programming and build fully functional apps for Android devices. Students are encouraged to use their own Android devices for hands-on testing and exploitation.

Sep 21st 2026
5-12 Weeks
Development of Real-Time Systems (Coursera) Coursera
EIT Digital

Development of Real-Time Systems (Coursera)

This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements.

Sep 21st 2026
5-12 Weeks
Aprenda a ensinar programação com o Programaê! (Coursera) Coursera
Fundação Lemann,Fundação Telefônica

Aprenda a ensinar programação com o Programaê! (Coursera)

O curso "Aprenda a ensinar programação com o Programaê!" tem como objetivo apoiar professores no desenvolvimento de suas aulas com o ‘Programaê!’, um movimento que quer aproximar a programação do cotidiano de jovens de todo o Brasil por meio de um portal prático, agregador de ideias, soluções, dicas e planos de aula estruturados para professores.

Sep 21st 2026
3 Weeks
Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera) Coursera
Universidade de São Paulo, Brasil

Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera)

Este curso apresenta os conceitos mais importantes em torno do paradigma de desenvolvimento mais comum da indústria de software hoje: a Programação Orientação a Objetos (POO). Oferecido pelo Departamento de Ciência da Computação do Instituto de Matemática e Estatística da USP, o curso é voltado para quem já conhece os conceitos básicos de POO e quer se aprofundar no assunto, tornando-se um excelente programador. Ele funciona bem como uma sequência natural aos 2 cursos anteriores do Prof. Fabio Kon do IME-USP no coursera: Introdução à Ciência da Computação com Python.

Sep 21st 2026
5-12 Weeks
¡A Programar! Una introducción a la programación (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

¡A Programar! Una introducción a la programación (Coursera)

¿Alguna vez pensaste en crear tus propios juegos de computadora, pero no tenías idea cómo hacerlo o por dónde comenzar? Este curso te enseñará a programar utilizando Scratch, un lenguaje de programación visual muy fácil de usar, y más importante aún, aprenderás los principios fundamentales de la computación para que comiences a pensar como ingeniero/a de software.

Sep 21st 2026
5-12 Weeks
Programação para todos (Conceitos básicos de Python) (Coursera) Coursera
University of Michigan

Programação para todos (Conceitos básicos de Python) (Coursera)

Este curso tem como objetivo ensinar a todos os conceitos básicos de programação de computadores usando Python. Abordamos o básico de como criar um programa a partir de uma série de instruções simples em Python. O curso não tem pré-requisitos e evita tudo, exceto a matemática mais simples. Qualquer pessoa com experiência moderada em computadores deve ser capaz de dominar os materiais deste curso. Este curso abordará os capítulos 1 ao 5 do livro “Python para Todos”.

Sep 21st 2026
5-12 Weeks
Java für Einsteiger (openHPI) OpenHPI
Hasso-Plattner-Institut

Java für Einsteiger (openHPI)

Mit diesem neuen openHPI Einsteigerkurs möchten wir unseren Teilnehmern die Grundlagen der Programmiersprache Java vermitteln. Java ist weit verbreitet und wird vielseitig eingesetzt. Unter anderem werden mit Java Programme für Googles Android Plattform entwickelt. Dieser Kurs vermittelt die grundlegenden Konzepte des Programmierens einfach und verständlich. Durch regelmäßige praktische Übungen wird das Gelernte angewendet und gefestigt. Wir sprechen mit diesem Kurs alle Einsteiger an, die sich für die Programmierung in Java interessieren. Voraussetzung ist ein starkes Interesse an der Funktionsweise von Programmen am Computer, Programmiererfahrung ist jedoch nicht notwendig. Unsere Teilnehmer benötigen lediglich einen Computer mit einem Internetzugang und einem Browser.

Self Paced
Self-Paced