IT-Lexikon › Programmierung › Property-based Testing

Property-based Testing

Programmierung Svenska → Aktualisiert: 2026-09-12

Man schreibt Invarianten (Eigenschaften, die für jede Eingabe gelten sollen) — die Bibliothek generiert Hunderte Zufallseingaben und versucht, sie zu brechen.

Erfunden mit QuickCheck für Haskell (Claessen & Hughes, 1999). Klassische Beispiele: reverse(reverse(xs)) == xs, sort(xs).length == xs.length, encode(decode(x)) == x. Schlägt ein Test fehl, reduziert Shrinking die Eingabe auf den kleinstmöglichen Reproducer.

Beliebte Bibliotheken: Hypothesis (Python), fast-check (JS), proptest (Rust), ScalaCheck, jqwik. Findet Bugs, die handgeschriebene Unit-Tests übersehen, besonders Edge Cases (leere Liste, negative Zahlen, Unicode). Kein Ersatz für beispielbasierte Tests — eine Ergänzung dazu.

← Zurück zum Lexikon