Programming 3

Wie frühzeitig erkennen, ob unser Code das tut was wir erwarten, und Fehler aufspüren, bevor sie zu einem echten Problem werden ?

Wir sollten test schreiben

Wie software dauerhaft stabil und zuverlässig zu halten, gleichzeitig Entwicklungszeit und Wartungszeit senken ?

Automasierte Tests können uns dabei helfen

TDD Wie gartenbau

erst neue pflanzen einpflanzen, wenn alle anderen bereits gewässert und gedüngt sind

TDD

Was ist die Idee dahinter ?

Fast Feedback und Iterationen sind zentrale Aspekte Somit können wir schneller Kursänderungen und Fehleränderungen durchführen

Agile Teams beschleunigen hierbei Iterationsschleifen Vergleiche Modul : Automasierte Softwareentwicklung

[[[[test]]]] driven development is a teechnique ...

TDD : 3 schritte

  1. Einen test für die nächste kleine funktionalität schreiben, die hinzugefügt werde nsoll
  2. Funktionalen Code schreiben, bis der test funktioniert
  3. Sowohl neuen als auch alten COde refaktorisieren, so dass es besser läuft
Anfangsschritt :
  • Erstellung einer Liste von testfällen
  • Einen dieser Tests auswählen, 3 Schritte auf ihn anwenden
  • Wenn uns neue Tests einfallen, fügen wir sie zur Liste hinzu

Self Testing Code als Sicherheitsnetz Tests die wir auf Knopfdruck ausführen können Hiermit kann die Anzahl der Bugs, die wir in die produktionssoftware einabuen verkleinert werden födert eine Kultur der kontinuierlichen verbeserung

Mit Self-testing Tests können wir als “Bug-Detektor” benutzen

Dies alles führt zu einem besseren Softwareentwurf

Grundprinzip

Ziel : neues Feature

Strategie zum Zerlegen

Unit-Testing

JUnit

Spaß