Behavior-Driven Development in Java mit JGiven

 
Conference Day - 15. Juni
 
13:30
14:15
 
Microservices / Tools

Test-Driven-Development hat sich mittlerweile in der Java-Welt fest etabliert. Nicht selten wir 50% der Entwicklungszeit mit der Erstellung und Wartung von automatisierten Tests verbracht. Leider werden normale Tests oft nicht in der Fachsprache der Anwendung geschrieben und können nur von Programmieren gelesen werden.
Behavior-Driven Development (BDD) schafft hier Abhilfe indem Tests in Form von ausführbaren Szenarien geschrieben werden. Szenarien können von Fachexperten ohne Programmierkenntnisse gelesen und bewertet werden und bilden dadurch eine automatisch validierte Verhaltensdokumentation der Anwendung.
JGiven ist ein neues Open-Source BDD-Framework in dem Szenarien in einer fluent Java-API geschrieben werden. JGiven-Szenarien werden in der gängigen Given-When-Then-Form geschrieben. Durch ein modulares Konzept lassen sich neue Szenarien leicht aus Teilen anderer Szenarien zusammensetzen. Dies beschleunigt die Erstellung von neuen Szenarien und vermeidet Testcode-Duplizierung. Da weder Groovy noch Scala benötigt werden und JGiven kompatibel zu JUnit und TestNG ist, kann JGiven sofort in Java-Projekten eingesetzt werden und leicht in bestehende Test-Infrastrukturen integriert werden. JGiven erzeugt außerdem einen interaktiven HTML5-Report, der es Fachexperten ermöglicht die von Entwicklern geschriebenen Szenarien zu lesen und zu beurteilen.
JGiven wird seit über einem Jahr aktiv in einem großen Java-Projekt eingesetzt. Mitterweile wurden schon über 2000 Szenarien geschrieben. Der Test-Code ist dadurch erheblich lesbarer und wiederverwendbarer geworden und der erzeugte Report stellt einen erheblich Mehrwert für unsere Fachexperten als auch die Entwickler selbst dar.
In dem Vortrag wird der Autor eine Einführung in JGiven geben und anhand einer kurzen Live-Coding-Session zeigen wie schnell und einfach BDD-Szenarien in JGiven geschrieben werden können.

Dr. Jan Schäfer

TNG Technology Consulting GmbH

Dr. Jan Schäfer ist Senior-Consultant bei der TNG Technology Consulting GmbH und entwickelt dort seit 4 Jahren Java-Enterprise Anwendungen. Er ist promovierter Informatiker und seit über 15 Jahren in der Java-Welt zu Hause. Vor kurzem entdeckte er seine Leidenschaft für Behavior-Driven Development und veröffentlichte mit JGiven ein neues BDD-Framework für Java.