From 56726e4f161350e1a2dc4143d6cf37bf7ddd5da4 Mon Sep 17 00:00:00 2001 From: fdai7600 Date: Wed, 20 Dec 2023 10:17:15 +0000 Subject: [PATCH] Vorlesung vom 19.12.2023 --- Lerntagebuch.md | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 5f88d93..ab14b80 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -35,18 +35,22 @@ NA ### Wiederholung NA -## Vorlesung vom 12.12.2023 +## Vorlesung vom 19.12.2023 ### Lernziel -* Verständnis der Bedeutung und Notwendigkeit des Testens in der Softwareentwicklung. -* Erlernen der Grundbegriffe und Konzepte im Bereich des Softwaretestens. -* Kennenlernen verschiedener Testmethodologien und deren Anwendungen. -* Verstehen des Testprozesses und der Rolle psychologischer Aspekte im Testen. -### Erkenntnis -Das Testen von Software ist ein kritischer Schritt zur Sicherstellung der Qualität und Zuverlässigkeit von Softwareprodukten. Durch die Identifizierung von Fehlern (Errors), Defekten (Defects) und Fehlverhalten (Failures) lassen sich potenzielle Probleme frühzeitig erkennen und beheben. Diverse Testmethoden, wie manuelle Tests, automatisierte Tests und statische Codeanalysen, bieten verschiedene Ansätze zur Fehlerfindung und Qualitätssicherung. +* Verständnis der Bedeutung und des Einsatzes von automatisierten Tests in der Softwareentwicklung. +* Kennenlernen der Probleme manuellen Testens und der Vorteile von automatisierten Tests, insbesondere UnitTests. +* Einsicht in die Grundlagen und Anforderungen an zu testenden Code. +* Erkennen der Unterschiede zwischen Application/Module-Tests und UnitTests. +* Erlernen, wie man gute UnitTests schreibt und was diese auszeichnet (z.B. FAST-Prinzipien). -### Kritik -NA +### Erkenntnis +Automatisiertes Testen, insbesondere UnitTesting, ist entscheidend für die effiziente und effektive Entwicklung von Software. Es adressiert die Probleme manuellen Testens, wie mangelnde Wiederholbarkeit und nachlassende Aufmerksamkeit, und bietet Vorteile wie schnellere Ausführung und Unabhängigkeit von Tester:Innen. Gute UnitTests folgen bestimmten Prinzipien (FAST: Fast, Independent, Repeatable, Selfverifying, Timely) und tragen wesentlich zur Vermeidung ungewollter Änderungen bei. Die Qualität des produktiven Codes beeinflusst direkt die Qualität der Tests. ### Wiederholung +**Unterschied zwischen Application/Module-Tests und UnitTests:** +* **Application/Module Tests:** Später im Entwicklungszyklus, komplexere Tools, wartungsaufwendig, zeigen nur das Vorhandensein von Fehlern. +* **Unit Tests:** Früh im Entwicklungsprozess, einfachere Tools, widerstandsfähig gegen Änderungen, präzise Fehlerlokalisierung und Fokus auf Geschäftslogik. + +### Kritik NA