diff --git a/Lerntagebuch.md b/Lerntagebuch.md index a3bea25..78cf1c4 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -143,4 +143,25 @@ Deshalb sollte man Codes gegenseitig Testen, um formalisierte Fehlerberichte zu ----------------------------------------- +## SU 07 (05.12.2023) + +### Lernziel +-> Motivation +-> Grundlagen +-> UnitTests +-> Anforderungen an zu testenden Code + +### Erkenntnis +Ein Unittest is eine ausführbare Dokumentation und sie Testen keinen Code. +Sie verifizieren von außen beobachtbares gewünschtes Verhalten von Code, prüfen genau eine Erwartung an die Unit und verhindern ungewollte Änderungen. +Man schreibt einen guten UnitTest Fast, Independent, Repeatable, Selfevaluating, Timely, Readable, Trustworthy, Fast und Maintainable (Erklärung in Folien). + +### Wiederholung +Der Unterschied bei Application/Module-Tests und Unit Tests ist das die Application/module-Tests spät im Entwicklungsprozess aufgeführt werden und die Testwerkzeuge komplex sind. Sie sind außerdem aufwendig zu warten und zeigen das ein Fehler existiert, aber nicht wo. +Der UnitTest läuft früh im Entwicklungsprozess, die Werkzeuge haben einfache API, sind zudem stabil gegen Änderungen anderer Units, zeigen welche Anforderungen nicht erfüllt werden und wo der Fehler existiert, unter welchen Bedingungen er auftritt. + +### Kritik +--- + +-----------------------------------------