modul:m450:learningunits:lu11:grundlagen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
modul:m450:learningunits:lu11:grundlagen [2024/11/15 11:47] msutermodul:m450:learningunits:lu11:grundlagen [2024/11/15 14:56] (aktuell) msuter
Zeile 4: Zeile 4:
 ===== Was ist TDD? ===== ===== Was ist TDD? =====
 Test Driven Development (TDD) ist ein Entwicklungsvorgehen, dass aus der agilen Entwicklung und dem Extreme programming hervorgegangen ist. Test Driven Development (TDD) ist ein Entwicklungsvorgehen, dass aus der agilen Entwicklung und dem Extreme programming hervorgegangen ist.
 +TDD ist eine agile Softwareentwicklungsmethode, bei der Tests vor der eigentlichen Implementierung des Codes geschrieben werden. Das Ziel ist, die Entwicklung zu strukturieren, Fehler frühzeitig zu erkennen und eine hohe Codequalität zu gewährleisten.
 +
 +
 Dabei werden in einem iterativen Prozess ... Dabei werden in einem iterativen Prozess ...
   * ... Unit Tests erstellt   * ... Unit Tests erstellt
Zeile 12: Zeile 15:
  
 {{https://martinfowler.com/bliki/images/test-driven-development/card.png}} {{https://martinfowler.com/bliki/images/test-driven-development/card.png}}
 +
 +===== Grundprinzipien von TDD =====
 +
 +
 +====     Red-Green-Refactor-Zyklus ====
 +
 +  *  Red: Schreibe einen Test für die neue Funktionalität. Der Test schlägt fehl (da es noch keine Implementierung gibt).
 +  * Green: Implementiere den minimalen Code, der erforderlich ist, damit der Test besteht.
 +  * Refactor: Überarbeite den Code, um ihn zu optimieren und die Qualität zu verbessern, während alle Tests weiterhin bestehen.
 +
 +====     Kleine Schritte ====
 +
 +Entwickle und teste kleine, isolierte Einheiten von Funktionalität nacheinander.
 +Reduziert die Komplexität und erleichtert das Debuggen.
 +
 +====     Test-First-Ansatz ====
 +
 +Tests werden vor der Implementierung geschrieben, um die Anforderungen zu klären und den Fokus auf das Ziel zu behalten.
 +
 +==== Automatisierte Tests ====
 +Die Tests sind automatisiert, sodass sie bei jedem Build oder Deployment wiederholt ausgeführt werden können.
 +
 +===== Planung =====
  
 Natürlich musst du sowohl für das Erstellen der Tests als auch für das Programmieren der Funktionen/Methoden ein gutes Verständnis der Anforderungen haben. Natürlich musst du sowohl für das Erstellen der Tests als auch für das Programmieren der Funktionen/Methoden ein gutes Verständnis der Anforderungen haben.
  • modul/m450/learningunits/lu11/grundlagen.1731667669.txt.gz
  • Zuletzt geändert: 2024/11/15 11:47
  • von msuter