@ -102,5 +102,20 @@ Da oft zu wiederholendes Testen zu nachlassender Aufmerksamkeit und somit Fehler
### Wiederholung
### Wiederholung
Unit Tests: Unit Tests sind früh im Entwicklungsprozess eingebundene Tests, die Funktionen des Codes auf Korrektheit prüfen, indem erwartete Ergebnisse mit tatsächlich erhaltenen Ergebnissen verglichen werden. Sie können somit oft schon einen bestimmten Rahmen geben, in welchem sich der fehlerhafter Code befindet, da Unit Tests jeweils nur genau einen Wert prüfen. Gute Unit Tests werden unter bestimmten Gesichtspunkten wie Schnelligkeit, Unabhängigkeit, Wiederholbarkeit oder Lesbarkeit entwickelt.
Unit Tests: Unit Tests sind früh im Entwicklungsprozess eingebundene Tests, die Funktionen des Codes auf Korrektheit prüfen, indem erwartete Ergebnisse mit tatsächlich erhaltenen Ergebnissen verglichen werden. Sie können somit oft schon einen bestimmten Rahmen geben, in welchem sich der fehlerhafter Code befindet, da Unit Tests jeweils nur genau einen Wert prüfen. Gute Unit Tests werden unter bestimmten Gesichtspunkten wie Schnelligkeit, Unabhängigkeit, Wiederholbarkeit oder Lesbarkeit entwickelt.
---
### Übung 8/21.12.2022
### Lernziel
-Test Driven Development
-gute Unittests
-TTD micro cycle
### Erkenntnis
Beim zeitnahem Erstellen von Tests zu Code gibt es verschiedene Vorgehensweisen, wie das Prinzip "Code first", bei dem zuerst der Code und dann die dazugehörigen Tests erstellt werden. Im Gegensatz dazu gibt es das Prinzip "Test first", wobei zuerst die Tests und dann der dazugehörige Code geschrieben wird. Beim "Test Driven Development" werden Tests und der jeweilige Code gleichzeitig erstellt, was zu hoher Testabdeckung und Anforderungsabdeckung führt und somit die am besten geeignete Vorgehensweise ist.
### Wiederholung
Test Driven Development micro cycle: Anforderungen führen zu einem neuen Test, der so minimal gehalten wird, dass er gerade fehl schlägt. Daraufhin wird genau so viel Code geschrieben, dass der neue Test erfüllt wird(Transformation). Daraufhin folgt Refactoring, also Verbesserung des Codes und des Tests/der Tests, ohne dabei neue Funktionen einzubinden.