Technische Artikel

Test Driven Development einfach erklärt

Test Driven Development

Beim Test Driven Development schreibst du die Tests vor der Implementierung des eigentlichen Codes. Deine Tests prüfen, ob das zu implementierende Verhalten korrekt ist. Erst dann implementierst du den Code, um die Tests zu bestehen. 

Test Driven Development, oder auch TDD, folgt einem einfachen Zyklus:

  • Schreibe einen Test
  • Führe den Test aus und schaue, ob er fehlschlägt
  • Implementiere den Code, um den Test zu bestehen
  • Führe den Test erneut aus, um sicherzustellen, dass er jetzt erfolgreich ist
  • Refaktorisiere den Code und füge gegebenenfalls weitere Tests hinzu

Diesen Zyklus führst du so lange fort, bis das gewünschte Verhalten implementiert ist.

Warum ist TDD wichtig?

Deine Vorteile bei der Nutzung von TDD sind:

Sicherheit: Du stellst sicher, dass das Verhalten korrekt ist und der Code zuverlässig funktioniert.

Dokumentation: Deine Tests dienen als Dokumentation für den Code. Sie beschreiben, was der Code tun soll und wie er sich in verschiedenen Situationen verhalten soll.

Refaktorisierung: Durch das kontinuierliche Refaktorisieren des Codes und Hinzufügen von Tests, kannst du den Code leichter warten und weiterentwickeln.

Geschwindigkeit: Du kannst schneller entwickeln, da du deine Testabdeckung vorab schon erfüllt hast. Dadurch kannst du dich auf das zu implementierende Verhalten konzentrieren. Die Gedanken, wie du deinen Code am Ende testest, sind nicht mehr notwendig.

Wie funktioniert TDD?

Um TDD durchzuführen, benötigst du ein Testframework. Ein Testframework bietet Methoden und Funktionen, um Tests zu schreiben, auszuführen und zu überprüfen. In diesem Beispiel verwenden wir das JavaScript Testframework Jest.

Anhand des oben genannten TDD-Zyklus kannst du folgendermaßen vorgehen:

Annahme über deine Funktion

Du möchtest eine Funktion schreiben, die die Summe von zwei Zahlen berechnet.

Schritt 1: Schreibe einen Test

Zuerst schreibst du einen Test um zu prüfen, ob die Funktion die Summe von zwei Zahlen korrekt berechnet. In diesem Test soll die Summe von 1 und 2 das Ergebnis 3 liefern:

Schritt 2: Führe den Test aus und schaue, ob er fehlschlägt

Du führst den Test aus. Da du die   sum  -Funktion noch nicht implementiert hast, erwartest du, dass der Test fehlschlägt.

screenshot of console with failed test

Schritt 3: Implementiere den Code, um den Test zu bestehen

Als nächstes implementierst du die   sum  -Funktion, um den Test zu bestehen.

Schritt 4: Führe den Test erneut aus, um sicherzustellen, dass er jetzt erfolgreich ist

Du führst den Test erneut aus. Da du die   sum  -Funktion implementiert hast, erwartest du, dass der Test erfolgreich ist.

screenshot of console with successful test

Schritt 5: Refaktorisiere den Code und füge gegebenenfalls weitere Tests hinzu

Schließlich kannst du den Code refaktorisieren. Um sicherzustellen, dass die Funktion in allen Fällen korrekt läuft, kannst du weitere Tests hinzufügen.

Fazit

Test Driven Development, kurz TDD, ist eine wertvolle Entwicklungspraxis. Sie kann dich dabei unterstützen, dass dein Code zuverlässig und korrekt funktioniert.

Durch das Testen vorab, beschleunigst du deinen Entwicklungsprozess. Zudem lässt sich dein Code leichter warten und weiterentwickeln.

Je nach Programmiersprache kannst du unterschiedliche Testframeworks anwenden. Diese helfen dir effektiv Test zu schreiben. Schaue dir als Beispiel für ein JavaScript Testframework gerne Jest an.

Quelle Hintergrund des Titelbilds: kostenlose Hintergrundfotos von .pngtree.com

Was dir auch gefallen könnte...

WordPress Cookie Hinweis von Real Cookie Banner