JAX | 6. - 10. Mai 2019, Mainz

Workshop: intelligent und effektiv Testen mit Properties

Power Workshop
Infos
Montag, 6. Mai 2019
09:00 - 17:00
Buchungshinweis:
Testing Workshop

In diesem Workshop werden wir auf die Theorie hinter Property-based Testing eingehen und auch konkret zeigen, wie man mit jqwik unter Java solche Tests umsetzen kann. Die Teilnehmer bekommen die Gelegenheit, selbst Properties zu schreiben und auszuprobieren.

Testgetriebene Entwicklung in objektorientierten Sprachen setzt bislang meist auf beispielbasierte Testfälle, wie man sie leicht mit JUnit und ähnlichen Testframeworks erstellen kann. Schaut man jedoch über den Tellerrand und auf funktionale Programmiersprachen wie z. B. Haskell oder F#, findet man dort etwas anderes: Property-Tests. Diese basieren auf der Idee, die erwünschten Eigenschaften unseres Programms zu beschreiben und anschließend das Framework selbstständig Testfälle generieren zu lassen, die diese Eigenschaften bestätigen oder falsifizieren.

In diesem Workshop werden wir mit viel Live-Coding und Hands-on-Übungen die Ideen des Property-based Testing an Hand von jqwik erleben.

    Agenda

  • Properties vs. Example/Beispieltests
  • Einführung in jqwik
  • Hands-on Session I
  • Sinnvolle Werte generieren lassen
  • Hands-on Session II
  • Shrinking
  • Patterns für gute Properties
  • Hands-on Session III
  • Stateful Properties
  • Hands-on Session IV
  • Advanced Topics

Zielgruppe sind Java-Entwickler mit grundlegenden Kenntnissen der Test-Automatisierung (JUnit).  

Für die Übungsteile benötigen die Teilnehmer einen Laptop mit aktueller Java-IDE (IntelliJ oder Eclipse), eine Java-8-Installation (oder neuere Version) und Internet-Zugang.

Alle News der Java-Welt:
Alle News der Java-Welt:

Behind the Tracks of JAX 2019

Agile & Culture
Teamwork & Methoden

Data Technologies & Machine Learning
Speicherung, Processing & mehr

Clouds, Kubernets & Serverless
Alles rund um Cloud

Core Java & JVM Languages
Ausblicke & Best Practices

DevOps & Continuous Delivery
Deployment, Docker & mehr

Microservices & Architecture
Strukturen & Frameworks

Web Development & JavaScript
JS & Webtechnologien

Performance & Security
Sichere Webanwendungen

Microservices & Serverside Java
Spring, JDK & mehr

Digital Transformation & Innovation
Technologien & Vorgehensweisen

Software Architecture
Best Practices