Stell Dir vor, Euer Team soll eine Software für eine Bibliothek entwickeln. Nachdem die Software fertig ist, stellt Ihr beim Testen fest, die Anforderungen sind widersprüchlich. Es kommt zu Terminverzug. Lies weiter, um zu erfahren, wie Du mit Test Driven Development viel Zeit und Geld sparen kannst.
Motivation für das Thema Test Driven Development
In einem früheren Projekt waren die Anforderungen unter anderem gegeben:
- Das System soll eine Systemrückmeldung für alle Benutzer innerhalb von 3 Sekunden geben
- Das System soll eine Systemrückmeldung für Bibliothekare innerhalb von 5 Sekunden geben
Was ist das Problem?
Das Problem hier ist, dass die Anforderungen widersprüchlich sind.
Systemrückmeldungen für alle Benutzer sollen innerhalb von 3 Sekunden erfolgen. Für eine Benutzergruppe, die Bibliothekare aber innerhalb von 5 Sekunden.
Diese Anforderungen sind so nicht testbar.
Wird die Software nach diesen Anforderungen entwickelt und der Widerspruch fällt während des Tests auf, fallen möglicherweise Mehraufwände an. Diese Mehraufwände beinhalten Änderungen der Anforderungen und möglicherweise Anpassungen an der Software.
Was ist Test Driven Development (TDD)?
Test Driven Development (TDD) ist eine agile Softwareentwicklungsmethode, bei der der Schwerpunkt auf der automatisierten Erstellung von Tests liegt. Mit TDD wird der Testprozess in den Entwicklungsprozess integriert und die Tests werden vor der eigentlichen Implementierung des Codes geschrieben.
Woher kommt Test Driven Development (TDD)?
Kent Beck, ein bekannter Softwareentwickler und Autor, hat eine Schlüsselrolle bei der Popularisierung von TDD gespielt. Er hat TDD in seinem Buch „Test Driven Development: by Example“ aus dem Jahr 2002 beschrieben und als Teil der XP-Methodik vorgestellt. Das Buch enthält viele Beispiele und Erklärungen von TDD und hat dazu beigetragen, TDD als wichtige Entwicklungsmethode in der Softwareindustrie zu etablieren.
Seitdem haben viele andere Entwickler und Experten die Ideen von TDD weiterentwickelt und verfeinert, um die Vorteile von TDD zu maximieren und die Methode an verschiedene Entwicklungsumgebungen und -prozesse anzupassen.
Wie Test Driven Development ablaufen kann
Auf dem Flipchart habe ich für Dich den Ablauf von Test Driven Development (TDD) aufgezeichnet.

Abbildung 1: Ablauf TDD (Quelle: projektstart)
Der Prozess beginnt mit der Erstellung eines Tests, der die gewünschte Funktionalität definiert. Anschließend wird der Test ausgeführt, um sicherzustellen, dass er fehlschlägt, da die Funktionalität noch nicht implementiert ist. Der nächste Schritt besteht darin, den Code zu schreiben, der den Test erfolgreich macht. Sobald der Code geschrieben ist, wird der Test erneut ausgeführt, um sicherzustellen, dass er erfolgreich ist.
Vorteile von Test Driven Development (TDD)
Test Driven Development (TDD) bietet eine Reihe von Vorteilen, darunter:
- Verbesserte Codequalität: Durch die kontinuierliche Durchführung von Tests während des Entwicklungsprozesses wird sichergestellt, dass der Code funktioniert, wie er soll. Dies verbessert die Qualität des Codes, indem es Fehler frühzeitig erkennt und behebt.
- Reduzierte Kosten: Durch die frühzeitige Erkennung von Fehlern wird vermieden, dass Fehler in späteren Entwicklungsstadien teurer zu beheben sind.
- Schnellere Entwicklung: Durch die Integration des Testprozesses in den Entwicklungsprozess wird vermieden, dass Entwickler Zeit damit verschwenden, einen nicht funktionierenden Code zu schreiben. Dadurch wird die Entwicklungszeit insgesamt verkürzt.
- Besseres Verständnis der Anforderungen: Durch das Schreiben von Tests, die die Anforderungen des Kunden widerspiegeln, verbessert TDD das Verständnis der Entwickler für die Anforderungen.
- Erleichtert die Wartung: Durch die kontinuierliche Überprüfung und Validierung des Codes wird sichergestellt, dass Änderungen an der Software keine unerwünschten Auswirkungen haben. Dadurch wird die Wartung der Software erleichtert.
Insgesamt führt TDD zu einer höheren Codequalität, einer schnelleren Entwicklung und einer höheren Kundenzufriedenheit, indem es sicherstellt, dass die Software genau das tut, was sie soll, und dass Fehler frühzeitig erkannt und behoben werden.
Willst Du mehr wissen?
Willst Du Dich als CPRE zertifizieren lassen?
Vorbereitung zur CPRE-Prüfung als Blended Learning Online Kurs
Wenn Du mehr darüber wissen willst, wie Du gute Anforderungen formulieren, oder wie Du Dich optimal auf die Zertifizierungsprüfung als CPRE vorbereiten kannst, buche meinen online Kurs. Informiere Dich auf meiner Webseite „Projektstart“ über das Angebot.

Abbildung: Verkaufsbox CPRE-FL
Zusammenfassung
In diesem Newsletter habe ich Dir gezeigt, wie Test Driven Development Dir in Deinem Projekt helfen kann, die Effizienz im SW-Entwicklungsprozess zu erhöhen.
Im nächsten Newsletter zeige ich Dir, wie Du testgetriebene Entwicklung auf verschiedenen Teststufen in Deinem Projekt nutzen kannst.
Warum bekomme ich diesen Newsletter?
Wir hatten in der Vergangenheit Kontakt und Du hattest Interesse an weiteren Informationen über Projektstart. Falls Du keine weiteren Informationen wünschst, kannst Du Dich gerne vom Newsletter abmelden, aber das wäre sehr schade.
Viele erfolgreiche Projekte wünscht
Projektstart
Gerhard Wirnsberger
schreibe mir eine E-Mail:
Hinterlasse einen Kommentar