JUnit und weitere Test-Werkzeuge
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, SystemarchitektenEmpfohlene Dauer
3 Tage, insgesamt 18 ZeitstundenInhalte
- 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
- Theorien, Assumptions und Hamcrest Assertions
- Parallele Tests, Scheduling-Strategien, Computer-Modell
- 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
Voraussetzungen
Der Kurs ›Java für Fortgeschrittene‹, ›Java für Umsteiger‹ oder vergleichbare Kenntnisse.
Seminarunterlagen
Deutschsprachige Unterlagen (Kopien der Folien), Zertifikat.
Software
Als Laufzeitumgebung wird standardmäßig Java SE 6 von Sun zusammen mit der Entwicklungsumgebung Eclipse 3.4 eingesetzt (Paket ›Eclipse IDE for Java EE Developers‹). Auf Wunsch auch NetBeans 6 oder andere Entwicklungsumgebungen. JUnit-Versionen je nach Anforderung: JUnit 4.6 oder JUnit 3.8.
![Zu einem Bookmark-Anbieter hinzufügen [Addthis]](../../images/bookmarks/addthis.gif)
![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)