Automatisches Testen von Microservices mittels Proxy-based Testing
Monolithische Software-Systeme haben den Nachteil, im Laufe der Zeit immer größer und schwerer wartbar zu werden. Sie können nur als Ganzes geändert und ausgerollt werden. Die Microservices-Architektur ist dagegen eine vielversprechende Entwicklungsmethode für Software-Systeme, die sich auf die Entwicklung von einzelnen Modulen (Microservices) mit klar definierten, sprachunabhängigen Schnittstellen konzentriert.
Die Vorteile von Microservices sind:
- Die verwendeten Module sind einzeln wartbar;
- Einzelne Komponenten können unabhängig voneinander getestet und ausgerollt werden;
- Microservices können mit geringem Aufwand in einer Container-Umgebung betrieben werden;
- Die Software ist insgesamt leichter skalierbar und kann öfter ausgeliefert werden.
Dennoch hat das Testen von Microservices-basierter Software viele Besonderheiten: Obwohl die Unittests gleich sind und die Komponententests leichter werden, sind die Integrations- und Solutiontests komplexer. Per Definition besitzen Microservice-Architekturen deutlich mehr Schnittstellen, was die Notwendigkeit für eine gute Testautomatisierung erhöht.
In diesem Artikel erfahren Sie über einen Proxy-basierten Ansatz zur Testautomatisierung von Microservices. Dabei erzielen wir nicht nur schnellere Durchlaufzeiten und mehr Sicherheit im Testingprozess, sondern auch bessere Kontrolle über den Test-Ablauf und bessere Auswertbarkeit von Ergebnissen.
Bild: Chris Ried, Unsplash