Hat man das Prinzip des Property-based Testing (oder „eigenschaftsbasiertem Testing“) einmal verstanden, steht man oft vor einer neuen Herausforderung: Es ist gar nicht so einfach, von spezifischen Testfällen auf Eigenschaften umzudenken und die bisherigen Tests zu verallgemeinern.
In diesem Post sammle ich als Begleitmaterial zu meinem Vortrag verschiedene Ressourcen, die den Einstieg erleichtern.
- jqwik ist eine Bibliothek für Property-based Testing in Java. Sie verfügt über eine ausführliches Handbuch.
- John Hughes hat ein Tutorial über Property-based Testing geschrieben, worin er fünf verschiedene Arten von Properties erklärt. Alternativ gibt es den gleichen Inhalt als Vortrag.
- Johannes Link, Hauptautor von jqwik, hat John Hughes’ Artikel von Haskell nach Java+jqwik übersetzt.
- Stefan Macke schreibt auf Heise Developer über JUnit Quickcheck (eine Alternative zu jqwik) und benennt auch dort mehrere Arten von Properties.
- Der Vortrag basiert auf meinem Artikel über „fast-check”, eine Bibliothek für Property-based Testing in JavaScript und TypeScript.
Das Beispielprojekt aus dem Vortrag ist auf GitHub verfügbar.
Ergänzungen nehme ich gerne entgegen!