Was sind die Anwendungen von TDD?

Sie lernen, wie Sie TDD zu Ihrem Vorteil nutzen können, damit Sie es bei Ihren Arbeitsprojekten einsetzen können.

16 may 2023

Was sind die Anwendungen von TDD?
Was sind die Anwendungen von TDD?
Was sind die Anwendungen von TDD?

Wenn Sie gerade erst anfangen, in die Welt der Softwareentwicklung einzutauchen, werden Sie wahrscheinlich von vielen Begriffen und Akronymen umgeben sein, die Sie zunächst nicht erkennen werden. Eines davon ist TDD, und wahrscheinlich schauen Sie sich gerade um, weil Sie nicht wissen, worum es sich dabei handelt.

So wie dieser Begriff gibt es noch viele andere, die durch Akronyme dargestellt werden und deren Bedeutung Sie sich einprägen müssen.

Damit Sie jedoch besser in die Welt der Technik eintauchen können, ist es wichtig, sich nach und nach vorzuarbeiten.

Deshalb werden wir uns heute darauf beschränken, zu erklären, was TDD ist, wie es funktioniert, was Sie damit anfangen können und wie Sie das Beste daraus machen können.

Was ist TDD?

Wenn Sie mit der Programmierung von Software beginnen, gibt es eine Reihe von verschiedenen Methoden, die Sie anwenden und auf die Sie Ihre Arbeit konzentrieren können.

Da es sich dabei um verschiedene Optionen handelt, sollten Sie natürlich bedenken, dass jede von ihnen auf unterschiedliche Weise funktioniert.

Damit Sie wissen, welche Methode die am häufigsten verwendete ist, werden wir über TDD sprechen.

Das Akronym stammt von der vollständigen Bezeichnung Test Driven Development und ist ein testgetriebenes Entwicklungsmodell, das anders als üblich funktioniert.

Früher war es üblich, zuerst den Quellcode zu schreiben und dann den Code selbst zu testen.

Im Gegensatz dazu geht es bei dieser anderen Art von Methodik darum, zuerst die Tests zu erstellen und dann anhand der Tests zu beweisen, wie der Code funktioniert.

Auf diese Weise lässt sich ein höheres Maß an Optimierung im gesamten Prozess erreichen, um sicherzustellen, dass der zu erstellende Code genau dem entspricht, was wir suchen oder was der Kunde wünscht.

Daher hat die von der TPP vorgeschlagene zyklische Struktur die traditionelle Sichtweise der Softwareentwicklung völlig verändert.

Wie funktioniert TDD?

Um zu lernen, wie Sie TPP zu Ihrem Vorteil nutzen können, ist es wichtig zu verstehen, wie es funktioniert, um es in Ihren Arbeitsprojekten anwenden zu können.

Wie wir bereits erläutert haben, führt diese Arbeitsstrategie dazu, dass der von Ihnen zu erstellende Code so oft wie nötig zyklisch eine Reihe von Tests durchläuft, bis das gewünschte Ergebnis erzielt und die Möglichkeit von Fehlern auf ein Minimum reduziert ist.

Außerdem ist dies eine Strategie, die es Ihnen ermöglicht, die Software nach und nach zu erweitern oder Änderungen einzubauen, die dem Kunden mitten im Prozess einfallen, ohne dass dies für Sie als Entwickler eine Katastrophe bedeutet.

Um Ihnen ein besseres Verständnis für die Funktionsweise von TDD zu vermitteln, werden wir im Folgenden die Phasen erläutern, die der Code durchlaufen muss:

1. Rote Phase

Die erste Phase wird als rote Phase bezeichnet und ist die Phase, in der Sie mit der Erstellung der Tests beginnen, durch die Sie den betreffenden Code führen müssen.

Zweifelsohne unterscheidet sich diese Methodik von anderen Softwareentwicklung Systemen, da Programmierer in der Regel als Erstes den Code erstellen.

Stattdessen müssen Sie in diesem ersten Moment darüber nachdenken, was der Kunde möchte, und entscheiden, welche Art von Tests Sie durchführen müssen, um die Ziele zu erreichen, die Sie vor Augen haben.

2. Grüne Phase

Danach ist es an der Zeit, zur grünen Phase überzugehen, in der Sie mit der Erstellung Ihres Codes beginnen, um ihn durch die bereits erstellten Tests laufen zu lassen.

Zu diesem Zeitpunkt können Sie feststellen, welche Fehler der Code entsprechend den von Ihnen definierten Tests auslösen wird.

Der Zweck dieser Phase besteht darin, den Code so oft wie nötig zu testen, bis er perfekt funktioniert und den Anforderungen entspricht.

