Integration-Tests von Microservices - sogar mit Coverage-Kennzahlen
Die Ermittlung der Testabdeckung von Programmcode erfolgt traditionell durch die Berechnung der Code Coverage bei Komponententests, etwa in Java mit JUnit und JaCoCo. Eine Coverage-Analyse lässt sich auch auf Integrationstests von Microservice-Systemen übertragen. Statt einzelner Komponenten stehen hier die Interaktionen zwischen Services im Fokus, einschließlich der typischen mehrstufigen Aufrufketten (Invocation Depth). Insbesondere sind hier keine Mocks erforderlich – die Analyse erfolgt direkt auf den echten/tatsächlichen/realen Services.
In dieser Session erklären wir die notwendigen Voraussetzungen und Bausteine um die Coverage bei Integrations-Tests zu ermitteln. Was auf den ersten Blick sehr aufwändig erscheint wird sich im Verlauf der Session als gar nicht so umfangreich herausstellen. Viele der dazu notwendigen Komponenten werden in der Entwicklung bereits aktiv verwendet bzw. sind im Kubernetes-Cluster verfügbar. Die notwendigen Schritte wie statische Code Analyse, Testdaten-Management, Testausführung, Tracing und Berechnung der Coverage werden ausführlich besprochen.
Am Ende der Session sollte jeder Teilnehmer eine Coverage für Integrations-Tests in seinem eigenen Projektumfeld ohne großen Aufwand aufbauen können.
JAX:
Integration-Tests von Microservices - sogar mit Coverage-Kennzahlen