c't 9/2020
S. 124
Wissen
Unittests mit Hypothesis
Bild: Albert Hulm

Tests in Mengen!

Hypothesis testet Python-Code mit automatischen Beispielen

Das Test-Framework Hypothesis erzeugt automatisch hunderte von Beispielen für Integrations- und Unittests. Das spart Entwicklern duplizierten Code und hilft Fehler zu finden. Die Automatik funktioniert besonders effektiv, wenn die Tests dabei im Kreis rechnen.

Von Pina Merkert

Wer Unittests schreibt, muss kreativ sein: Jeder Test muss nämlich ein Beispiel mit möglichen Eingaben und der dazu passenden Ausgabe der getesteten Funktion definieren. Wie einfach das mit Pythons unittest geht, haben wir im Artikel „Programmierte Prüfer“ [1] beschrieben. Normalerweise erfinden die Tester diese Beispiele und kodieren sie in Handarbeit in die Tests.

Dabei ist es eine Kunst, die richtigen Beispiele zu finden, die alle Randfälle und Ausnahmen abdecken. Mutation-­Tests [2] helfen zwar, ungenügende Tests zu identifizieren, der Fix besteht aber ­zumeist aus weiteren Tests mit mehr Beispielen, was den Test-Code schnell wachsen lässt.

Kommentare lesen (1 Beitrag)