Die Website des Hypothesis-Projekts warb einst mit dem Satz:

"Normales automatisiertes Software-Testing ist überraschend manuell. Jedes Szenario, das der Computer durchläuft, musste manuell programmiert werden. Hypothesis kann das ändern."

Ob sogenanntes "property-based testing" die manuelle Parametrisierung von Tests mit unterschiedlichen Ein- und Ausgaben vollständig ersetzen sollte, ist sicherlich diskutabel. Hypothesis ist aber zweifellos ein leistungsstarkes Werkzeug, um Probleme aufzudecken, an die niemand gedacht hätte.

Tatsächlich entdeckten die Entwickler von Hypothesis während der Entwicklung zufällig unzählige Bugs in CPython und Bibliotheken und prägten so den Begriff "der Fluch von Hypothesis". Das Framework mag zwar unglaublich leistungsstark sein, aber zunächst komplex wirken.

In diesem Vortrag zeige ich, wie selbst das einfache Übergeben zufälliger Strings an Funktionen überraschende Fehler aufdecken kann. Anschließend werde ich demonstrieren, wie auch komplexere Daten einfach generiert werden können und zeigen, wie sich Hypothesis nahtlos in verschiedene Ökosysteme integriert.