diff --git a/Lerntagebuch.md b/Lerntagebuch.md index b80ac5b..e52489e 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -223,8 +223,32 @@ - Man sollte gegen die Schnittstelle programmieren und message chaining vermeiden. - Es sollte auch ein Unittest geschrieben werden, der den Code gut dokumentiert und Fehler aufzeigt, die vom gewünschten Verhalten abweicht. +# Woche 9 +(21.12.2022) +## Lernziele + +- Test Driven development + - Motivation + - Grundlagen + +## Wiederholung + +- Die Vorerrschende Testart sind Unittests. +- Ein guter UnitTest wird wie folgt gut geschrieben: + - Fast, Independent, Repeatable, Selfevaluating, Timely, Readable, Trustworthy, Fast, Maintainable +- Ein Test muss vertrauenswürdig sein, bedeutet es soll auf technischer Ebene der tatsächliche Produktivcode ausgeführt werden und der Test soll aus dem richtigen Grund fehlschlagen. +- Unittests werden zeitnah zum getesteten Code geschrieben +- Test Driven Development ist die geeignetste Vorgehensweise zur Erstellung von Unittests, welche die am häufigsten zur erstellenden automatisierten Tests sind. +- Test Driven Development führt nicht zu einer 100%igen Testabdeckung, aber zur einer 100%igen Anforderungabdeckung. +- Sie werden oft als Key Performance Indicator verwendet. + +## Erkenntnis + +- Man sollte einen neuen Test schreiben, welcher gerademal so viel ist, sodass dieser fehlschlägt, wobei hierbei nicht compilieren auch als Fehlschlag zählt. +- Danach sollte man einen Produktivcode, der gerademalso ausreicht um den Test zu erfüllen. +- Zuletzt sollte der Produktionscode und Test weiterverbessert werden, ohne einen Test fehlzuschlagen oder neue Funktionalitäten hinzuzufügen.