Inhouseseminar Testgetriebenes
Design
|
 |
Kaum ein Team verzichtet heute noch auf den Einsatz von
Unit-Tests.
Allerdings hört man oft Klagen, die Tests seien zu
wartungsaufwändig, sie seien instabil oder "schon lange nicht
mehr
aussagekräftig". In den allermeisten Fällen
verhindert der
konsequente Einsatz testgetriebenen Designs nicht nur diese Probleme,
sondern führt auch noch zu sehr gut entkoppeltem und
wartungsfreundlichen Design.
Dieser Kurs macht Sie in zwei bis drei Tagen mit der Technik
des testgetriebenen Designs vertraut. Er führt von einfachen
Anwendungen hin zu komplexen Mock-Konstrukten und - in der
dreitätigen Fassung - zu automatisierten Akzeptanztests.
Dieses Seminar wurde von Johannes Link entwickelt und wird
von mir in
Lizenz gegeben.
Teilnehmer: 4-20
Entwickler
Mein Tipp:
Kombinieren Sie dieses Seminar:
Was nehmen die Teilnehmer mit?
Die Teilnehmer
bekommen eine Einführung in die Ideen und Prinzipien
testgetriebener Entwicklung.
Die folgenden Gebiete werden im Kurs
behandelt:
- Die Rolle der Qualität in der Softwareentwicklung
- Test-first Programmierung: der TDD-Zyklus
- Schreiben von Unit-Tests
- Was sind gute Unit-Tests
- Evolutionäres Design durch Refactoring
- Testisolation durch Mockobjekte
- Akzeptanztests mit FitNesse (nur in der 3-tägigen
Fassung)
Die Übungen finden in Java auf Eclipse-Umgebung mit
JUnit
statt oder in C++ auf Visual Studio mit CppUnit. Seminare für
C#/NUnit auf Anfrage.
Wer sollte teilnehmen?
Das Seminar richtet sich an Entwickler, Desinger und Architekten, die
mit agiler Entwicklung starten wollen, den Einsatz von TDD planen oder
Unit-Tests einsetzen und deren Effektivität durch
testgetriebene
Entwicklung verbessern wollen.
Die Teilnehmer sollten über Kenntnisse objektorientierten
Designs und
Programmierung verfügen und die eingesetzte Programmiersprache
und Entwicklungsumgebung zumindest auf mittlerem Niveau
beherrschen. Die Übungen werden paarweise
durchgeführt.
Wie groß sollte die
Gruppe sein?
Das Format eignet sich für vier bis etwa zwanzig Personen. Bei
mehr als zwölf Personen muss die Gruppe aufgeteilt werden und
es sind zwei Trainer notwendig.
Wie läuft der Kurs ab?
Das Seminar wechselt zwischen Vortrag, Demonstration und
praktischen
Programmieraufgaben, die ca. 50% des zeitlichen Umfangs ausmachen.
Zudem wird Raum für Diskussionen zur Einbindung in die
Projektarbeit
gelassen. Die praktischen Aufgaben führen schrittweise in die
verschiedenen Aspekte testgetriebener Entwicklung ein.
Die Übungen werden entweder auf Eclipse in Java mit
JUnit
durchgeführt oder mit Visual Studio C++ mit CppUnit
(oder mit
C# und NUnit auf Anfrage). Die
Übungen sowie die dafür notwendige freie Software
erhalten die Teilnehmer zu Beginn des Seminars auf CD oder USB Stick.
Für die C++-Variante muss Visual Studio vorinstalliert sein..
In der
dreitägigen
Variante ist zudem eine Einführung in Akzeptanztests mit
FitNesse
enthalten. Die Einführung in FitNesse findet in Java mit
Eclipse statt,
die
notwendige Software wird bereitgestellt.
Organisatorisches
Welches
Material wird benötigt?
- Ein Seminarraum
mit ausreichend Tischen (Bestuhlung als
Meetingraum).
- 1 Flipchart
mit Papier und Stiften
- 1 Beamer mit
Leinwand
- Jeweils einen Entwicklungsrechner
bzw. Laptop
für zwei Teilnehmer. Die
Teilnehmer
benötigen administrative Rechte für die Laptops.
Für den
Javakurs wird die jeweils
aktuelle Fassung von Eclipse, JUnit und JDK 1.5 oder höher
bereitgestellt, kann aber auch vorinstalliert werden. Für die
C++-Fassung benötigen die Teilnehmer eine vorinstallierte
Version
von Visual Studio.
- Verpflegung (je
ein Mittagessen und zwei Kaffeepausen)
Welche
Unterlagen erhalten die Teilnehmer?
Die Teilnehmer erhalten den kompetten Foliensatz sowohl als
PDF als auch auf Wunsch als gedrucktes Handout. Zudem erhalten die
Teilnehmer eine CD mit allen Übungen, Musterlösungen
und
notwendiger freier Software.
Wer hält den
Kurs?
Grundsätzlich halte ich Kurse, die Sie bei mir buchen selbst.
Benötigen Sie mehrere Trainer oder lässt sich kein
geeigneter
Termin finden, arbeite ich mit Johannes Link zusammen.
Wo ist der Kurs schon gehalten worden?
Der Kurs ist von Johannes Link entwickelt worden und wird seit vielen
Jahren immer wieder aktualisiert und weiter entwickelt. Ich selbst
halte ihn standardmäßig Inhouse, wenn Teams in
agiler
Entwicklung geschult werden sollen.
Wie kann ich mehr
erfahren?
Treten Sie mit mir in Kontakt,
ich erstelle Ihnen gerne ein Angebot.