Es gibt jedoch auch diejenigen, die den Code lieber nach und nach testen. Das heißt, sie arbeiten ihn in Teilen aus, um zu überprüfen, ob jeder einzelne Teil gut funktioniert.

Das ist etwas, das Sie auch anwenden können, wenn Sie mit dem TPP als Ihrem bevorzugten Softwareentwicklungsmodell arbeiten.

3. Refactoring

In dieser letzten Phase geht es nur noch darum, dem Code den letzten Schliff zu geben, um die letzte Ausgabe des Codes zu erhalten, die als Ergebnis ausgeliefert wird.

Mit anderen Worten, um den gesamten Entwicklungsprozess abzuschließen, müssen Sie den Code, den Sie bisher getestet haben, bereinigen.

An diesem Punkt können Sie ihm den letzten Schliff geben, den Sie für angemessen halten, um eventuelle kleinere Fehler zu korrigieren und gleichzeitig Duplikate zu löschen, damit Sie eine einzige Version des Codes erhalten und Ihre Arbeit professioneller aussieht.

Wie kann TDD angewendet werden, um das Beste daraus zu machen?

Wir sind uns bewusst, dass Menschen, die noch nicht mit TDD als agile Entwicklungsmethode gearbeitet haben, vielleicht Zweifel daran haben, wie es funktioniert.

Es stimmt, dass diese Art von Modell auf eine ganz andere Art und Weise präsentiert wird als die übliche Art und Weise der Programmierung und Kodierung.

Selbst wenn Sie bereits Programmierer sind und Software mit anderen Methoden entwickelt haben, kann es Ihnen daher schwerfallen, die Funktionsweise von TDD zu verstehen.

Wenn Sie das Beste aus dieser Arbeitsweise herausholen wollen, sollten Sie daher einige Tipps beachten, damit Sie sich leichter an die Arbeitsweise gewöhnen können:  

  • Wenn ein Test fehlschlägt, muss das nicht zwangsläufig etwas Negatives sein, sondern kann sich positiv auf die Entwicklung des Projekts auswirken, wenn es sich um den Test handelt, mit dem Sie arbeiten.

  • Es ist wichtig, dass Sie während der roten Phase nur am Testcode arbeiten.

  • In der grünen Phase sollten Sie sich auf den Produktionscode konzentrieren, damit der Test erfolgreich ist.

*Falls der Test fehlschlägt, sollten Sie bedenken, dass die Implementierung mehr Arbeit von Ihrer Seite erfordert und Sie eventuell zurückgehen müssen.

  • In der letzten Phase sollten Sie sich auf das Refactoring des Produktionscodes konzentrieren.

  • Wenn Sie auch in der letzten Phase noch Fehler haben, ist es wahrscheinlich, dass Sie die Funktionalität des Codes gebrochen haben.

Was sind die häufigsten Fehler bei der Umsetzung von TDD?

Wenn Sie sich auf die Suche nach Meinungen über TDD machen, werden Sie leider eine Reihe negativer Kommentare und Experten finden, die die Anwendung von TDD überhaupt nicht empfehlen.

Das liegt daran, dass es viele Programmierer gibt, die versucht haben, TDD einzusetzen und keine guten Ergebnisse erzielen konnten.

Wenn sie mit Fehlern und Misserfolgen konfrontiert werden, ziehen sie es vor, die ganze Schuld auf das Programm selbst zu schieben, obwohl es wahrscheinlich ist, dass sie selbst diejenigen sind, die versagt haben.

Damit Sie wissen, was schiefgehen kann, sollten Sie sich überlegen, was die häufigsten Fehler bei der Anwendung von TDD sind:

  • Versäumnis, sich mit der notwendigen Dokumentation und Recherche auf die Anwendung vorzubereiten.

  • Das Schreiben von mehr als einem Test auf einmal.

  • Nicht immer dem „Test First“-Ansatz folgen.

  • Tests werden nicht häufig genug durchgeführt.

  • Nicht ständig Refactoring betreiben.

  • Das Schreiben von Tests ohne Behauptungen.

  • Schreiben von Tests, die langsam sind, obwohl sie schneller sein sollten.

  • Verwendung von Unit-Tests für Integrationstests.

  • Schreiben von Tests für trivialen Code.

Vor- und Nachteile von TDD

Wie Sie vielleicht wissen, hat alles im Leben seine positiven und negativen Seiten, so auch Programmierwerkzeuge und alle technologischen Programme.

In diesem Fall ist es notwendig, die Vor- und Nachteile von TDD zu kennen, damit Sie eine klarere Vorstellung davon haben, was seine Verwendung mit sich bringen kann.

