Grundlagen und Unit-Tests (Basis der Test-Pyramide)
- Einführung in Testen und Qualitätssicherung: Ziele, Herausforderungen und Best Practices, Überblick über die Test-Pyramide nach Cohen: Warum eine breite Basis aus Unit-Tests essenziell ist, Praxisübung: Evaluierung einer bestehenden Teststrategie
- Unit-Testing mit JUnit 5, Mockito & Testcontainers: Einführung in JUnit 5: Features, Assertions, Lifecycle-Methoden, Nested-Tests & Parametrisierung - Einsatz von Testcontainers für datenbankabhängige Unit-Tests - Mocking mit Mockito (und ergänzenden Tools wie WireMock) - Hands-on Lab: Schreiben und Refaktorisieren von Unit-Tests
- Test Driven Development (TDD) und Clean Code: Der TDD-Zyklus: Red, Green, Refactor - Vorteile von TDD für Codequalität und Wartbarkeit - Praxisübung: Implementierung einer kleinen Spring Boot Anwendung nach TDD-Prinzipien
Integrationstests & API-Testing (mittlere Ebene der Test-Pyramide)
- Integrationstests in Spring Boot: Unterschied zwischen Unit- und Integrationstests - Einsatz von Spring Boot Test (z. B. SpringRunner, @WebMvcTest, @DataJpaTest) - Testen von REST-APIs mit RestAssured und MockMvc - Hands-on Lab: Schreiben von Integrationstests unter Einbeziehung von Testcontainers (z. B. für PostgreSQL, Kafka, Redis)
- API-Testing mit Contract Testing (Pact): Herausforderungen beim Testen verteilter Systeme - Einführung in Contract Testing: Consumer-Driven Contracts zur Sicherstellung der Schnittstellenkompatibilität - Optionale Vertiefung: Implementierung und Analyse von Pact-Tests in einer Microservices-Architektur
- Continuous Integration & Testautomatisierung: Einbindung von Integrationstests in CI/CD-Pipelines (Jenkins, GitHub Actions oder GitLab CI/CD) - Praxisübung: Aufbau einer CI/CD-Pipeline zur automatisierten Ausführung von Integrationstests
End-to-End-Tests und Systemtests (Spitze der Test-Pyramide)
- End-to-End-Testing & UI-Tests: Überblick über End-to-End-Tests: Ziele, Herausforderungen und Best Practices - Vergleich: Playwright vs. Selenium – wann welches Tool sinnvoll ist - Hands-on Lab: Schreiben von End-to-End-Tests für eine Webanwendung (Fokus auf Playwright, mit kurzem Überblick zu Selenium)
- Qualitätsmetriken & Test-Management: Messung der Testabdeckung und Codequalität mit JaCoCo & SonarQube - Einführung in Test-Management-Tools (z. B. Zephyr, TestRail) - Abschließende Diskussion: Langfristige Strategien zur kontinuierlichen Verbesserung der Testqualität
Methode
Vortrag, Diskussion, Demonstrationen, Praktikum am System.
Grundlagen und Unit-Tests (Basis der Test-Pyramide)
- Einführung in Testen und Qualitätssicherung: Ziele, Herausforderungen und Best Practices, Überblick über die Test-Pyramide nach Cohen: Warum ein...
Mehr Informationen