- Testebenen: Unit-/Komponenten-Test, Integrationstest, Systemtest
- Testen als Bestandteil des Entwicklungsprozesses
- Testtechniken
Testen:
- Design for Testing: Programmierrichtlinien für testbare Anwendungen
- Erstellen von funktionalen und technischen Unit-Tests
- Mock-Objekte
- Erstellung von Testdaten
- Automatisiertes Testen durch Skripte
- Last- und Langzeittests
- Performance- und Speicheranalyse
- Testen in verschiedenen Umgebungen: Entwickler, Anwendung und Plattform
- Simulation von Benutzerverhalten: Rich Clients und Web Frontend
- Testen verteilter Systeme: Client-Server, Web-Applikationen, Enterprise JavaBeans
- Pageflow und Web-Anwendungen
- Netzwerksimulation
- Skalierbarkeit
- Security: Typische Schwachstellen für Hacker-Angriffe, Penetrationstests
Qualitätssicherung:
- Verfahren und Werkzeuge für Code Reviews
- Checklisten zum Erkennen unsauberer Codestrecken
- Erstellung und Interpretation aussagekräftiger Metriken
- Durchführung von Refactoring
- Prüfen der Umsetzung von Programmiervorgaben
- Sinnvolle Protokolle und Monitoring
- Beurteilung der fachlichen und technischen Dokumentation
- Prüfen von Design-Vorgaben
- Umgang mit externen Bibliotheken
Werkzeuge:
- JUnit und abgeleitete Test-Frameworks
- EasyMock
- Checkstyle
- Findbugs
- JDepend und Cobertura
- Cactus
- UI-Rekorder
- Integration in den Build-Prozess
- Übersicht und Wertung weiterer Werkzeuge
MethodeVortrag, Diskussion, Demonstrationen, Praktikum am System.