From 2f1213c51e0d7f553fac40638453b56863966360 Mon Sep 17 00:00:00 2001 From: Saba Fazlali Date: Sun, 17 Dec 2023 23:31:51 +0100 Subject: [PATCH] 7. Vorlesung --- Lerntagebuch.md | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 2ad2229..2672d48 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -213,3 +213,53 @@ Kontrolle ist ein wichtiger Schritt in unserem Projektmanagement und bedeutet da ### Wiederholung Scrum ist ein agiles Projektmanagement, das die Zusammenarbeit in selbstorganisierten Teams fördert. Es unterteilt Projekte in iterative Sprints mit regelmäßigen Treffen wie der Sprint-Planung, dem täglichen Meeting für kurze Updates und dem Sprint-Review am Ende. + +--- + +## 7. Vorlesung (12.12.2023) + +### Lernziel + +- warum brauchen wir Testen? + - Menschen machen Fehler + - Fehler im Code --> unerwünschtem Verhalten von Software: teuer +- Qualitätssicherung (QS): Vermeidung von Qualitätsmängeln in einem Programm +- Testumgebung: wo die Qualität der Anwendung/des Programms analysiert wird +- Test: Ein **methodischer** Versuch zur Überprüfung, ob die Leistung eines Programms den Erwartungen entspricht. +- Software: Code, fertiges Programm +- Fehlerauftreten: + - Akuter: Bei normaler Programmausführung. Direkter Verstoß gegen die Anforderungen + - Latenter: Wenn Daten nicht wie erwartet sind. Besteht alle Arten von Tests. Durch Anwender aufgedeckt + - maskierter Fehler: Wird von anderem Fehler verdeckt. Kein Einfluss auf Funktionalität des Produkts + - kaskadierter Fehler: Fehler an anderer Stelle verursacht Folgefehler. Kein Fehler im eigentlichen Sinne. +- Arten von Defekten: + - lexigraphisch + - syntaktisch + - semanticsh + - logisch + - Design + - Arbeitsablaufs - Design +- Arten von Tests: + - manuell + - automatisiert + - statische Codeanalyse + - dynamische Tests +- Testziele + - Fehler aufzeigen + - Qualität erfassen + - Vertrauen erhöhen + - Grenzen ermitteln + +### Erkenntnis + +Wir untersuchen ein Programm, indem wir es mit Fällen testen, wobei wir deren Kritikalität berücksichtigen, um die Zuverlässigkeit und Leistung der Software zu erreichen. +Normalerweise sind wir blind für unsere eigenen Fehler, daher wäre es besser, wenn wir andere Teamkollegen bitten, unseren Code zu überprüfen. + +### Wiederholung + +[Quelle: headspin.io](https://www.headspin.io/blog/the-testing-pyramid-simplified-for-one-and-all) + + +Frühzeitig erkannte Fehler sind kostengünstiger und einfacher zu beheben als solche, die spät entdeckt werden. Die Testpyramide ist ein Leitfaden, um Fehler frühzeitig auf verschiedenen Ebenen zu identifizieren, wobei Unit-Tests besonders präzise Fehlerursachen aufdecken können. Je weiter unten im Entwicklungsprozess ein Fehler erkannt wird, desto schneller und genauer kann ich den Ort des Fehlers bestimmen. Durch Fokus auf Unit-Tests und zusätzliche Integration von Integrations- und UI-Tests können Teams die Softwarequalität verbessern und die Kosten für Fehler minimieren. + +___