From ab9541d2f39454bdda826072e45b0edb4ac42174 Mon Sep 17 00:00:00 2001 From: fdai7764 Date: Sun, 17 Dec 2023 14:59:36 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 68 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index b2af50f..befee04 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -600,6 +600,74 @@ Aus dem Seminarischen Unterricht und dem Praxisteil kann ich das Wissen zum Proj Meilensteine sind Entscheidungspunkte nach einer Entwicklungsphase. Diese Phasen sind zum Beispiel Unit-Tests beim V-Modell. Meilensteine dienen der Einschätzung des Fortschritts hinsichtlich des Zeitplans. +### Kritik + +Keine + +--- + + +## SU 07 (05.12.2023) - Testen + +### Lernziel + +Wie treten Fehler auf? +- Programmierer tippt falsches Zeichen → "Error" +- Falsches Zeichen schlummert im Code → "Defect" +- Die Stelle im Code wird ausgeführt,w as zu Fehlverhalten führt → Failure + +Arten von Fehlern: +- Akuter Fehler → Bei normaler Benutzung der Software +- Latenter Fehler → Bei Sonderfällen oder unerwarteten Eingaben +- Maskierter Fehler → Ein anderer Fehler überdeckt diesen Fehler +- Kaskadierter Fehler → Folgefehler, der nur auftritt weil ein anderer Fehler aufgetreten ist + +Tests +- Was ist ein Test? + - Methodische Überprüfung, ob ein Gegenstand die Erwartungen erfüllt + - Im Fall von Informatik: "Macht das Programm, was es soll?" +- Verschiedene Arten von Tests + - Manuell oder Automatisiert + - Statische Codeanalyse oder Dynamische Tests +- Woraus besteht ein Test? + - Stichprobe → Welche Eingaben man testen will + - Testobjekt → Die Software, die man testen will + - Testumgebung → Das Testsystem, z.B. Rechner, Testsoftware etc. + - Testziel → Was wird eigentlich untersucht? + - Soll-Ist-Vergleich → Liefert das Programm das Ergebnis, was erwartet wird? +- Warum testet man? + - Erfassung der Qualität → Entwicklung der Tests, Verhältnis von bestandenen zu fehlgeschlagenen Tests + - Erhöht Vertrauen in die Software + - Grenzen ermitteln +- Auf welcher Ebene sollte man testen? + - Je "tiefer" die Ebene, desto genauer, schneller, aussagekräftiger und billiger ist der Test + - Alle Ebenen müssen getestet werden! +- Testplan nach IEEE829 +- Analyse des Tests + - In welcher Reihenfolge müssen Tests durchgeführt werden? + - Benötigt man produktionsnahe Datenmengen? + - Wann ist der Test bestanden? +- Testreport + - Zusammenfassung der Testausführungen + - Vergleich mit früheren Testläufen + - Entscheidung über Lieferfähigkeit + + +Praxisübung: +- Aufstellen von Testfällen zu fiktiven Szenarien +- Recherche zu größeren Softwarefehlern + + +### Erkenntnis + +Aus dem Seminarischen Unterricht und dem Praxisteil kann ich das Wissen Testen des Projekts für das Gruppenprojekt mitnehmen. + + +### Wiederholung + +Tests dienen unter Anderem der Steigerung des Vertrauens in die Software. Wenn ein bestimmter Test mit bestimmten Eingabedaten bestanden wird, kann man als Programmierer darauf vertrauen, dass dieses bestimmte Szenario auch beim Kunden funktionieren wird. Und je mehr Tests, desto mehr Szenarien existieren, für die man garantieren kann, dass die Software funktioniert. + + ### Kritik Keine