W-JAX | 4. - 8. November 2019, München

Workshop: intelligent und effektiv Testen mit Properties

Workshop
Dieser Talk stammt aus dem Archiv. zum AKTUELLEN Programm
Bis 22. August: ✓ Gratis Agile Day ✓ Kollegenrabatt ✓ Bis zu 756 € sparen Jetzt anmelden
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 W-JAX 2019

Agile & Culture
Teamwork & Methoden

Data Access & 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
Strukturen & Frameworks

Web Development & JavaScript
JS & Webtechnologien

Performance & Security
Sichere Webanwendungen

Serverside Java
Spring, JDK & mehr

Digital Transformation & Innovation
Technologien & Vorgehensweisen

Software-Architektur
Best Practices