Testen und Verbessern

16.05.2026 17:47
„Poke her with the soft cushions! … Fetch the comfy chair!“

Spanish Inquisition · Flying Circus, 1970

Erst läuft es — dann muss es auch robust sein.

Konzept

Dein Quiz läuft. Aber: läuft es auch, wenn der User komische Dinge tippt? Drei Tests, die du selbst machen kannst:

  • Leere Eingabe: Was passiert bei einfachem Enter?
  • Falsche Groß/Klein-Schreibung: „paris" statt „Paris" sollte ok sein (haben wir mit .lower() schon).
  • Highscore-Datei beschädigt: Schreib in highscore.txt was Unsinniges wie "hundert". Lädt der Code es trotzdem als 0?

Was du erweitern könntest:

  • Wenn len(fragen) gleich 0 ist — Programm soll nicht crashen.
  • Anzahl der Versuche pro Frage erhöhen (max 2 Anläufe).
  • Reihenfolge der Fragen mischen (random.shuffle).

Achtung: Jedes Feature kostet Code. Nicht alles auf einmal — pro Iteration nur einen Punkt einbauen, testen, weiter. So merkst du schnell, wenn etwas bricht.

Live-Code

Variante mit gemischter Fragen-Reihenfolge:

Pyodide laedt… Strg/⌘+Enter zum Ausführen

      
Nach dem Run erscheinen hier die Top-Level-Variablen.

Bei jedem Run kommt die Liste in anderer Reihenfolge.

Übung

Bau random.shuffle(fragen) in den Quiz-Code aus Lesson 8.3 ein — direkt vor dem Aufruf von spiele_quiz.

Pyodide laedt… Strg/⌘+Enter zum Ausführen

      
Nach dem Run erscheinen hier die Top-Level-Variablen.

Quiz

Was ist der Sinn eines Tests „mit komischen Eingaben"?

  • [ ] Den User ärgern
  • [x] Robustheit prüfen — der Code soll nicht crashen
  • [ ] Performance messen

Modul 8 — Mini-Projekt. Fragen zur Lesson? Der KI-Tutor unten rechts kennt deinen letzten Run.

Stichworte

Python Einsteiger Kurs