- 1. Einführung in Test Driven Development
- Motivation und Ziele von TDD
- Herausforderungen klassischer Softwareentwicklung
- Vorteile testgetriebener Entwicklung
- Überblick über den Red-Green-Refactor-Zyklus
- 2. Der TDD-Entwicklungsprozess
- Schreiben des ersten fehlschlagenden Tests
- Implementierung minimaler Funktionalität
- Refactoring und kontinuierliche Verbesserung
- Iterative Entwicklung kleiner Schritte
- 3. Unit Testing mit JUnit 5
- Aufbau moderner Unit Tests
- Testmethoden und Assertions
- Testorganisation und Strukturierung
- Lesbare und wartbare Tests erstellen
- 4. Test Doubles in der Praxis
- Dummy, Fake, Stub, Spy und Mock
- Auswahl geeigneter Test Doubles
- Abgrenzung verschiedener Teststrategien
- Typische Fehler und Best Practices
- 5. Mocking mit Mockito
- Grundlagen von Mockito
- Mocking und Stubbing
- Verifikation von Interaktionen
- Testen von Abhängigkeiten
- 6. Objektorientiertes Design und Testbarkeit
- Testbare Klassen entwerfen
- Lose Kopplung und hohe Kohäsion
- SOLID-Prinzipien
- Dependency Injection
- 7. Refactoring unter Testsicherheit
- Refactoring-Techniken
- Kontinuierliche Verbesserung bestehender Software
- Erkennen von Code Smells
- Sicheres Umstrukturieren durch automatisierte Tests
- 8. Clean Code und nachhaltige Softwareentwicklung
- Lesbarer und wartbarer Code
- Namenskonventionen und Strukturierung
- Vermeidung technischer Schulden
- Qualitätsmerkmale moderner Software
- 9. Testabdeckung und Testqualität
- Aussagekraft von Code Coverage
- Grenzen von Coverage-Metriken
- Qualitätsmerkmale guter Tests
- Wartbarkeit von Testcode
- 10. TDD in modernen Entwicklungsprozessen
- Continuous Integration und Continuous Delivery
- Automatisierte Testpipelines
- Qualitätssicherung im DevOps-Umfeld
- Integration von TDD in agile Projekte
- 11. Testen moderner Java-Anwendungen
- Testen von Services und APIs
- Einführung in Testcontainers
- Isolierte Testumgebungen
- Integrationstests und Unit Tests im Vergleich
- 12. Pair Programming und TDD
- Zusammenarbeit im Entwicklerteam
- Pair Programming als Qualitätswerkzeug
- TDD Game und praktische Übungen
- Gemeinsame Code Reviews
- 13. KI-Unterstützung und TDD
- Einsatz von GitHub Copilot und KI-Assistenten
- Generierung von Testfällen
- Chancen und Risiken KI-generierter Tests
- Qualitätssicherung durch TDD
LernzieleNach dem Seminar beherrschen Sie die Grundlagen des Test Driven Development und können den Red-Green-Refactor-Zyklus sicher anwenden. Sie sind in der Lage, professionelle Unit Tests mit JUnit 5 und Mockito zu erstellen, Test Doubles sinnvoll einzusetzen und Java-Anwendungen testbar zu entwickeln. Darüber hinaus verstehen Sie, wie TDD die Codequalität, Wartbarkeit und Architektur positiv beeinflusst und wie sich TDD erfolgreich in moderne Entwicklungsprozesse integrieren lässt.
ZielgruppenDas Seminar richtet sich an Java-Entwickler, Softwareentwickler, Softwarearchitekten und technische Projektmitarbeiter, die ihre Kenntnisse im Bereich Testautomatisierung und Softwarequalität ausbauen möchten.
TeilnahmevoraussetzungenSie verfügen über praktische Erfahrung in der Java-Programmierung.
Sie kennen die Grundlagen objektorientierter Programmierung.
Erste Erfahrungen mit Java-Entwicklungswerkzeugen wie IntelliJ IDEA oder Eclipse sind hilfreich.