Entwicklung und Integration von End-to-End-Tests

Abgeschlossen
Oktober 2024 - Juli 2025
Kundenprojekt (im Angestellten Verhältnis)

Meine Aufgabe bestand darin, die Webanwendungen End-to-End zu testen und die Tests in GitHub Actions zu integrieren. Ziel war es, sicherzustellen, dass die Anwendungen vor jedem Deployment automatisch auf ihre Funktionalität geprüft werden. Dabei werden unterschiedliche Komponenten getestet – z. B. der Login-Prozess, der Bezahlvorgang im Shop oder weitere zentrale Features.

Die Herausforderung

Die Herausforderung bestand darin, die bestehenden Anwendungen zuverlässig automatisiert zu testen, ohne dass manuelle Prüfungen notwendig bleiben. Dafür mussten stabile Tests entwickelt und in eine bestehende CI/CD-Pipeline integriert werden.

  • Aufbau stabiler End-to-End-Testfälle
  • Integration automatischer Testläufe in GitHub Actions
  • Minimierung manueller QA-Schritte vor dem Deployment

Projektziele

Ziele des Projekts waren:

  • Entwicklung und Implementierung von E2E-Tests für mehrere Webanwendungen
  • Integration der Tests in die bestehende CI/CD-Pipeline über GitHub Actions
  • Sicherstellung automatischer Testdurchläufe vor jedem Deployment
  • Erhöhung der Qualität und Zuverlässigkeit der WebApps

Die Lösung

Ich entwickelte die End-to-End-Tests mit Playwright, um Benutzerinteraktionen realistisch nachzustellen. Diese Tests wurden anschließend über GitHub Actions automatisiert ausgeführt, sodass jede Änderung im Repository automatisch getestet wird. Zusätzlich wurden Fehlermeldungen und Screenshots im Fehlerfall in der Pipeline ausgegeben, um die Analyse zu vereinfachen.

Die Umsetzung

  • Testentwicklung: Erstellung von E2E-Testfällen für Login, Zahlungsprozesse und Benutzerfunktionen
  • Automatisierung: Integration der Tests in GitHub Actions mit paralleler Ausführung
  • CI/CD-Integration: Automatischer Testlauf bei jedem Push oder Pull Request

Das Ergebnis

  • Automatisierte End-to-End-Tests für alle zentralen WebApp-Komponenten
  • Deutlich reduzierte manuelle Tests vor Deployments
  • Schnellere und verlässlichere Feedbackzyklen im Entwicklungsprozess

Fazit und Erkenntnisse

Ich habe gelernt, wie man End-to-End-Tests konzipiert, entwickelt und automatisiert. Zudem konnte ich meine Kenntnisse in GitHub Actions und CI/CD-Automatisierung weiter vertiefen.

  • Erfahrung im Aufbau stabiler E2E-Testumgebungen
  • Vertiefte Kenntnisse in GitHub Actions
  • Verständnis für testgetriebene Deployment-Prozesse