Zum Inhalt springen

Unit Testing

oder auch Modultest, Unit-Test

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 03.11.2026

Unit Testing ist das Prüfen einzelner Funktionen für sich, ohne Datenbank und ohne Netz. Ein solcher Test ruft ein Stück Code mit festen Werten auf und vergleicht das Ergebnis mit dem erwarteten.

Unit Testing

Das Prüfen einzelner Funktionen für sich, ohne Datenbank und ohne Netz.
Beispiel: „Das Unit Testing der Preisberechnung deckte den Fehler bei Rabatten über hundert Prozent auf.“

Auf Deutsch Modultest oder Komponententest. Unit meint die kleinste prüfbare Einheit, also meist eine Methode oder eine Klasse.

Abgrenzung zum Integrationstest: Dieser prüft mehrere Teile im Zusammenspiel. Ein Unit Test ersetzt alles Äußere durch Platzhalter.

Was einen guten Unit Test ausmacht

Drei Eigenschaften. Er läuft in Millisekunden, er liefert bei derselben Eingabe immer dasselbe Ergebnis, und wenn er fehlschlägt, steht im Namen schon, was nicht stimmt.

Dazu gehört, dass er genau eine Sache prüft. Ein Test mit zwölf Behauptungen sagt im Fehlerfall, dass irgendetwas an der Rechnung falsch ist, und nicht, was.

Wo die Grenze des Unit Testing liegt

An allem, was außerhalb der Funktion passiert. Dass eine Abfrage die richtigen Zeilen findet, dass eine E-Mail versandt wird, dass ein Formular im Browser abschickt: Das prüfen Unit Tests nicht, auch nicht in großer Zahl.

Deshalb ist eine Anwendung mit tausend Unit Tests nicht automatisch geprüft. Die Fehler, die Nutzer treffen, sitzen meist in den Übergängen, siehe End-to-End-Test.

Wie viele Unit Tests sinnvoll sind

So viele, wie Logik vorhanden ist. Berechnungen, Umwandlungen, Entscheidungen mit mehreren Verzweigungen verdienen je einen Test pro Fall; eine Methode, die einen Wert weitergibt, verdient keinen.

Als Form hat sich die Pyramide durchgesetzt: viele schnelle Tests einzelner Funktionen, einige im Zusammenspiel, wenige durch die Oberfläche. Von unten nach oben steigen Laufzeit und Aufwand.

Siehe auch:

Integrationstest

Ein Test, der mehrere Teile im Zusammenspiel prüft, meist samt Datenbank.

#Deployment & Versionierung

End-to-End-Test

Ein Test, der die Anwendung wie ein Nutzer durch den Browser bedient.

#Deployment & Versionierung

Testabdeckung (Code Coverage)

Der Anteil des Codes, der bei einem Testlauf tatsächlich ausgeführt wird.

#Deployment & Versionierung

Automatisierter Test in der Pipeline

Ein Test, der bei jeder Änderung selbsttätig läuft und das Ausrollen anhalten kann.

#Deployment & Versionierung

Continuous Integration (CI)

Die Praxis, Änderungen mehrmals täglich zusammenzuführen und dabei prüfen zu lassen.

#Deployment & Versionierung

Regressionstest

Ein Test, der sicherstellt, dass ein behobener Fehler nicht zurückkommt.

#Deployment & Versionierung