Testing Legacy Code
Agiles Testen
- 23.03. - 24.03.2015
- ab 09:00 Uhr
- bis 17:00 Uhr
- 1000€ (zzgl. 19% MwSt)
- Arbeits(t)raum & Office Center
- Freibadstraße 30
- 81543 München
Die Ausgangslage:
Ein schon lange bestehendes Modul soll verändert werden, etwa um ein neues Feature zu ergänzen oder aus
Wartungsgründen. Der Code des Moduls wurde lange Zeit von niemandem angefasst, er ist alt, schwer
verständlich und enthält vermutlich Fehler, vor allem ist der Code, so wie er vorliegt, nicht testbar. Das macht
jede Veränderung riskant. Denn um Code verändern zu können, braucht man Tests, und um Tests schreiben zu
können, muss man Code verändern. Die Folge dieses Dilemmas: Jede Korrektur, jede Erweiterung wird zu einem
Spiel auf Risiko – und sehr aufwändig.
Das Ziel – hohe Testautomatisierung:
Das zugrunde liegende Problem ist die fehlende Testautomatisierung. Deshalb zielt dieses Training darauf ab,
auch in bestehenden Systemen ein Netz aus Tests aufzubauen. Denn Tests könnten gerade in Legacy Code die
nötige Sicherheit geben, um Veränderungen vorzunehmen. In einem weiteren Schritt könnten Tests auch helfen,
Fehler zu vermeiden und das Verständnis im Code zu verbessern.
Die Vorgehensweise:
Das Training hat Workshop-Charakter und vermittelt das Handwerkszeug, um sich aus dem Code-Test-Dilemma zu
befreien.
Dazu lösen die Teilnehmenden beispielhaft typische Probleme mit Legacy Code:
- Wie erzeuge ich ein Objekt meiner Klasse, wenn diese viele Abhängigkeiten hat oder der Konstruktor sehr
lang ist? - Wie kann ich einzelne Methoden testbar machen?
- Wie stelle ich sicher, dass ich das alte Verhalten meines Codes nicht unbeabsichtigt verändere?
- Wie gehe ich mit langen oder sehr verschachtelten Methoden um?
- Was kann ich machen, wenn ich zu wenig Zeit habe, um den Legacy Code aufzuräumen?
Der Inhalt:
In drei Schritten lässt sich die eigentliche Aufgabe lösen, den Code „forever young“, also veränderbar zu halten:
- Code so zu restrukturieren, dass es möglich wird, Tests zu schreiben
- Tests schreiben
- Mit der Sicherheit dieses Testnetzes neue Features ergänzen oder Fehler beheben
Dazu umfasst der Trainingsplan des Kurses folgende Themen:
- Tests als Sicherheitsnetz
- kurze Wiederholung zu JUnit
- Abgrenzung von zu testenden
Komponenten - Lösen konkreter Probleme in Legacy
Code - Restrukturierung von Code
- testgetriebene Entwicklung von
neuem Code
Unser Angebot:
Ein 2-tägiger Workshop für Entwicklerinnen und Entwickler mit Java-Kenntnissen und Erfahrungen mit
automatisiertem Testen, etwa mit JUnit. Der Kurs wird auch als Inhouse-Schulung angeboten.
Der Frühbucherrabatt in Höhe von 100 € gilt automatisch für alle Anmeldungen bis 30 Tage (inklusive) vor Veranstaltungsbeginn. Solange der Frühbucherrabatt gilt, ist das „Early Bird“ Icon bei der Beschreibung des jeweiligen Events unter www.andrena.de/events eingeblendet. andrena Kunden, GI- und VKSI-Mitglieder erhalten 10% Rabatt. Geben Sie einfach bei der Anmeldung im Feld "Promo-Code" das Ihnen bekannte Kennwort ein. Bitte beachten Sie unsere allgemeinen Teilnahmebedingungen: Wenn die Mindestteilnehmerzahl nicht erreicht wird, kann andrena das Seminar absagen.
Bei Fragen wenden Sie sich an veranstaltungen@andrena.de
Thomas Pilot ist Softwareentwickler und Trainer bei der andrena objects ag. Bei seinen Kundeneinsätzen legt er besonderen Wert auf Clean Code und Nachhaltigkeit. Dabei kommt er immer wieder in Berührung mit altem Code, insbesondere solchem ohne automatisierte Tests. Um diesen Zustand zu verbessern, setzt er verschiedene Tools und Techniken ein und gibt dabei sein Wissen bereitwillig weiter.
andrena Kunden, GI- und VKSI-Mitglieder erhalten 10% Rabatt. Bitte geben Sie bei der Anmeldung im Feld "Promo-Code" das Ihnen bekannte Kennwort ein. Bitte beachten Sie unsere allgemeinen Teilnahmebedingungen: Wenn die Mindestteilnehmerzahl nicht erreicht wird, kann andrena das Seminar absagen.