Aufgabe 22 - Fehlersuche und Testtabelle
Aufgabe 22 - Fehlersuche und Testtabelle
Abschnitt betitelt „Aufgabe 22 - Fehlersuche und Testtabelle“Worum geht es?
Abschnitt betitelt „Worum geht es?“Sie bekommen ein fehlerhaftes Programm und bringen es systematisch zum Laufen. Mit Testfällen, Konsole und Breakpoints statt mit Raten (siehe Kapitel Testen und Debugging).
In dieser Übung üben Sie:
- Klassifizieren: Syntax-, Laufzeit- und Logikfehler unterscheiden.
- Eingrenzen: Fehler mit
console.logund Breakpoints lokalisieren. - Testen: Testfälle mit Randfällen definieren und dokumentieren.
Benötigte Unterlagen
Abschnitt betitelt „Benötigte Unterlagen“- VS Code, Browser mit DevTools,
- die fehlerhafte Datei
kaputt.js(wird im Unterricht ausgeteilt; sie enthält die Funktionnotenschnitt(noten), die den Durchschnitt eines Noten-Arrays berechnen soll, sowiebesteNote(noten). Eingebaut sind mindestens 5 Fehler: je mindestens ein Syntax-, ein Laufzeit- und zwei Logikfehler, z. B. Off-by-one in der Schleife und=statt===).
Arbeitsaufträge
Abschnitt betitelt „Arbeitsaufträge“Teil A - Testtabelle zuerst
Abschnitt betitelt „Teil A - Testtabelle zuerst“Bevor Sie den Code ansehen: Definieren Sie für notenschnitt mindestens fünf Testfälle als Tabelle (Eingabe und erwartetes Ergebnis), darunter die Randfälle leeres Array und ein Array mit nur einem Element.
Teil B - Fehler finden
Abschnitt betitelt „Teil B - Fehler finden“- Führen Sie die Datei aus und arbeiten Sie sich Fehler für Fehler vor: Meldung lesen, Zeile finden, Ursache verstehen, beheben.
- Führen Sie für die Logikfehler Ihre Testfälle aus Teil A aus und grenzen Sie Abweichungen mit einem Breakpoint ein (Werte je Schleifendurchlauf beobachten).
- Dokumentieren Sie jeden gefundenen Fehler in einer Fehlertabelle: Zeile, Fehlerart (Syntax/Laufzeit/Logik), Ursache, Korrektur.
Teil C - Absichern
Abschnitt betitelt „Teil C - Absichern“- Schreiben Sie eine Hilfsfunktion
check(bezeichnung, tatsaechlich, erwartet), dieOKoderFEHLERsamt beiden Werten ausgibt. - Übersetzen Sie Ihre Testtabelle in
check-Aufrufe am Dateiende. Alle müssenOKmelden. - Was soll
notenschnitt([])sinnvollerweise liefern? Entscheiden Sie sich, begründen Sie die Wahl im Kommentar und testen Sie sie.
Reparierte Datei mit Fehlertabelle (Kommentar), Testtabelle und check-Aufrufen, die alle OK liefern.