Zum Inhalt springen

Aufgabe 22 - Fehlersuche und Testtabelle

Zu Zen-Modus wechseln

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.log und Breakpoints lokalisieren.
  • Testen: Testfälle mit Randfällen definieren und dokumentieren.
  • VS Code, Browser mit DevTools,
  • die fehlerhafte Datei kaputt.js (wird im Unterricht ausgeteilt; sie enthält die Funktion notenschnitt(noten), die den Durchschnitt eines Noten-Arrays berechnen soll, sowie besteNote(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 ===).

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.

  1. Führen Sie die Datei aus und arbeiten Sie sich Fehler für Fehler vor: Meldung lesen, Zeile finden, Ursache verstehen, beheben.
  2. 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).
  3. Dokumentieren Sie jeden gefundenen Fehler in einer Fehlertabelle: Zeile, Fehlerart (Syntax/Laufzeit/Logik), Ursache, Korrektur.
  1. Schreiben Sie eine Hilfsfunktion check(bezeichnung, tatsaechlich, erwartet), die OK oder FEHLER samt beiden Werten ausgibt.
  2. Übersetzen Sie Ihre Testtabelle in check-Aufrufe am Dateiende. Alle müssen OK melden.
  3. 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.