diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 3fcd1ab..04ad676 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -172,3 +172,28 @@ Für das Gruppenprojekt ist es entscheidend, automatisierte Tests zu nutzen, um * Die Testpyramide illustriert, welche Tests automatisiert werden sollten, basierend auf Kriterien wie häufige Wiederholung, hohe Anzahl, Kritikalität und Stabilität. Unterschiede zwischen Application/Module-Tests und UnitTests betreffen den Zeitpunkt der Ausführung, die Komplexität der Testwerkzeuge und die Prüfung der Geschäftslogik bzw. Verdrahtung. +--- +## SU 09 (12.01.2024) + +### Lernziel +* Wichtige Inhalte der Vorlesung verstehen und auf Test Driven Development (TDD) anwenden. + +### Erkenntnisse +* Unittests sind entscheidend für die Qualität von Software. +* Test Driven Development (TDD) ist eine effektive Methode zur Erstellung automatisierter Tests. +* TDD fördert schnelle und zuverlässige Entwicklung durch zeitnahe Testdefinition. + +### Wiederholung + +* Motivation: **Qualitätskostenoptimierung durch Automatisierung, Fokus auf Unittests.** +* Wie schreibt man einen guten UnitTest? +**Fast, Independent, Repeatable, Selfevaluating, Timely, Readable, Trustworthy.** +* Vertrauenswürdigkeit: +**Technische Überprüfung der Ausführung des Produktivcodes, korrektes Fehlerverhalten.** +* Timely: +**Tests entstehen zeitnah zum Code, entweder nach oder vor dem zu testenden Code.** +* Motivation Fazit: +**Unittests und TDD sind wesentliche Elemente, TDD ist die geeignetste Vorgehensweise.** +* Grundlagen: +**Testabdeckung als KPI, TDD führt zu hoher Testabdeckung (realistisch 70% bis 90%).** +**Formalisierung des Entwicklungsprozesses, inkrementelle Entwicklung, TDD Micro Cycle.**