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.>
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.>
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