Comparison of the Test-Driven Development Processes of Novice and Expert Programmer Pairs

  • Type:Diplomarbeit
  • Supervisor:

    Dr. Andreas Höfer

  • Test getriebene Entwicklung (TGE) ist eine zentrale Praktik des Extreme Programmings, einer agilen Methode der Softwareentwicklung. Ihren Befürwortern zufolge führt TGE zu hochwertigerem Code und erhöht die Produktivität der Entwickler. Im Zuge der in den letzten Jahren stark gewachsenen Popularität der TGE sind eine Reihe empirischer Studien durchgeführt worden, die den Nutzen der TGE im Vergleich mit anderen Entwicklungstechniken untersucht haben. Jedoch sind die Resultate der Studien nicht eindeutig. Während die Vorteile der TGE in einigen Studien tatsächlich nachgewiesen werden konnten, kamen andere Studien zu gegenteiligen Ergebnissen. Ein möglicher Grund für die widersprüchlichen Ergebnisse liegt in der unterschiedlichen Erfahrung der Teilnehmer mit der TGE: Die Studien wurden entweder in akademischem Umfeld mit TGE-unerfahrenen Studenten oder aber in betrieblichem Umfeld mit TGE-versierten Entwicklern als Teilnehmern durchgeführt. Aus der unterschiedlichen Erfahrung resultiert eine unterschiedliche Fähigkeit den Prozess umzusetzen. Daher stellt die Prozesskonformität, d. h. inwieweit die Teilnehmer dem Prozess der TGE gefolgt sind, eine Gefahr für die Gültigkeit der Studien dar. Dennoch ist dieser Aspekt in keiner der Studien, in denen TGE mit anderen Entwicklungsmethoden verglichen wurde, technisch kontrolliert worden. Daher ist ein Werkzeug notwendig, mit dem sich die Prozesskonformität der Teilnehmer bewerten lässt. Müller und Höfer [30] haben ein solches vorgestellt. Da ihr System jedoch eine Reihe von Unzulänglichkeiten aufweist, wurde die Entwicklung eines neuen Werkzeugs unumgänglich. Im Rahmen dieser Diplomarbeit ist eine neue Anwendung entworfen und implementiert worden, die eine eingehende Untersuchung von TGEProzessen ermöglicht. Dazu analysiert das System die während einer Programmiersitzung transparent für die Entwickler gesammelten Daten. Im zweiten Teil der Diplomarbeit wird die Anwendung dazu verwendet, die in einem Quasi-Experiment beobachteten Entwicklungsprozesse unerfahrener Entwicklerpaare mit denjenigen erfahrener Entwicklerpaare zu vergleichen. Die Ergebnisse lassen unter anderem den Schluss zu, dass TGE-erfahrene Entwicklerpaare den TGE-Prozess strenger befolgen und häufiger Umstrukturierungen vornehmen als TGE-unerfahrene Entwicklerpaare.