Testautomatisierung
Wir fangen Bugs. Nicht Ihre Nutzer.
End-to-End-, Unit- und Integrationstests in CI/CD. Playwright, Cypress, k6.
Warum Tests automatisieren¶
Manuelles Testen skaliert nicht. Jedes neue Feature vergroessert die Regressionsmatrix. Ein Team, das manuell testet, verlangsamt entweder den Release-Zyklus oder hoert auf zu testen. Beides kostet Geld.
Automatisierte Tests sind kein Luxus fuer grosse Unternehmen. Sie sind grundlegende Software-Entwicklungshygiene. Jeder Commit durchlaeuft eine Testsuite, die in Minuten verifiziert, dass nichts kaputt ist. Entwickler bekommen sofort Feedback — nicht zwei Tage spaeter vom QA-Team, das manuell zwanzig Szenarien durchklickte.
Das Ergebnis: Schnellere Releases, weniger Bugs in Produktion, hoeheres Vertrauen in den Code. Das Team konzentriert sich auf neue Features statt Feuer zu loeschen.
Die Testpyramide¶
Es macht keinen Sinn nur E2E-Tests zu schreiben. Es macht keinen Sinn nur Unit-Tests zu schreiben. Eine effektive Teststrategie kombiniert alle Schichten — jede faengt einen anderen Bugtyp, jede hat ein anderes Kosten/Nutzen-Verhaeltnis.
Unit Tests — die Basis der Pyramide¶
Die schnellsten, guenstigsten, zuverlaessigsten. Sie testen isolierte Funktionen, Business-Logik, Utilities, Datentransformationen. Laufen in Millisekunden.
Tools: Jest, Vitest, pytest, JUnit, XCTest — je nach Sprache und Stack. Wichtig ist nicht das Tool, sondern dass sie automatisch bei jedem Commit laufen.
Integrationstests — die Mitte der Pyramide¶
Sie verifizieren, dass Komponenten korrekt zusammenarbeiten. Gibt der API-Endpunkt die richtigen Daten zurueck? Funktioniert die Datenbankabfrage mit dem realen Schema?
E2E Tests — die Spitze der Pyramide¶
End-to-End-Tests simulieren einen realen Benutzer. Sie oeffnen einen Browser, klicken auf Buttons, fuellen Formulare aus, verifizieren Ergebnisse. Am teuersten in der Wartung, aber unverzichtbar fuer kritische User Flows.
Schluesselregel: Wir schreiben E2E-Tests nur fuer kritische Pfade. Login, Checkout, Zahlung, Registrierung — Flows, bei denen ein Bug direkt Geld kostet.
Playwright — unser Standard fuer E2E¶
Playwright von Microsoft ist das beste Tool fuer End-to-End-Testing von Webanwendungen. Cross-Browser (Chromium, Firefox, WebKit), schnell, stabil, mit exzellentem API.
Warum Playwright¶
Auto-Waiting: Playwright wartet automatisch auf Elemente, Animationen, Netzwerk-Requests. Keine sleep(5000) Hacks, keine flaky Tests durch Timing-Probleme.
Tracing und Debugging: Jeder Test generiert einen Trace — Screenshot, DOM Snapshot, Network Log, Konsolenausgabe bei jedem Schritt. Wenn ein Test in CI fehlschlaegt, oeffnen Sie den Trace Viewer und sehen genau was passiert ist.
Parallelisierung: Tests laufen parallel out-of-the-box. 200 E2E-Tests in 3 Minuten statt 45 Minuten sequenziell.
Codegen: Playwright kann eine User Journey aufnehmen und einen Test generieren. Ideal fuer schnellen Start.
CI/CD-Integration¶
Tests ohne CI/CD sind freiwillig. Und freiwillige Tests werden nicht mehr ausgefuehrt.
Pipeline-Design¶
Jeder Pull Request triggert eine Test-Pipeline:
- Lint + Type Check (30s) — Syntaxfehler, Typfehler
- Unit Tests (1-2 Min) — Business-Logik, Utilities
- Integrationstests (2-3 Min) — API, Datenbank, Services
- E2E Tests (3-5 Min) — Kritische User Flows
- Performance Check (optional) — k6 Smoke Test gegen Staging
Fail Fast: Pipeline stoppt beim ersten Fehler. Unit Test faellt in 30 Sekunden durch? Entwickler repariert in einer Minute. Kein 10-Minuten-Warten auf E2E-Ergebnisse noetig.
Parallelisierung und Caching¶
Unser Benchmark: Komplette Testsuite (500+ Unit, 50+ Integration, 30+ E2E) unter 10 Minuten. Das ist eine akzeptable Feedback-Schleife — Entwickler pusht, holt sich einen Kaffee, kommt zu gruenen Checks zurueck.
k6 fuer Performance Tests in CI¶
k6 von Grafana Labs: Sie schreiben in JavaScript, es laeuft in Go. Ideal fuer Performance Tests integriert in CI/CD-Pipelines.
Smoke Test in CI: Jeder PR triggert einen schnellen k6 Smoke Test — 10 virtuelle Nutzer, 30 Sekunden. Ersetzt keinen vollen Load Test, faengt aber grobe Performance-Regressionen.
Schwellenwerte: k6 definiert Performance Budgets. Response Time p95 > 500ms? Test schlaegt fehl, PR wird nicht gemergt. Performance-Regression vor Deploy erkannt.
Teststrategie fuer Ihr Team¶
Es gibt keine universelle Teststrategie. Sie haengt vom Stack, Team, Release-Zyklus und der Geschaeftsdomaene ab.
Unser Ansatz:
- Audit — wir kartieren den aktuellen Stand des Testens und identifizieren die groessten Risiken
- Strategie — wir entwerfen eine massgeschneiderte Testpyramide und waehlen Tools
- Quick Wins — wir implementieren die CI/CD-Pipeline und erste Tests fuer kritische Flows
- Iteration — wir erweitern schrittweise die Abdeckung, schulen das Team und optimieren die Pipeline
Der wichtigste Schritt? Anfangen. Zehn gute Tests in CI schlaegen 200 Tests in einem Dokument, das niemand ausfuehrt.
Technologie-Stack¶
E2E: Playwright, Cypress, Selenium (Legacy).
Unit/Integration: Jest, Vitest, pytest, JUnit, Go Testing, XCTest.
Performance: k6, Gatling, Artillery.
CI/CD: GitHub Actions, GitLab CI, CircleCI, Jenkins, Azure DevOps.
Reporting: Allure, Playwright HTML Reporter, Custom Grafana Dashboards.
Häufig gestellte Fragen
Basis-Setup in 1-2 Wochen. Vollstaendige Implementierung mit allen Integrationen in 4-8 Wochen. Wir liefern inkrementell — Wert ab dem ersten Sprint.
Wir waehlen basierend auf Ihrem Stack und Team. Open-Source-bevorzugt (Grafana, Prometheus, Playwright, k6), Enterprise-Alternativen wo sinnvoll.