Außerdem können Sie auf diese Weise auch seine Schwächen kennen, bevor Sie mit ihm arbeiten, was zweifellos ein grundlegender Aspekt ist.

Damit Sie alles wissen, was Sie über TDD wissen müssen, werden wir die positiven und negativen Punkte auflisten:

Vorteile

  • Sie können sicher sein, qualitativ hochwertigen Code zu liefern.

  • Der interne Entwurf wird vereinfacht.

  • Sie können direkter an den Bedürfnissen Ihrer Kunden arbeiten.

  • Die Produktivität wird erheblich gesteigert.

  • Die Fehlerkorrektur kann in Teilen durchgeführt werden.

  • Sie reduzieren die Zeit, die Sie mit der Korrektur von Fehlern verbringen könnten.

  • Unnötige Komplexität des Endprodukts wird reduziert.

  • Sie fördern die agile Entwicklungsmethodik in hohem Maße.

Nachteile

  • Funktioniert nur für die Angemessenheit des Codes und nicht für die Messung der Funktionalität der Software.

  • Sie müssen Vorkenntnisse im Programmieren haben, um damit arbeiten zu können.

  • Selbst wenn Sie über Vorkenntnisse in der Programmierung verfügen, können Sie Schwierigkeiten haben zu verstehen, wie man mit TDD arbeitet.

  • Der Gesamtüberblick über das Projekt kann durch die Art der Strukturierung verloren gehen.

Warum ist TDD für viele schwierig anzuwenden?

Wie bereits erwähnt, kann die Arbeit mit TDD komplizierter sein, als es den Anschein hat, und das ist etwas, das viele Menschen davon abhält, es anzuwenden.

Das bedeutet nicht, dass wir uns der Vorteile seiner Anwendung oder der endgültigen Qualität des Codes nicht bewusst sind. Vielmehr sollten wir uns über die Schwierigkeitskurve im Klaren sein, bevor wir mit der Arbeit beginnen, um eine realistischere Sicht auf die ganze Sache zu haben.

Anstatt die Schwierigkeiten als negative Punkte hervorzuheben und als unmöglich zu verstehen, werden wir erklären, warum es kompliziert sein kann:

  • Die Lernkurve ist hoch: Sie müssen sich mit dem Code-Design auseinandersetzen, um einen sauberen Code zu erstellen, und lernen, wie man refaktorisiert.

  • Sie müssen sich von Anfang an Gedanken darüber machen, was Sie wollen: Sonst werden Sie nicht in der Lage sein, den Code zu erhalten und ihn richtig zu schützen.

  • Der Code wird verteidigt: Denken Sie daran, dass der Code, der im Test nicht gefunden wird, Sie erwischen kann und Sie ihn umstrukturieren müssen, um ihn durch die entsprechenden Tests zu bringen.

Abschließend... Ist es eine gute Idee, mit TDD zu arbeiten?

Nun, das ist zweifellos die Millionen-Dollar-Frage und ihre Beantwortung ist nicht weniger kompliziert als das ganze Thema im Allgemeinen.

Die Entscheidung, ob es eine gute Idee ist, mit TDD zu arbeiten oder nicht, ist eine sehr persönliche Angelegenheit und hängt von vielen Faktoren ab.

Wenn Sie zum Beispiel bereit sind, neue Dinge zu lernen und an Arbeitsmethoden interessiert sind, die es Ihnen ermöglichen, qualitativ hochwertigeren Code zu liefern, dann kann TDD für Sie von Vorteil sein.

Wenn Sie jedoch jemand sind, der nur auf eine Art und Weise arbeiten möchte, keine Zeit hat, neue Arbeitsmodelle kennenzulernen, und gerne nach einer allgemeinen Prioritätsordnung arbeitet, dann profitieren Sie vielleicht nicht so sehr von TDD.

Letztlich hängt dies davon ab, wie lernwillig Sie sind und wie sehr dieses System an Ihre Arbeitsweise angepasst werden kann oder nicht.

Wenn Sie alle diese Informationen haben, können Sie zweifellos genauer analysieren, ob es sich um ein funktionierendes Modell handelt, das Sie anwenden können oder nicht.

Daher empfehlen wir Ihnen, das TPP in einem kleinen Projekt auszuprobieren, damit Sie sich mit seiner Funktionsweise vertraut machen und entscheiden können, ob Sie es wieder einsetzen würden.

Fanden Sie diese Informationen nützlich? Werden Sie die TPP ausprobieren oder haben Sie noch Zweifel an diesem Thema? 

Lassen Sie uns in den Kommentaren wissen, was Sie darüber denken.