DYS+ Campus ist kostenlos und ohne Werbung. Projekt mit einer Spende unterstützen

Informatik

Gezielt testen und verbessern

Gute Testfälle prüfen normale Fälle, Grenzfälle und Fehlerfälle. Aus Tests folgen Verbesserungen.

  • ca. 13 Minuten
  • Klasse 10
  • Niveau: Plus

Das lernst du heute

  • Ich kann Testfälle mit erwartetem Ergebnis planen.
  • Ich kann Grenzfälle erkennen.
  • Ich kann einen Fehler mit Tests eingrenzen und verbessern.

Das brauchst du schon: Vielleicht hilft dir zuerst eine dieser Lektionen: Quelltext kommentieren, ändern und ergänzen, Module einzeln testen

Ein Test prüft, ob ein Programm bei bestimmten Eingaben das erwartete Ergebnis liefert. Gezielt testen heißt: Du wählst die Eingaben mit Absicht. Es gibt drei Arten von Testfällen. Normale Fälle sind typische Eingaben. Grenzfälle liegen genau an einer Grenze, zum Beispiel bei einer Bedingung wie „ab 10 Personen“. Fehlerfälle sind ungültige Eingaben, zum Beispiel 0 Personen.

Wir erweitern den Rechner: Ab 10 Personen gibt es pro Person 2 € Zuschuss für den Bus. Bus 270 € bei 9 Personen: 30 € pro Person. Bei 10 Personen mit 300 €: 30 − 2 = 28. Ein Fehler ist schnell passiert: Wer „personen > 10“ statt „personen ≥ 10“ schreibt, vergisst den Zuschuss bei genau 10 Personen. Diesen Fehler findet nur ein Test mit genau 10. Auch der Fehlerfall 0 Personen braucht Beachtung, denn man darf nicht durch 0 teilen. Die Verbesserung: prüfen, ob personen mindestens 1 ist.

Testplan für den Zuschuss ab 10 Personen
Artgesamt_buspersonenerwartet: Bus pro Person
Normal270930
Grenze (genau 10)3001028
Normal (über 10)3301128
Fehlerfall2400Meldung statt Rechnung

Einen Fehler mit dem Testplan finden

  1. Das Programm hat die Bedingung personen > 10.
  2. Test 9 Personen: 270 : 9 = 30. Erwartet 30. Stimmt.
  3. Test 10 Personen: Das Programm liefert 30, erwartet 28. Fehler gefunden.
  4. Ursache: > schließt 10 aus. Verbesserung: personen ≥ 10. Dann erneut alle Tests ausführen.

Ich verstehe das noch nicht

Such dir aus, was dir hilft.

Noch einfacher erklärt

Normaler Fall.

Grenzfall.

Fehlerfall.

Nach der Änderung alles noch einmal testen.

Ein Beispiel

Beispiel

Ein Auto prüft man nicht nur bei langsamer Fahrt. Man testet auch die Bremsen, wenn es voll beladen ist.

Schritt für Schritt

Wir finden den vergessenen Faktor „Nächte“.

  1. Fehler im Programm: summe = bus + preis_nacht (die Nächte fehlen).
  2. Test mit 1 Nacht (Bus 20 € pro Person, 25 € pro Nacht): 20 + 25 = 45. Erwartet 45. Der Fehler fällt nicht auf.
  3. Test mit 2 Nächten: Das Programm liefert 45, erwartet 70.
  4. Lehre: Wähle Eingaben, die sich unterscheiden. 1 Nacht allein verrät den Fehler nicht.

Mit einem Bild erklärt

TestEingabeProgrammerwartetErgebnis
T110 Personen, 300 €3028Fehler
T29 Personen, 270 €3030ok
T311 Personen, 330 €2828ok

Zur Grundlage zurück

Ausprobieren

Jetzt zusammen

Wir lösen die Aufgabe gemeinsam. Nutze die Hilfen, wenn du sie brauchst.

Welchen Bus-Preis pro Person erwartest du bei 11 Personen und 330 € Buskosten mit Zuschuss ab 10 Personen (in €)?

Zeig mir den ersten Schritt

330 : 11 = 30. Danach gilt der Zuschuss von 2 €.

Lösung ansehen

Lösung: 28

30 − 2 = 28 €.

Üben

Jetzt du

Jetzt probierst du es allein.

Wie hoch ist die Gesamtsumme pro Person bei 10 Personen, 300 € Bus, 25 € pro Nacht, 2 Nächten und Zuschuss ab 10 Personen (in €)?

Zeig mir den ersten Schritt

Bus: 300 : 10 = 30, dann Zuschuss. Hotel: 25 · 2.

Lösung ansehen

Lösung: 78

Bus 30 − 2 = 28. Hotel 50. Zusammen 78 €.

Tipp: Teste nach jeder Verbesserung noch einmal alle Testfälle. Sonst bleibt ein neuer Fehler an anderer Stelle vielleicht unbemerkt.

Merksatz: Testen: normal, Grenze, Fehlerfall. Nach jeder Änderung alle Tests wiederholen.

Typischer Fehler: Viele testen nur einen Wert, der „irgendwie funktioniert“. Ein Fehler, der nur an der Grenze auftritt, bleibt dann unentdeckt.

Prüfen

Mini-Quiz

5 kurze Fragen, ohne Noten. Bei jeder Frage kannst du dir die Lösung ansehen.

Frage 1 Welcher Testfall findet den Fehler personen > 10 statt personen ≥ 10?
Zeig mir den ersten Schritt

Wo liefern beide Bedingungen unterschiedliche Ergebnisse?

Lösung ansehen

Lösung: genau 10 Personen

Frage 2 Wie nennt man eine ungültige Eingabe wie 0 Personen?
Lösung ansehen

Lösung: Fehlerfall

Frage 3 Wie behandelt das Programm 0 Personen sinnvoll?
Lösung ansehen

Lösung: Es prüft zuerst, ob personen mindestens 1 ist.

Frage 4 Nach einer Verbesserung genügt es, nur den Test zu wiederholen, der den Fehler gezeigt hat.
Lösung ansehen

Lösung: Stimmt nicht

Frage 5 Warum verrät der Test mit 1 Nacht den vergessenen Faktor „Nächte“ nicht?
Lösung ansehen

Lösung: Weil Preis · 1 denselben Wert wie der Preis ergibt.

Geschafft

Gezieltes Testen nutzt normale Fälle, Grenzfälle und Fehlerfälle mit erwarteten Ergebnissen. Fehler grenzt man mit passenden Eingaben ein und prüft die Verbesserung mit denselben Tests.

Zum Schluss

Kannst du das schon?

Hake ab, was du schon kannst. Was noch fehlt, schaust du dir einfach noch einmal an.

Zum Ausdrucken

Übungsheft Ein eigenes Programm entwickeln

Kurz erklärt, 47 Aufgaben in drei Stufen und alle Lösungen. Kostenlos.

PDF, 396 KB

Übungsheft herunterladen (PDF, 396 KB)

Das Heft ist für alle kostenlos – auch wenn gerade kein Geld dafür da ist. Wer es einrichten kann, unterstützt DYS+ Campus mit einem selbst gewählten Betrag. Freiwillig unterstützen