JUnit und weitere Test-Werkzeuge
Empfohlene Schulungsdauer: 3 Tage, insgesamt 24 Unterrichtsstunden à 45 Minuten
Kursziele
Teilnehmer lernen in diesem Seminar JUnit und weitere Open-Source-Werkzeuge zum einfachen und automatisiertem Testen von Java-Programmen kennen. Mit den JUnit-Frameworks lassen sich Fehler durch Abweichungen von festgelegten Anforderungen schnell finden und stabile Versionen ausliefern, um die Qualität der Software dauerhaft sicherzustellen. Praktisch wenden Teilnehmer die testgetriebene Entwicklung an, in der sie zunächst über JUnit-Testfälle ausreichend Wissen über das Verhalten einer Komponente erlangen, um diese anschließend zu realisieren.
Zielgruppe
Software-Entwickler, SystemarchitektenKursvoraussetzungen
Der Kurs ›Java für Fortgeschrittene‹, ›Java für Umsteiger‹ oder vergleichbare Kenntnisse.Seminarinhalte
Grundlagen
- Testen zur Qualitätssicherung
- Verschiedene Arten von Software-Tests
- Unit-Tests und funktionale Tests, Systemtests
- Zuverlässigkeitstest, Regressionstest, Benutzbarkeitstest
- Die Test-Phase im (agilen) Entwicklungsmodell
- Test-Driven-Development (TDD) und der Test-First-Ansatz
- Design By Contract, Zusicherungen, Vor- und Nachbedingungen
- Java 1.4 Schlüsselwortassert
JUnit
- Entstehung von JUnit und Versionen JUnit 3 und JUnit 4
- Zentrale JUnit-Klassen und Annotationen für JUnit 4
- Symbolischer Test mitAssert
- JUnit in Eclipse
- Lebenszyklus einer Testsuite
- Organisation der Testklassen
- Sammeln von Testfällen in einerTestSuite
- Testen von Exceptions
- Fixtures
Fortgeschrittene JUnit-Möglichkeiten
- Modellierung auf Reihenfolgenunabhängigkeit
- Parametrisieren von Tests
- Timeouts
- Theorien, Assumptions und Hamcrest Assertions
- Parallele Tests, Scheduling-Strategien, Computer-Modell
- Rules
- JUnit Extensions
- TestNG als Alternative zu JUnit
Komplexe Anwendungen mit JUnit testen
- Testen von Dateioperationen
- Wie das Design das Testen vereinfacht
- Das Anti-Pattern Singleton testen
- Nebenläufigkeit testen
- Isoliertes Testen mit Dummy- und Mock-Objekten
- jMock: Eine leichtgewichtige Mock-Objekt-Bibliothek für Java
- Die Unitils-Bibliothek
Datenbankgestützte Anwendungen testen
- Einfacher testen durch gutes Design
- Persistente Objekte durch Zugriffsobjekte testen
- Datenbankapplikationen testen mit DbUnit
Web-Applikationen testen
- Aufzeichnen und Abspielen von von Web-Interaktionen
- Selenium und Selenium IDE
- Das Framework HttpUnit
- Das Framework LiFT
- Besonderes zum Testen von Struts- und JSF-Applikationen
- Nicht funktionale Anforderungen wie Performanz testen
Verteilte Anwendungen testen
- Herausforderungen beim Testen von verteilten Anwendungen
- RMI-Anwendungen testen
- Testen von Java EE-Applikationen mit Jakarta Cactus
- Web-Services testen, soapUI
Testen von GUI-Anwendungen
- Herausforderungen beim Testen von Benutzeroberflächen
- Abbot/Costello für Tests von AWT/Swing-Oberflächen
- Lohnen sich GUI-Tests?
Weitere Test-Werkzeuge und JUnit im Build-Prozess
- Testen über Apache Ant
- Testen auf Integrationsrechner
- Akzeptanztests mit FIT und Fitnesse
- Statische Überdeckungsanalyse
- Testabdeckung mit Cenqua Clover und Coverlipse
- Mutation Testing Tools: Jester, Jumble
- Last-Tests mit JMeter und The Grinder für Web- und verteilte Anwendungen
- Werkzeuge zur Qualitätsüberprüfung von Code und Design
- Statische Codeanalyse mit FindBugs, Checkstyle, PMD
- Testen im Entwicklungsprozess: Hudson, CruiseControl
Schulungsunterlagen
Deutschsprachige Unterlagen (Kopien der Folien), Zertifikat.
Eingesetze Seminar-Software
Als Laufzeitumgebung wird standardmäßig Java SE 6 von Sun zusammen mit der Entwicklungsumgebung Eclipse 3.5 eingesetzt (Paket ›Eclipse IDE for Java EE Developers‹). Auf Wunsch auch NetBeans 6 oder andere Entwicklungsumgebungen (IntelliJ IDEA, Oracle JDeveloper). JUnit-Versionen je nach Anforderung: JUnit 4.8 oder JUnit 3.8.
Schlagwörter
Weiterführende Seminare
- Codeanalyse mit FindBugs, PMD, Checkstyle und JDepend
- Build Management mit Ant
- Enterprise Build Management mit Maven
![Zu einem Bookmark-Anbieter hinzufügen [Addthis]](../../images/bookmarks/addthis.png)
![Zu Google Bookmarks hinzufügen [Google Bookmarks]](../../images/bookmarks/google.png)
![Zu Yahoo! Bookmarks hinzufügen [Yahoo! Bookmarks]](../../images/bookmarks/yahoo.png)
![Zu Delicius hinzufügen [Delicius]](../../images/bookmarks/delicious.png)
![Zu Mister Wong hinzufügen [Mister Wong]](../../images/bookmarks/misterwong.png)