Property-Based Testing mit Java

Conference Day - 21. Februar
 
11:35
12:20
 
Testautomatisierung
 
Seminarraum 1.802

Testgetriebene Entwicklung in objekt-orientierten Sprachen setzt bislang meist auf Beispiel-basierte Testfälle, wie man sie leicht mit JUnit und ählichen Test-Frameworks erstellen kann. Schaut man jedoch über den Tellerrand zu funktionalen Programmiersprachen wie z.B. Haskell oder F#, dann findet man dort etwas anderes: Property-Tests.

Property-Tests basieren auf der Idee, die erwünschten Eigenschaften unseres Programms zu beschreiben und anschließend das Framework selbstständig Testfälle generieren zu lassen, welche diese Eigenschaften bestätigen oder falsifizieren. Die Generierung ist häufig zufallsbasiert und berücksichtig, wenn möglich, die statische Typinformation für variable Test-Parameter.

In diesem Vortrag werde ich sowohl auf die Theorie hinter Property-Based Testing (PBT) eingehen, als auch konkret zeigen, wie man unter Java solche Tests umsetzen kann. Dabei kommt überwiegend Jqwik zum Einsatz: eine Test-Engine auf der JUnit-5-Plattform. Aber auch andere Möglichkeiten, PBT unter Java einzusetzen, werden angerissen.

Johannes Link

JL Software-Therapie, Deutschland

Johannes Link beschäftigt sich schon seit Ende des letzten Jahrhunderts mit Extreme Programming und anderen agilen Ansätzen. Ein wesentlicher Schwerpunkt dabei war und ist die testgetriebene Entwicklung. Zu diesem Thema hat er bereits mehrere Bücher geschrieben und lernt dennoch immer noch dazu. Johannes ist mitverantwortlich für die Architektur der JUnit-5-Plattform und war dort lange Core-Committer.