TDD hilft dabei, wartbare Tests auf Unit-Ebene zu entwickeln. Doch auch diese Tests sind zu pflegen. Trotz bester Intention sind Tests oft nicht optimal geschnitten, enthalten überflüssige Abhängigkeiten oder kompliziertes Setup. Gezieltes Refactoring kann hier Abhilfe schaffen. Tests, die statt Test-getrieben erst im Nachhinein entstanden sind, stellen meist noch größere Herausforderungen dar.
Der Workshop besteht aus drei Teilen: - Vortrag: Kurzvortrag ca. 30 min. über Test-Refactoring-Methoden (enthält einen interaktiven Teil für Papier & Stift) - Test-Refactoring-Kata: Im Paar-Programming führen die Teilnehmer Refactorings an vorgegebenem Test-Code durch. Projekt- und Testcode liegen dabei in den Sprachen Java, JavaScript und Ruby vor. - Retrospektive: Austausch von Erfahrungen und Meinungen
Voraussetzung: eigenes Notebook (pro 2 Teilnehmer)
Mögliche Sprachen: Java, JavaScript, Ruby
Folgende Smells und Lösungsstrategien werden im Vortrag behandelt:
Smells: Äquivalenztests, Fragile Test, Eager Test, Mystery Guest, General Fixture, Multiple Test Conditions
Lösungen: Arrange Act Assert, Example Factory, Test Data Builder, Object Mother, Neutral Fixture, Fresh Fixture, Minimal Fixture, Isolate with Stubs, Splitting, Organize by Feature
Dipl. Inf. (FH) Marco Emrich ist seit 1993 als Softwareentwickler tätig. Er forschte für das Fraunhofer IESE und arbeitete in verschiedenen Branchen, z. B. CAD und Mobile Development. Zurzeit ist er bei der Webmasters Akademie in Nürnberg als Projektleiter, Entwickler, Dozent und Autor beschäftigt. Er schreibt Artikel für Fachzeitschriften (RailsWay, OBJEKTspektrum und das englischsprachige Web & PHP Magazine) hält regelmäßig Workshops und Vorträge auf bekannten Softwarekonferenzen (u. a. OSMB, OOP, Seacon, Webinale) und moderiert Code-Retreats. Außerdem ist er aktives Mitglied bei der Softwerkskammer, Webmasters Europe und der Ruby User Group Nürnberg, wo er regelmäßige Treffen mitorganisiert. In seiner Freizeit arbeitet er an seinen Hobbyprojekten wie fantasy-cards.net und spielt Computerspiele mit seinem Sohn.