: Refactoring und Testen bilden wesentliche Bausteine des Extreme Programming. In diesem Beitrag wird der konzeptionelle Zusammenhang zwischen beiden Praktiken herausgearbeitet. Insbesondere wird die Abhängigkeit zwischen der Durchführung eines Refactorings und den sich daraus ergebenden notwendigen Änderungen der Testumgebung betrachtet. Durch eine geeignete Typisierung von Refactorings werden diese Änderungen übersichtlich zusammengefasst und beschrieben. Die Beschreibung bildet die Grundlage für die Gestaltung eines systematischen Vorgehens, welches in weiten Teilen durch Werkzeuge unterstützt und damit effizient in der Entwicklung eingesetzt werden kann. 1 Refactoring und Testen in agilen Prozessen Agile Entwicklungsvorgehen versuchen, Flexibilität während der Entwicklung durch einen Verzicht auf eine aufwändige Vorplanung zu gewinnen [HR02]. Sie können kurz und prägnant beschrieben werden, da wesentliche Teile ihrer Ausgestaltung den ausführenden Entwicklern überlass...