Was ist Testautomatisierung
Automatische Ausführung von Softwaretests
Testautomatisierung
Testautomatisierung ist die Verwendung spezieller Software zur Durchführung von Tests, zum Vergleich von Ergebnissen und zur Erstellung von Berichten ohne menschliches Eingreifen.
Testebenen
| Ebene | Beschreibung | Tools | |-------|--------------|-------| | Unit-Tests | Testen einzelner Funktionen | Jest, JUnit, pytest | | Integration | Komponenteninteraktion | TestContainers, Postman | | E2E-Tests | Vollständige Benutzerszenarien | Cypress, Playwright, Selenium | | Lasttests | Leistung unter Last | k6, JMeter, Gatling |
Testpyramide
- Viele Unit-Tests — schnell, günstig
- Einige Integrationstests — verifizieren Verbindungen
- Wenige E2E — langsam, aber decken echte Szenarien ab
Best Practices
- Tests in CI/CD bei jedem Commit ausführen
- Tests voneinander isolieren
- Mocks für externe Abhängigkeiten verwenden
- Tests aktuell halten
- 80%+ Abdeckung anstreben
Qualitätsmetriken
- Coverage — Prozentsatz der Codeabdeckung
- Flakiness — instabile Tests
- Ausführungszeit — wie lange Tests dauern
- Pass Rate — Prozentsatz erfolgreicher Läufe