In der Softwareentwicklung wird „Testabdeckung“ oft wie ein Qualitätssiegel behandelt. Aber eine Abdeckung von 90 % in Unit-Tests garantiert nicht, dass die echten Nutzerwege sicher sind — sie beweist nur, dass isolierte Teile des Codes wie erwartet funktionieren. Wie misst man also das, was wirklich zählt — ob die End-to-End-Experience hält, wenn Backend und Frontend zusammenkommen?
Mit genau dieser Herausforderung waren wir in einem Symfony- und Vue.js-Projekt konfrontiert. Mit Katalon als unserem E2E-Testrunner haben wir untersucht, wie man browserbasierte Tests mit Symfonys Coverage-Metriken kombiniert, um echte Transparenz darüber zu gewinnen, was unsere Nutzer — und unsere Tests — tatsächlich durchlaufen.
Herausforderungen
Unsere automatisierten Tests stellten bereits sicher, dass das System aus Sicht der Nutzer korrekt funktionierte — egal ob man sich einloggt, Formulare absendet, APIs aufruft oder Daten verarbeitet. Aber es war noch nicht ersichtlich, welche Teile des Symfony-Backends während dieser Tests tatsächlich ausgeführt wurden.
Mit anderen Worten: Wir konnten nachweisen, dass „die Anwendung funktioniert“, aber nicht, wie gut unsere Tests den Code abdeckten, der sie zum Laufen bringt.
Für jedes Unternehmen, das Wert auf Transparenz und Verlässlichkeit im QA-Prozess legt, ist diese Lücke essentiell.
Unser Lösungsansatz
Wir haben eine Brücke zwischen Katalons End-to-End-Tests und Symfonys Backend-Coverage-Reporting gebaut. Anstatt beide Welten getrennt zu betrachten, haben wir sie miteinander sprechen lassen.
Unsere Katalon-Tests sehen weiterhin aus wie typisches Nutzerverhalten — etwa wird eine Bestellung aufgegeben oder nach einem Artikel gesucht. Der entscheidende Unterschied ist, dass jeder Test nun das Coverage-Tracking auf der Symfony-Seite auslöst.
Um das zu erreichen, haben wir einen Test Listener in Katalon hinzugefügt, der Anfragen an das Symfony-Backend sendet:
- Vor jedem Test wird Symfony angewiesen, für genau dieses Szenario die Code-Coverage zu starten.
- Nach Abschluss des Tests wird das Tracking wieder gestoppt.
Innerhalb von Symfony nutzen wir die PCOV-PHP-Extension, um die Coverage-Daten zu sammeln. Jeder Testlauf erzeugt eine eigene kleine Coverage-Datei. Sobald alle Tests durchgelaufen sind, werden diese Dateien zu einem einzigen konsolidierten Report zusammengeführt — ein vollständiges Bild dessen, was unsere End-to-End-Tests tatsächlich durchlaufen haben.
Auch Daten aus Unit- und Integrationstests können einbezogen werden, sodass man eine wirklich umfassende Sicht erhält.

Im Beispiel oben sieht man, dass Zeile 265 von drei unterschiedlichen Tests abgedeckt wird. Das Ergebnis ist eine lebendige, datengetriebene Karte unserer Codebasis — eine Karte, die uns hilft:
- zu erkennen, welche Geschäftsprozesse wirklich End-to-End-getestet sind,
- Backend-Bereiche zu identifizieren, die kein einziger Test durchläuft, und
- zukünftige Automatisierungsbemühungen anhand realer Abdeckungsdaten zu priorisieren, nicht nur anhand von Annahmen.
Auswirkungen
Indem wir diese beiden Welten zusammengebracht haben, hat sich unsere Zusammenarbeit im Team deutlich verbessert.
Alle Beteiligten — vom Entwickler, der ein neues Feature baut, bis zur Person, die Tests entwirft und durchführt — haben nun transparent dasselbe Wissen darüber, was wirklich abgedeckt ist. Man kann genau sehen, welche Teile des Codes durch tatsächliche Nutzerwege ausgeführt werden, begreift, wie gründlich diese Tests sind, und kann die Softwarequalität Stakeholdern mit klaren, visuellen Daten kommunizieren.
Letztlich hat uns dieser Ansatz von „Wir haben es getestet“ zu „Wir wissen, wie viel davon getestet ist“ geführt.
Relevanz für Ihr Unternehmen
Wenn Ihr Unternehmen eine moderne Webplattform betreibt — besonders eine auf PHP oder Symfony basierende — kann eine solche Integration echten, messbaren Mehrwert liefern. Man gewinnt mehr Vertrauen vor dem Deployment, weil man genau sieht, welche Teile des Systems getestet wurden. Redundante oder oberflächliche Tests lassen sich reduzieren, da klar wird, wo die Abdeckung tatsächlich liegt. Zusätzlich liefert sie belastbare Daten für Audits und Qualitätsberichte und verwandelt Testing von einem Bauchgefühl zu einem quantifizierbaren Prozess.
Vor allem wird aber die Verbindung zwischen QA-Automatisierung und realem Produktrisiko gestärkt und sichergestellt, dass der Testaufwand direkt die Geschäftsziele unterstützt.
Kontaktieren Sie uns
Sollten Sie neugierig sein, wie End-to-End-Coverage die Qualitäts-Transparenz in Ihren eigenen Projekten verbessern könnte, teilen wir unsere Erfahrungen gern mit Ihnen.
Wir haben den Ansatz bereits erfolgreich mit Katalon und Symfony umgesetzt und können Ihnen helfen, ihn an Ihre Umgebung anzupassen, egal ob Sie sich auf Web-Applikationen, APIs oder Enterprise-Integrationen konzentrieren.
Wir teilen unser Wissen gerne mit Ihnen und unterstützen Sie dabei, Ihre Teststrategien zu verbessern — sprechen Sie uns einfach an!

