# Mein Lerntagebuch für Programmiermethoden und -werkzeuge
## SU 01 (19.12.2023)
## SU 01 (09.01.2024)
### Lernziel
Der Inhal ist :
- Relevante Literatur
- Motivation
- Grundlagen
- UnitTests
- Anforderungen an zu testenden Code
Und dann hat Herr Pappendieck diese 4 Punkte in der vorlesung beschprochen.
Und dann hat Herr Pappendieck diese 3 Punkte in der vorlesung beschprochen.
### Erkenntnis
Bei Punkt 3 (UnitTests) hat Herr Pappendieck mit uns beschprochen , Was ein Unittest macht.
Bei Punkt 3 (Grundlagen) hat Herr Pappendieck mit uns über Testabdeckung beschprochen.
Davon habe ich gelernt dass, Unittests ausführbare Dokumentation sind.Und Unittest verifizieren von außen beobachtbares gewünschtes
Verhalten von Code.
Davon habe ich gelernt dass, oft als KPI (key performance indicator) missbraucht,wichtig für die Beurteilung der Vertrauenswürdigkeit des Testhareness und TDD führt zu hoher Testabdeckung, aber nicht zu 100%
(realistisch 70% bis 90%).
### Wiederholung
Punkt 2 (Grundlagen):
Unterschied Application/Module–Tests zu UnitTests:
Applications und Module Test:
- werden spät im Entwicklungsprozess ausgeführt
- Testwerkzeuge sind komplex
- sind aufwendig zu warten
- zeigen, das ein Fehler existiert, aber nicht wo
Punkt 2 (Motivation):
UnitTest:
Wie schreibt man einen guten UnitTest?
- laufen früh im Entwicklungsprozess (idealer Weise nach jedem Speichern)
- Werkzeuge haben einfache API
- sind stabil gegen Änderungen (anderer Units)
- zeigen welche Anforderung nicht erfüllt wird, wo der Fehler existiert und unter welchen