From a1da74efd848c620797b6b8fbd8b6d66314fe44e Mon Sep 17 00:00:00 2001 From: fdai7777 Date: Thu, 21 Dec 2023 12:21:14 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index c6f1da2..684081e 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -245,3 +245,19 @@ Diese Vorlesung beleuchtete die Wichtigkeit von Softwaretests. Es wurde betont, ### Wiederholung: Kernthemen waren die verschiedenen Arten von Tests (manuell, automatisiert, statisch, dynamisch) und deren Bestandteile, Ziele und Ebenen. Die Testpyramide wurde als ein Werkzeug zur Visualisierung des Testaufbaus vorgestellt. Außerdem wurde die Bedeutung von Qualitätskosten im Rahmen der Testmethodologie hervorgehoben. Der Testprozess wurde in Phasen wie Planung, Analyse, Design, Ausführung und Nachbereitung unterteilt. Psychologische Aspekte wie Betriebsblindheit und die menschliche Neigung, Fehler nicht zuzugeben, wurden ebenfalls diskutiert, ebenso wie Lösungen wie gegenseitiges Testen und formalisierte Fehlerberichte. + +## Vorlesung vom 19.12.2023 + +### Lernziele: +- Verstehen, warum automatisiertes Testen notwendig ist, einschließlich der Herausforderungen manuellen Testens. +- Kenntnisse über Qualitätskosten und die Gründe gegen automatisierte Tests. +- Erkennen, welche Tests automatisiert werden sollten und die Unterschiede zwischen verschiedenen Testarten. +- Verständnis der Merkmale und Anforderungen eines guten UnitTests. +- Wissen über die Testbarkeit von produktivem Code und wie diese verbessert werden kann. +- Einsicht in verschiedene Arten von Test-Doubles und deren Einsatzmöglichkeiten. + +### Erkenntnis: +Die Vorlesung betonte die Bedeutung des automatisierten Testens in der Softwareentwicklung. Herausforderungen und Einschränkungen des manuellen Testens wurden hervorgehoben, um die Notwendigkeit von Automatisierung zu unterstreichen. Besonderes Augenmerk wurde auf die Eigenschaften von UnitTests gelegt, die eine schnelle, unabhängige, wiederholbare, selbstüberprüfende und zeitnahe Überprüfung des Codes ermöglichen. Diese Aspekte sind im Gruppenprojekt essentiell, um die Qualität und Zuverlässigkeit der Software zu gewährleisten. + +### Wiederholung: +Diskutiert wurden die Kriterien für die Automatisierung von Tests, die Unterscheidung zwischen UnitTests und Application/Module-Tests sowie die Eigenschaften, die einen guten UnitTest ausmachen (schnell, unabhängig, wiederholbar, selbstüberprüfend, zeitnah). Außerdem wurde die Rolle von Test-Doubles (Stub, Fake, Mock) und deren Bedeutung für die Isolation und Testbarkeit des Codes beleuchtet. Die Vorlesung zeigte auch, wie Clean Code-Prinzipien zur Verbesserung der Testbarkeit beitragen.