diff --git a/Lerntagebuch.md b/Lerntagebuch.md index c0b6a77..dd1dc49 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -157,3 +157,25 @@ Wichtig ist unter anderem, dass man sich bei den Unittests etwas von den darübe ### Wiederholung Wichtig für Unittests ist, der FIRST RTFM Regel entsprechend, dass sie vollständig unabhängig sind. Das sorgt zum einen dafür, dass die Tests einzeln oder in beliebiger Reihenfolge laufen können und zum anderen auch, dass sie beliebig wiederholbar sind. Bei der Wiederholbarkeit ist es außerdem wichtig, dass die Tests ebenso wenig von der Testumgebung oder zufälligen Größen anhängig sind. + + +## Vorlesung vom 2024.01.09 + +### Lernziel + +- Wiederholung +- Vertrauenswürdigkeit bei Tests +- Zeitnah + - Code first + - Test first + - Test Driven Development +- Testabdeckung +- TDD Ablauf + +### Erkenntnis + +Von großer Bedeutung für das Gruppenprojekt ist der sich stets wiederholende Ablauf beim Test Driven Development. Dabei zerlegt man die Anforderungen in möglichst kleine Teil-Anforderungen, schreibt zu diesen einen Test und versucht diesen Test erstmal irgendwie zu erfüllen, ohne dass vorher erstellte Tests nicht mehr funktionieren. Wenn dies geschafft ist, kommt das Refactoring, wobei man keine neuen Funktionen hinzufügt, sondern nur aus dem "Quick and dirty"-Code einen sauberen Code macht. + +### Wiederholung + +Wenn man nach dem Code first Prinzip arbeitet, hat das einige Nachteile. Dadurch, dass man zuerst ganz viel Code mit vielen verschiedenen Funktionen schreibt, ohne nur einen Test geschrieben zu haben, ist zum Einen im Zweifel einiges an Zeit vergangen, in der man teilweise vergessen hat, was genau der Code erfüllen soll und andererseits ist es schwierig, wenn jemand anders die Tests erstellen soll, da diese Person das ebenfalls nicht weiß. Ein weiteres Problem ist, dass im Zweifel das Produkt funktionsfähig ist, der Kunde es also noch viel lieber sofort nutzen möchte, auch wenn er "nur" wegen Tests darauf warten muss.