Lose gekoppelte Systeme (auch bekannt als verteilte Systeme oder Microservices) werden immer populärer. Dies führt zu einer steigenden Nachfrage nach Möglichkeiten, um automatisch und zuverlässig sicherzustellen, dass diese modularen Systeme fehlerfrei zusammenarbeiten. Der aktuell leistungsfähigste Ansatz, um Schnittstellen zwischen Komponenten zu testen, ist Consumer-Driven Contract Testing (CDCT). Trotz seiner unbestreitbaren Vorteile gegenüber naiven Integrationstests weist es allerdings auch eine Reihe von Schwächen auf, die vor allem im Zusammenspiel mit Zustand (im Provider) deutlich werden. Auch wird man natürlich mit den üblichen Problemen des Testmanagements konfrontiert: wie organisiere ich meine Tests und wie finde ich sie schnell wieder.
Dieser Vortrag weist auf diese Schwächen hin und zeigt, wie wir sie überwinden können. Dazu nehmen wir Anleihen bei Domain-Driven Design und Modellierung.
Nicole Rauch ist freiberufliche Softwareentwicklerin und Softwareentwicklungscoach mit umfangreichem Hintergrund in Compilerbau und formalen Verifikationsmethoden. Neben EventStorming und Domain-Driven Design, React.js/Redux und der Sanierung von Java Legacy Code Applikationen erobern funktionale Programmiersprachen, allen voran Haskell, sich langsam aber sicher einen festen Platz in ihrem Repertoire. Des weiteren wirkte sie an der Ausrichtung mehrerer selbstorganisierter Konferenzen und an der Initiierung der Softwerkskammer, einer deutschsprachigen User Community zum Thema Software Craftsmanship, sowie ihrer Karlsruher Regionalgruppe mit.