Verteilte Systeme bedeuten: Schnittstellen. Viele Schnittstellen. Und da jedes lebende System sich weiterentwickelt und wächst, ändern sich diese Schnittstellen auch ständig - mit allen Herausforderungen, die mit Änderungen einhergehen. Wie können wir also sicherstellen, dass die Schnittstellen nach Veränderungen noch korrekt miteinander zusammenspielen?

Im Vortrag gehen wir kurz auf die Thematik der Schnittstellen-Tests ein, insbesondere in der Variante "Consumer-Driven-Contract-Tests". Was zeichnet solche Tests aus, und was sind Unterschiede zu konventionellen E2E-Tests? Welches Problem lösen sie, und warum sind sie für verteilte Architekturen wichtig?

Anhand des PACT-Frameworks zeigen wir Schnittstellen-Tests in Aktion. Mit einer kleinen Live-Coding-Session schreiben wir gemeinsam die Tests für eine Beispiel-Anwendung mit Java-Services und einem Web Frontend, in den Varianten: Kommunikation zwischen Frontend und Backend und Kommunikation zwischen Services. Hierbei gehen wir auf Best Practices, wie zum Beispiel State-Management ein.