Workshop - Altanwendungen wieder testbar machen

Folien

In einer idealen Welt wird Software von Beginn an durchdacht entwickelt und bei jeder Komponente auf eine gute Testbarkeit geachtet. Der Alltag eines Software-Entwicklers sieht freilich anders aus: Monolithischer, schwer verständlicher, unzureichend dokumentierter und fehleranfälliger Code aus vergangenen Tagen muss gefixt oder um neue Funktionalitäten erweitert werden - und das am besten gestern. Gleichzeitig darf bestehende Funktionalität jedoch unter garkeinen Umständen angefasst werden, was zu einer Art "Fear Driven Development" führt, das jegliche Bemühungen zur Verbesserung der Code-Qualität im Keim erstickt.

Um die Wartbarkeit von Altanwendungen langfristig zu erhalten und gleichzeitig sicherzustellen, dass sich gewünschtes Verhalten nicht unbeabsichtigt verändert, werden strukturelle oder gar semantische Refactorings zur Verbesserung des automatisierten Testens aber unabdingbar.

Im Rahmen dieser DevSession wollen wir uns dabei nicht nur geeignete Refactoring-Techniken aus dem praktischen Alltag anschauen, sondern uns auch über die Organisation des Refactorings selbst unterhalten. Weil alle Theorie grau ist, nehmen wir uns anschließend eine historisch gewachsene „Altanwendung“ zur Brust, welche wir nach allen Regeln der Kunst auseinandernehmen dürfen. Abschließend werfen wir noch einen Blick auf moderne Integration Tests, indem wir das Framework Testcontainers kennenlernen.