Gezielt testen und verbessern
Gute Testfälle prüfen normale Fälle, Grenzfälle und Fehlerfälle. Aus Tests folgen Verbesserungen.
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.
| Art | gesamt_bus | personen | erwartet: Bus pro Person |
|---|---|---|---|
| Normal | 270 | 9 | 30 |
| Grenze (genau 10) | 300 | 10 | 28 |
| Normal (über 10) | 330 | 11 | 28 |
| Fehlerfall | 240 | 0 | Meldung statt Rechnung |
Einen Fehler mit dem Testplan finden
- Das Programm hat die Bedingung personen > 10.
- Test 9 Personen: 270 : 9 = 30. Erwartet 30. Stimmt.
- Test 10 Personen: Das Programm liefert 30, erwartet 28. Fehler gefunden.
- 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
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“.
- Fehler im Programm: summe = bus + preis_nacht (die Nächte fehlen).
- Test mit 1 Nacht (Bus 20 € pro Person, 25 € pro Nacht): 20 + 25 = 45. Erwartet 45. Der Fehler fällt nicht auf.
- Test mit 2 Nächten: Das Programm liefert 45, erwartet 70.
- Lehre: Wähle Eingaben, die sich unterscheiden. 1 Nacht allein verrät den Fehler nicht.
Mit einem Bild erklärt
| Test | Eingabe | Programm | erwartet | Ergebnis |
|---|---|---|---|---|
| T1 | 10 Personen, 300 € | 30 | 28 | Fehler |
| T2 | 9 Personen, 270 € | 30 | 30 | ok |
| T3 | 11 Personen, 330 € | 28 | 28 | ok |
Zur Grundlage zurück
- Quelltext kommentieren, ändern und ergänzen – Du kannst Quelltext ändern und ergänzen.
- Module einzeln testen – Du kannst Module einzeln testen.
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 €.
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.
Mini-Quiz
5 kurze Fragen, ohne Noten. Bei jeder Frage kannst du dir die Lösung ansehen.
Zeig mir den ersten Schritt
Wo liefern beide Bedingungen unterschiedliche Ergebnisse?
Lösung ansehen
Lösung: genau 10 Personen
Lösung ansehen
Lösung: Fehlerfall
Lösung ansehen
Lösung: Es prüft zuerst, ob personen mindestens 1 ist.
Lösung ansehen
Lösung: Stimmt 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.
Kannst du das schon?
Hake ab, was du schon kannst. Was noch fehlt, schaust du dir einfach noch einmal an.
Übungsheft Ein eigenes Programm entwickeln
Kurz erklärt, 47 Aufgaben in drei Stufen und alle Lösungen. Kostenlos.
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