Der Code meines Microservices ist sauber mit Unit Tests abgedeckt. Die Schnittstellen des Services sind im Blackbox Ansatz mit Hilfe von Mocks getestet.
Somit ist alles “ready to go” – raus auf die Produktion!
Doch Moment, habe ich wirklich das notwendige Vertrauen?
Wird der Microservice wie geplant im echten Applikationsverbund funktionieren? Wie wird sich das Gesamtsystem verhalten?
Unser Umfeld ist eine hochintegrierte Systemlandschaft mit sehr vielen Applikationen, die immer zahlreicher Cloud Ready sind und aus mehreren Microservices bestehen. Die Delivery Pipeline orchestriert die Qualitätssicherung vom Commit über die verschiedenen Integrationsstufen bis zum Deployment in die Produktion. Die höheren Integrationsstufen liefern dabei Feedback von den echten Consumers.
Der Aufbau der Testumgebungen wiederholt sich in den Grundzügen über die verschiedenen Stufen. Das Setup lässt sich beliebig oft auf der Cloud Plattform instanziieren und variabel zusammensetzen. Zu diesem Zweck stellen wir synthetische Testdaten auf Basis von fachlichen Modellen aus einer dedizierten Plattform bereit. Weiter wiederholt sich der Einsatz der Abstraktion bezüglich Security und der Mock-Infrastruktur auf den verschiedenen Integrationsstufen.
Mit diesem Aufbau können wir die Testautomatisierung wiederverwenden und, soweit sinnvoll, sogar die Tests selbst. Zudem bietet uns der Ansatz die Möglichkeit, Validierungen bereits auf teilintegrierten Systemen mittels explorativer Tests durchzuführen.
Dank diesem Ansatz können wir sicherstellen, dass jeder Microservice nicht nur isoliert, sondern auch im Zusammenspiel mit anderen Services optimal funktioniert. Das Vorgehen erhöht nicht nur die Qualität und Zuverlässigkeit unserer Software, sondern verkürzt erheblich den Feedbackloop der Integration.
Gerne teilen wir unser Vorgehen, unser innovatives Setup samt Pipeline sowie die wertvollen Erfahrungen, die wir auf diesem Weg gesammelt haben. Wir sind überzeugt, dass unser Ansatz auch für andere Teams und Projekte von grossem Interesse sein kann und freuen uns darauf, unsere Erkenntnisse mit dir zu teilen.
Was nimmst du aus diesem Vortrag mit?
• Konkreter Setup der Testumgebungen für kontinuierliches Testen in einer komplexen Systemlandschaft mit vielen Abhängigkeiten
• Design und Einsatz der Pipeline zur Automatisierung
• Mögliches Vorgehen für den Aufbau
• Erfahrungen aus der realen Anwendung