Zum Inhalt springen

Informatik - Testfälle aus einer Vorgabe ableiten

Aus MOOCsWiki Staging
aiMOOC-Siegel aiMOOC

Informatik - Testfälle aus einer Vorgabe ableiten

QR-Code



Informatik – Testfälle aus einer Vorgabe ableiten


Einleitung

Wenn Du ein Programm testest, reicht es nicht zu fragen: „Kommt irgendeine Ausgabe?“ Du brauchst vorher eine Vorgabe: eine klare Beschreibung dessen, was bei bestimmten Eingaben geschehen soll. Aus dieser Vorgabe leitest Du Testfälle ab. Ein Testfall enthält mindestens eine konkrete Eingabe und ein erwartetes Ergebnis. Erst danach führst Du das Programm aus und notierst das tatsächlich beobachtete Ergebnis.

Dieser Kurs ist für Lernende ab Klasse 5/6 formuliert. Du arbeitest zunächst mit einfachen Zahlen, Bedingungen und Textausgaben. Die später klar als Vertiefung markierten Abschnitte führen die Fachbegriffe Grenzwertanalyse, Äquivalenzklasse und Black-Box-Test ein. Du brauchst dafür keine bestimmte Programmiersprache.

Der wichtigste Grundsatz lautet:

Vorgabe → Sollwert festlegen → Programm ausführen → Istwert beobachten → vergleichen.

Der Sollwert darf nicht einfach aus dem zu testenden Programm abgeschrieben werden. Sonst könnte ein Fehler im Programm zugleich zum „erwarteten“ Ergebnis werden und dadurch unentdeckt bleiben.

Wichtig: „Test bestanden“ oder „Test fehlgeschlagen“ bewertet hier nur einen einzelnen Testfall. Daraus entsteht keine automatische Schulnote und auch keine automatische Gesamtbewertung eines ganzen Programms.


Lernziele

Nach dem Kurs kannst Du aus einer schriftlichen Vorgabe passende Eingaben auswählen, die erwarteten Textausgaben unabhängig vom Programm bestimmen, beobachtete Ergebnisse dokumentieren und einen Soll-Ist-Vergleich begründen. Außerdem kannst Du erklären, warum besonders Werte an Übergängen wichtig sind und warum einige bestandene Tests noch keinen Beweis dafür liefern, dass ein Programm für alle denkbaren Eingaben richtig arbeitet.


Grundbegriffe

Begriff Bedeutung in diesem Kurs Beispiel
Vorgabe Beschreibt das geforderte Verhalten unabhängig vom Programmcode. „Bei 10 bis 12 Punkten soll Gold ausgegeben werden.“
Eingabe Ein konkreter Wert, den Du für einen Test verwendest. 10
Sollwert Die erwartete Ausgabe, die Du aus der Vorgabe herleitest. Gold
Istwert Die Ausgabe, die Du beim Ausführen tatsächlich beobachtest. Silber
Bewertung Vergleich von Sollwert und Istwert für genau diesen Testfall. Abweichung: Testfall fehlgeschlagen
Grenzwert Ein Wert an oder direkt neben einer Stelle, an der sich das geforderte Verhalten ändert. 6 und 7


Ein Bild zu Bedingungen im Programm

Bedingungen teilen mögliche Eingaben in unterschiedliche Wege. Ein Ablaufdiagramm kann solche Wege sichtbar machen. Das folgende freie Wikimedia-Commons-Bild zeigt beispielhaft Bedingungen in einem Ablaufdiagramm.

Ablaufdiagramm mit mehreren Bedingungen und Verzweigungen; es verdeutlicht, dass unterschiedliche Eingaben zu unterschiedlichen Programmwegen führen.

Mediennachweis: Dave Braunschweig, „Flowgorithm Conditions.svg“, 17.02.2020, Wikimedia Commons, Lizenz CC BY-SA 4.0. Das Bild dient hier nur zur Veranschaulichung von Verzweigungen; es legt die Regeln unseres eigenen Beispiels nicht fest.


Vom Text zur Testfall-Tabelle


Schritt 1: Die Vorgabe lesen

Unsere erfundene Lernanwendung heißt Punkteanzeige. Sie erhält genau eine ganze Zahl p.

Vorgabe V1: Zulässig sind die ganzen Zahlen von 0 bis 12. Für Werte kleiner als 0 oder größer als 12 lautet die Textausgabe „Eingabe ungültig“. Für 0 bis 6 lautet die Ausgabe „Bronze“. Für 7 bis 9 lautet die Ausgabe „Silber“. Für 10 bis 12 lautet die Ausgabe „Gold“.

Diese Vorgabe ist die Testbasis unseres Beispiels. Sie steht fest, bevor wir das Programm unter Test betrachten.


Schritt 2: Die Vorgabe als eigenes Soll-Modell formulieren

Die folgende Pseudocode-Schreibweise ist bewusst einfach und gehört zu diesem Kurs. Sie ist kein Programm, das wir testen, sondern ein aus der Vorgabe erstelltes Soll-Modell.

SOLL-MODELL PUNKTEANZEIGE
EINGABE: ganze Zahl p

1. WENN p < 0 ODER p > 12,
   DANN AUSGABE "Eingabe ungültig".
2. SONST WENN p >= 10,
   DANN AUSGABE "Gold".
3. SONST WENN p >= 7,
   DANN AUSGABE "Silber".
4. SONST
   AUSGABE "Bronze".

ENDE

Beispiele für unabhängig hergeleitete Sollwerte: Für p = 6 gilt nach Regel 4 der Sollwert „Bronze“. Für p = 7 gilt nach Regel 3 der Sollwert „Silber“. Für p = 10 gilt nach Regel 2 der Sollwert „Gold“. Für p = 13 greift Regel 1 und der Sollwert ist „Eingabe ungültig“.


Schritt 3: Gute Testeingaben auswählen

Du musst nicht nur „bequeme“ Zahlen in der Mitte eines Bereichs testen. Besonders aussagekräftig sind Werte an Übergängen. Für V1 sind deshalb zum Beispiel -1, 0, 6, 7, 9, 10, 12, 13 interessant. Sie liegen an oder direkt neben den Grenzen der fünf Verhaltensbereiche: ungültig unter 0, Bronze, Silber, Gold und ungültig über 12.

Testfall Eingabe Herleitung nur aus der Vorgabe Sollwert
T1 -1 kleiner als 0 Eingabe ungültig
T2 0 zwischen 0 und 6 Bronze
T3 6 zwischen 0 und 6 Bronze
T4 7 zwischen 7 und 9 Silber
T5 9 zwischen 7 und 9 Silber
T6 10 zwischen 10 und 12 Gold
T7 12 zwischen 10 und 12 Gold
T8 13 größer als 12 Eingabe ungültig


Schritt 4: Erst jetzt das Programm betrachten und ausführen

Angenommen, das zu testende Programm wurde so geschrieben:

PROGRAMM P

EINGABE: ganze Zahl p

1. WENN p < 0 ODER p > 12,
   DANN AUSGABE "Eingabe ungültig".
2. SONST WENN p > 10,
   DANN AUSGABE "Gold".
3. SONST WENN p >= 7,
   DANN AUSGABE "Silber".
4. SONST
   AUSGABE "Bronze".

ENDE

Achte darauf: Im Programm P steht in Zeile 2 p > 10. In der Vorgabe beginnt „Gold“ aber schon bei 10. Genau deshalb war es wichtig, den Sollwert vorher unabhängig festzulegen.


Durchgerechnetes Beispiel: Eingabe 10

Beobachtung: Wir geben 10 in Programm P ein. Regel 1 trifft nicht zu. Regel 2 trifft wegen 10 > 10 nicht zu. Regel 3 trifft wegen 10 >= 7 zu. Das Programm gibt „Silber“ aus. Das ist der beobachtete Istwert.

Regelanwendung: Aus Vorgabe V1 hatten wir schon vorher abgeleitet: 10 liegt im Bereich 10 bis 12. Der Sollwert ist deshalb „Gold“.

Bewertung: Sollwert „Gold“ und Istwert „Silber“ stimmen nicht überein. Der Testfall T6 schlägt fehl. Diese Aussage zeigt eine Abweichung für Eingabe 10. Sie beweist noch nicht, warum der Programmierer den Fehler gemacht hat; der sichtbare Pseudocode legt hier allerdings nahe, dass der Vergleich p > 10 statt p >= 10 die Ursache ist.


Ein passender Testfall ohne Abweichung

Beobachtung: Bei Eingabe 11 gibt Programm P „Gold“ aus.

Regelanwendung: Nach Vorgabe V1 liegt 11 im Bereich 10 bis 12. Der Sollwert ist „Gold“.

Bewertung: Sollwert und Istwert stimmen überein. Dieser einzelne Testfall besteht. Daraus folgt aber nicht, dass alle anderen Eingaben korrekt verarbeitet werden.


Beobachtung, Regelanwendung und Bewertung sauber trennen

Teil Leitfrage Beispiel für Eingabe 10
Beobachtung Was habe ich bei der Ausführung tatsächlich gesehen? Ausgabe „Silber“
Regelanwendung Was fordert die Vorgabe für diese Eingabe? 10 gehört zu 10 bis 12, also Sollwert „Gold“
Bewertung Stimmen Sollwert und Istwert überein? Nein, der Testfall schlägt fehl.

Diese Trennung hilft Dir, nicht aus Versehen eine Beobachtung zur Regel zu erklären. Sie ist auch nützlich, wenn mehrere Personen denselben Test nachvollziehen sollen.


Ein einfaches Testfall-Rezept


Sechs Schritte

  1. Vorgabe markieren: Unterstreiche Eingaben, erlaubte Werte, Bedingungen und geforderte Ausgaben.
  2. Eingabebereiche bilden: Teile die möglichen Eingaben danach ein, wann sich das erwartete Verhalten ändert.
  3. Grenzen suchen: Wähle Werte an und direkt neben wichtigen Übergängen.
  4. Sollwerte zuerst notieren: Leite für jede Eingabe die Erwartung ausschließlich aus der Vorgabe ab.
  5. Programm ausführen: Notiere das tatsächlich beobachtete Ergebnis ohne es umzudeuten.
  6. Vergleichen und begründen: Entscheide nur für den Testfall, ob Soll und Ist übereinstimmen.


Warum nicht nur einen Testfall?

Ein einzelner bestandener Test zeigt nur, dass das beobachtete Verhalten für genau diese konkrete Situation zur Erwartung passt. Bei vielen Programmen gibt es sehr viele mögliche Eingaben und Zustände. Deshalb arbeitet Softwaretesten oft mit sinnvoll ausgewählten Stichproben. Das ist etwas anderes als ein mathematischer Beweis, dass ein Programm für alle denkbaren Fälle korrekt ist.


Vertiefung: Grenzwerte und Äquivalenzklassen


Äquivalenzklassen im Beispiel

VERTIEFUNG: Bei einer Äquivalenzklasse fasst man Eingaben zusammen, für die laut Vorgabe dasselbe Verhalten erwartet wird. Für V1 entstehen diese Bereiche:

Bereich Erwartete Ausgabe Beispiel
p < 0 Eingabe ungültig -1
0 bis 6 Bronze 3
7 bis 9 Silber 8
10 bis 12 Gold 11
p > 12 Eingabe ungültig 13

Ein Wert aus der Mitte eines Bereichs prüft einen typischen Vertreter. Werte direkt an den Übergängen sind zusätzlich wichtig, weil dort Vergleichszeichen wie <, <=, > oder >= leicht verwechselt werden.


Grenzwerte systematisch auswählen

VERTIEFUNG: Für den Übergang Bronze → Silber sind 6 und 7 besonders wichtig. Für Silber → Gold sind 9 und 10 wichtig. Für den gültigen Gesamtbereich sind außerdem -1, 0, 12 und 13 aussagekräftig. Genau der Wert 10 entdeckt in Programm P den eingebauten Fehler.

Ein Testset wie -1, 0, 6, 7, 9, 10, 12, 13 ist deshalb begründeter als acht zufällig gewählte Zahlen aus der Mitte der Bereiche.


Black-Box-Idee

VERTIEFUNG: Beim Black-Box-Test leitest Du Testfälle vor allem aus der äußeren Vorgabe und den sichtbaren Ein- und Ausgaben ab, nicht aus dem inneren Programmcode. Für diesen Kurs ist das besonders wichtig: Der Sollwert kommt aus der Vorgabe. Erst nach der Testdurchführung darf der Code helfen, eine beobachtete Abweichung zu erklären.


Testen als Teil der Softwareentwicklung

Diagramm eines Software-Testlebenszyklus mit aufeinanderfolgenden Schritten von der Analyse und Planung bis zum Abschluss des Testens.

Mediennachweis: Perfect Happiness, „Software Testing Life Cycle.jpg“, 08.04.2020, Wikimedia Commons, Lizenz CC BY-SA 4.0. Das Diagramm zeigt einen möglichen sequenziellen Testablauf aus dem professionellen Kontext. Es ist keine verbindliche Reihenfolge für jede Schulaufgabe.


Optionales Vertiefungsvideo

Alternativtext zum Video: Englischsprachige CS50P-Vorlesung zu Unit-Tests. Sie zeigt, wie Programme mit vorbereiteten Erwartungen geprüft werden können und wie Testwerkzeuge Rückmeldungen geben. Für diesen Kurs ist nur die Grundidee wichtig; Python und pytest sind keine Voraussetzung.

Mediennachweis: CS50, „CS50P – Lecture 5 – Unit Tests“, veröffentlicht am 22.07.2022 auf YouTube. In der Videobeschreibung und im CS50-Kurs wird CC BY-NC-SA 4.0 angegeben. Das Video ist englischsprachig und deutlich anspruchsvoller als der Grundkurs; es dient ausschließlich der Vertiefung.


Übungsset mit gestuften Hinweisen und Lösungen


Aufgabe 1: Sollwert aus V1

Für Eingabe 10 sollst Du den Sollwert bestimmen, ohne Programm P zu betrachten.

Auswahl: A) Gold · B) Silber · C) Bronze · D) Eingabe ungültig

Hinweis 1: Suche in V1 den Bereich, der 10 enthält.

Hinweis 2: Der Bereich beginnt genau bei 10.

Lösung: A) Gold. Die Vorgabe ordnet alle Werte von 10 bis 12 der Ausgabe „Gold“ zu. Ob das Programm später etwas anderes ausgibt, ändert den Sollwert nicht.


Aufgabe 2: Neuer Regeltext

Eine andere Anwendung nutzt folgende Vorgabe: Zulässig sind ganze Zahlen von 0 bis 5. Bei 0 lautet die Ausgabe „Stumm“. Bei 1 bis 3 lautet sie „Leise“. Bei 4 bis 5 lautet sie „Laut“. Andere Werte ergeben „Ungültig“. Welche Ausgabe ist für Eingabe 4 zu erwarten?

Auswahl: A) Laut · B) Leise · C) Stumm · D) Ungültig

Hinweis 1: Prüfe, in welchem Zahlenbereich 4 liegt.

Hinweis 2: 4 ist der erste Wert des letzten gültigen Bereichs.

Lösung: A) Laut. Die Erwartung folgt direkt aus dem Regeltext: 4 bis 5 → „Laut“.


Aufgabe 3: Welches Testset prüft Grenzen besser?

Für die Vorgabe „0 bis 6 Bronze, 7 bis 9 Silber, 10 bis 12 Gold“ sollst Du aus vier Vorschlägen den sinnvollsten Grenztest auswählen.

Auswahl: A) 6, 7, 9, 10 · B) 2, 3, 4, 5 · C) 7, 8, 8, 9 · D) 10, 10, 11, 11

Hinweis 1: Verhalten ändert sich zwischen 6 und 7 sowie zwischen 9 und 10.

Hinweis 2: Suche nach einem Set, das beide Seiten beider Übergänge enthält.

Lösung: A) 6, 7, 9, 10. Dieses Set enthält die Werte direkt vor und direkt nach beiden inneren Übergängen.


Aufgabe 4: Beobachtung und Bewertung

Für einen Testfall wurde der Sollwert „Silber“ bereits aus der Vorgabe bestimmt. Bei der Ausführung beobachtest Du „Silber“. Welche Bewertung ist korrekt?

Auswahl: A) Der Testfall besteht · B) Der Testfall schlägt fehl · C) Die Vorgabe ist automatisch falsch · D) Das ganze Programm ist bewiesen korrekt

Hinweis 1: Vergleiche nur Sollwert und Istwert dieses Testfalls.

Hinweis 2: Beide Texte sind gleich.

Lösung: A) Der Testfall besteht. Diese Aussage gilt nur für den geprüften Fall. Sie ist kein Beweis für alle möglichen Eingaben.


Aufgabe 5: Kurzantwort

Neue Vorgabe: Eine Zahl x kleiner als 0 ergibt „Fehler“, 0 bis 2 ergibt „Klein“, 3 bis 5 ergibt „Mittel“, ab 6 ergibt „Groß“. Welcher Sollwert gehört zu x = 3?

Hinweis 1: 3 liegt genau an einem Übergang.

Hinweis 2: Lies, welcher Bereich bei 3 beginnt.

Lösung: Mittel. Der Bereich 3 bis 5 beginnt einschließlich 3.


Transferwerkstatt


Offene Werkstatt: Entwirf selbst eine Vorgabe und Testfälle

Entwirf eine kleine Regelanwendung, die eine ganze Zahl einliest und einen kurzen Text ausgibt. Ein Beispielthema wäre eine Spielanzeige, eine Ampel-Simulation auf Papier oder eine Punkteklasse. Verwende nur erfundene Daten und keine privaten Angaben.

Modell für Deine Arbeit:

NAME DER ANWENDUNG: ______________________

EINGABE: ganze Zahl n

VORGABE:
1. WENN ______________________,
   DANN AUSGABE "______________________".
2. SONST WENN ______________________,
   DANN AUSGABE "______________________".
3. SONST
   AUSGABE "______________________".

TESTFALL A:
Eingabe: ______
Sollwert aus der Vorgabe: ______________________
Beobachteter Istwert: ______________________
Bewertung: ______________________

TESTFALL B:
Eingabe: ______
Sollwert aus der Vorgabe: ______________________
Beobachteter Istwert: ______________________
Bewertung: ______________________

Arbeitsauftrag: Formuliere mindestens drei unterschiedliche Ausgabebereiche, nenne den gültigen Zahlenbereich eindeutig, wähle mindestens fünf Testfälle und begründe, warum mindestens zwei davon an Grenzen liegen. Wenn Du kein echtes Programm ausführst, kannst Du die Spalte „Istwert“ zunächst leer lassen oder mit einem von einer Mitschülerin oder einem Mitschüler nach Deinen Regeln simulierten Ergebnis füllen.


Selbstprüfkriterien

  1. Eindeutige Vorgabe: Kann eine andere Person für jede Deiner Testeingaben genau eine erwartete Ausgabe bestimmen?
  2. Unabhängiger Sollwert: Hast Du die Erwartung aus Deiner Vorgabe notiert, bevor Du ein Ergebnis des Programms übernimmst?
  3. Grenzen abgedeckt: Enthält Dein Testset Werte direkt an wichtigen Übergängen und möglichst auch direkt daneben?
  4. Saubere Trennung: Sind Beobachtung, Regelanwendung und Bewertung getrennt dokumentiert?
  5. Aussage vorsichtig: Behauptest Du nur, was Deine Testfälle zeigen, und nicht automatisch, dass das ganze Programm fehlerfrei ist?


Quellen, Herkunft, Datum und Aussagegrenzen


Fachliche Quellen

Quelle Herkunft und Datum Für diesen Kurs genutzte Aussage Aussagegrenze
ISO/IEC/IEEE 29119-1:2022 – General concepts ISO/IEC/IEEE, Ausgabe 2022; öffentlich einsehbare Begriffsabschnitte; abgerufen am 04.10.2026 Ein Testfall verbindet Vorbedingungen, Eingaben und erwartete Ergebnisse; ein beobachtetes Ergebnis wird bei der Ausführung erfasst; Grenzwertanalyse richtet Tests auf Bereichsgrenzen. Internationale Fachnorm für professionelles Softwaretesten, nicht speziell für Klasse 5/6. Der Kurs vereinfacht Begriffe und übernimmt keine kostenpflichtigen Normtexte wörtlich.
Bildungsplan Baden-Württemberg – Modellieren und Implementieren Land Baden-Württemberg, Bildungsplan 2016; abgerufen am 04.10.2026 Eingabedaten und Ergebnisse können als Testfälle formalisiert und Programme gezielt gegen vorab formulierte Testfälle geprüft werden. Die zitierte Kompetenzformulierung stammt aus einem weiterführenden Sekundarstufen-Kontext und ist kein Nachweis dafür, dass genau diese Fachbegriffe in Klasse 5/6 verbindlich sind. Hier erfolgt eine didaktische Reduktion.
inf-schule – Korrektheit mit Python testen Öffentliches Informatik-Lernangebot; Seite zuletzt geändert am 01.08.2024; abgerufen am 04.10.2026 Vorbereitete Testfälle können erwartete Ergebnisse festhalten und anschließend automatisiert mit Programmausgaben verglichen werden. Das dortige Python- und ggT-Beispiel ist anspruchsvoller als dieser Kurs. Hier wird nur das allgemeine Prinzip übernommen.
QS-Baukasten – Abnahmetest Öffentliches Lernmaterial im Umfeld des Bundesverwaltungsamts/OpenCoDE; kein eindeutiges Veröffentlichungsdatum auf der geprüften Seite, abgerufen am 04.10.2026 Anforderungen werden analysiert, daraus Testszenarien und Testfälle erstellt, Ergebnisse festgehalten und mit Anforderungen verglichen. Professioneller Verwaltungskontext; keine Vorgabe für schulische Benotung und keine Garantie, dass ein kleines Testset vollständige Fehlerfreiheit nachweist.
Wikipedia – Testfall Wikipedia, dynamisch bearbeiteter Artikel; abgerufen am 04.10.2026 Überblick über Vorbedingungen, Eingaben, erwartete Ergebnisse und Soll-Ist-Vergleich bei Testfällen. Sekundärquelle mit veränderlichem Stand; für verbindliche Fachterminologie wurden zusätzlich ISO-Quellen herangezogen.


Medienquellen und Lizenzen

Medium Quelle Lizenz Alternativtext / Nutzung
Flowgorithm Conditions.svg Wikimedia Commons, Dave Braunschweig, 17.02.2020 CC BY-SA 4.0 Ablaufdiagramm mit Bedingungen und Verzweigungen. Es illustriert nur die Idee unterschiedlicher Wege.
Software Testing Life Cycle.jpg Wikimedia Commons, Perfect Happiness, 08.04.2020 CC BY-SA 4.0 Diagramm eines sequenziellen Software-Testlebenszyklus. Es dient nur zur Einordnung in der Vertiefung.
CS50P – Lecture 5 – Unit Tests YouTube/CS50, veröffentlicht 22.07.2022; CS50P-Kurslizenz CC BY-NC-SA 4.0 laut Videobeschreibung und CS50-Kurslizenz Englischsprachige Vertiefung zu Unit-Tests; Python-Wissen ist für den Grundkurs nicht erforderlich.


Methodische Aussagegrenze

Testfälle können Fehler sichtbar machen und Vertrauen in geprüftes Verhalten erhöhen. Ein endliches schulisches Testset beweist im Allgemeinen nicht, dass ein nichttriviales Programm für alle möglichen Eingaben und Zustände korrekt ist. Dieser Kurs behandelt vor allem spezifikationsorientiertes Testen einfacher deterministischer Ein- und Ausgaben. Nebenläufigkeit, Zufall, Netzwerke, Sicherheitstests und formale Korrektheitsbeweise werden nicht behandelt.


Interaktive Aufgaben


Quiz: Teste Dein Wissen

Woraus sollst Du den Sollwert für einen Testfall zuerst ableiten? (Aus der Vorgabe) (!Aus der letzten Programmausgabe) (!Aus einer geratenen Zahl) (!Aus der Schulnote)




Welche Ausgabe fordert V1 für die Eingabe 10? (Gold) (!Silber) (!Bronze) (!Eingabe ungültig)




Welche Ausgabe beobachtest Du bei Programm P für die Eingabe 10? (Silber) (!Gold) (!Bronze) (!Eingabe ungültig)




Was ist in einem Test der Istwert? (Das tatsächlich beobachtete Ergebnis) (!Die vorher aus der Vorgabe abgeleitete Erwartung) (!Die Anzahl aller Testfälle) (!Die automatische Schulnote)




Warum sind die Eingaben 6 und 7 gemeinsam interessant? (Sie liegen direkt an einem Verhaltenswechsel) (!Sie sind beide ungültig) (!Sie müssen dieselbe Ausgabe liefern) (!Sie machen weitere Tests überflüssig)




Wann schlägt ein einzelner Testfall fehl? (Wenn Istwert und Sollwert nicht übereinstimmen) (!Wenn die Eingabe eine gerade Zahl ist) (!Wenn mehr als ein Testfall existiert) (!Wenn der Sollwert vor dem Programmstart notiert wurde)




Welche Eingabe ist nach V1 ungültig? (13) (!12) (!10) (!7)




Was darfst Du aus einem bestandenen Testfall sicher schließen? (Für diesen Testfall stimmen Sollwert und Istwert überein) (!Das ganze Programm ist für alle Eingaben bewiesen korrekt) (!Die Vorgabe ist überflüssig) (!Alle Grenzwerte wurden automatisch geprüft)




Welche Reihenfolge ist für diesen Kurs richtig? (Erwartung aus Vorgabe festlegen dann Programm ausführen dann vergleichen) (!Programm ausführen dann dessen Ausgabe als Erwartung übernehmen dann vergleichen) (!Schulnote festlegen dann Eingabe wählen dann Vorgabe schreiben) (!Programmcode abschreiben dann Grenzwerte ignorieren dann Ergebnis raten)




Welche Aussage beschreibt einen Grenzwert am besten? (Ein Wert an oder nahe einer Stelle mit geändertem erwarteten Verhalten) (!Ein zufälliger Wert ohne Bezug zur Vorgabe) (!Immer der größte Wert eines Computers) (!Eine automatisch vergebene Bewertung)





Memory

Testbasis Vorgabe für das erwartete Verhalten
Eingabe Konkreter Wert für die Ausführung
Sollwert Vorher abgeleitete Erwartung
Istwert Tatsächlich beobachtetes Ergebnis
Grenzwert Stelle eines Verhaltenswechsels
Testfall Konkrete Prüfung mit Erwartung
Abweichung Unterschied zwischen Soll und Ist





Drag and Drop

Ordne die richtigen Begriffe zu. Thema
Vorgabe Quelle für die Erwartung
Sollwert Vor dem Ausführen festgelegtes Ergebnis
Istwert Bei der Ausführung beobachtetes Ergebnis
Bestanden Erwartung und Beobachtung stimmen überein
Fehlgeschlagen Erwartung und Beobachtung weichen ab
Grenzwert Stelle an der sich das erwartete Verhalten ändert






Kreuzworträtsel

Testfall Wie heißt eine konkrete Prüfung mit Eingabe und Erwartung?
Sollwert Wie heißt das aus der Vorgabe abgeleitete erwartete Ergebnis?
Istwert Wie heißt das tatsächlich beobachtete Ergebnis?
Grenzwert Wie heißt ein Wert an einer Stelle mit möglichem Verhaltenswechsel?
Vorgabe Woraus wird die Erwartung unabhängig vom Programm hergeleitet?
Ausgabe Wie heißt ein vom Programm ausgegebener Text oder Wert?





LearningApps


Lückentext

Vervollständige den Text.
Die fachliche Grundlage für einen erwarteten Programmablauf heißt

. Ein konkreter Wert, mit dem Du ein Programm prüfst, ist eine

. Das vor der Ausführung abgeleitete erwartete Ergebnis heißt

. Das tatsächlich beobachtete Ergebnis heißt

. Stimmen Erwartung und Beobachtung nicht überein, liegt eine

vor. Werte an Stellen mit verändertem Verhalten nennt man

. Eine konkrete Prüfung mit Eingabe und Erwartung ist ein

. Ein bestandener Test ist nur eine

für das geprüfte Verhalten.




Offene Aufgaben


Leicht

  1. Vorgabe markieren: Nimm die Vorgabe V1 und markiere alle Zahlenbereiche sowie die zugehörigen Textausgaben mit unterschiedlichen Symbolen.
  2. Sollwerte ableiten: Erstelle für die Eingaben 0, 5, 7, 10 und 12 eine Tabelle mit Sollwerten und schreibe zu jedem Wert einen kurzen Begründungssatz.
  3. Grenzen finden: Zeichne einen Zahlenstrahl von -1 bis 13 und kennzeichne alle Stellen, an denen sich die erwartete Ausgabe ändert.
  4. Beobachten und bewerten: Nutze die im Kurs angegebenen Ausgaben von Programm P und schreibe für drei Testfälle jeweils getrennt Beobachtung, Regelanwendung und Bewertung auf.


Standard

  1. Eigene Regelanwendung: Erfinde eine Anwendung mit einem gültigen Zahlenbereich und mindestens drei unterschiedlichen Textausgaben und formuliere die vollständigen Regeln in der Pseudocode-Notation dieses Kurses.
  2. Grenzwert-Jagd: Leite zu Deiner eigenen Vorgabe mindestens sechs Testeingaben ab, von denen mindestens vier direkt an oder neben Übergängen liegen, und begründe die Auswahl.
  3. Partner-Test: Tausche nur Deine Vorgabe und eine simulierte Programmausgabe mit einer Lernpartnerin oder einem Lernpartner aus, nicht Deinen eigenen Sollwert, und vergleicht anschließend Eure unabhängig hergeleiteten Erwartungen.
  4. Fehlerdetektiv: Verändere in einer Kopie des Soll-Modells genau ein Vergleichszeichen, führe die Grenztestfälle auf Papier durch und dokumentiere, welche Eingabe die Abweichung sichtbar macht.


Schwer

  1. Entscheidungstabelle bauen: Übertrage eine selbst erfundene Vorgabe mit zwei Bedingungen in eine einfache Tabelle aus Eingabebedingungen und erwarteten Textausgaben und leite daraus konkrete Testfälle ab.
  2. Kleines Testset begründen: Suche aus zehn möglichen Eingaben ein möglichst kleines, aber gut begründetes Testset aus, das jeden Ausgabebereich und jede Grenze Deiner Vorgabe berücksichtigt.
  3. Mehrdeutigkeit prüfen: Formuliere absichtlich eine unklare Vorgabe, lasse eine andere Person Sollwerte ableiten, sammle Uneinigkeiten und verbessere anschließend die Formulierung so, dass jede Testeingabe eindeutig entschieden werden kann.
  4. Mini-Erklärmedium: Erstelle ein eigenes kurzes Schaubild oder Video ohne private Daten, das Vorgabe, Sollwert, Istwert und Bewertung an einem neuen Beispiel erklärt; nutze nur eigene oder eindeutig frei lizenzierte Medien und dokumentiere die Lizenz.




Text bearbeiten Bild einfügen Video einbetten Interaktive Aufgaben erstellen



Lernkontrolle

  1. Mehrdeutige Vorgabe klären: Gegeben ist „Ab 5 gibt es Stufe B, sonst Stufe A“, ohne Angabe für negative Zahlen. Formuliere eine Rückfrage oder Ergänzung, die die Testbasis eindeutig macht, und erkläre, warum Du ohne diese Klärung keinen verlässlichen Sollwert für -1 festlegen kannst.
  2. Testset vergleichen: Vergleiche die Sets A = 2, 4, 8, 11 und B = 6, 7, 9, 10 für V1. Erkläre, welches Set die inneren Übergänge besser prüft und welche zusätzlichen Werte noch für den gesamten gültigen Bereich fehlen.
  3. Abweichung analysieren: Für Eingabe 10 lautet der Sollwert „Gold“, beobachtet wird „Silber“. Trenne Deine Antwort ausdrücklich in Beobachtung, Regelanwendung und Bewertung.
  4. Aussagekraft begrenzen: Erkläre an einem eigenen Beispiel, warum drei bestandene Testfälle noch nicht beweisen, dass alle möglichen Eingaben korrekt verarbeitet werden.
  5. Sollwert unabhängig halten: Begründe, warum es riskant wäre, zuerst den Programmcode zu lesen und anschließend genau dessen Ausgabe als Erwartung zu notieren.
  6. Neue Vorgabe übertragen: Entwickle für eine neue dreistufige Zahlenregel mindestens fünf Testfälle, leite alle Sollwerte vor der Ausführung her und begründe mindestens zwei Grenzwerte.




Lernnachweis

Für einen Lernnachweis zu diesem Thema ist wichtig, dass Du eine Vorgabe verständlich lesen und nötigenfalls auf Mehrdeutigkeiten hinweisen kannst. Du solltest Eingaben, Sollwerte und Istwerte unterscheiden, Testfälle mit normalen und grenznahen Werten entwerfen, Sollwerte unabhängig vom zu testenden Programm bestimmen, Beobachtung und Regelanwendung getrennt dokumentieren sowie eine Bewertung aus dem Soll-Ist-Vergleich nachvollziehbar begründen. In der Vertiefung kannst Du zusätzlich Eingaben zu Äquivalenzklassen zusammenfassen und erklären, warum Grenzwerte oft besonders aussagekräftig sind. Der Lernnachweis bewertet diese fachlichen Leistungen durch nachvollziehbare Aufgaben und Begründungen; aus einem einzelnen automatischen Testergebnis folgt keine automatische Note.


OERs zum Thema



Verknüpfte Lernbereiche


Abschlussanwendung auf neues Material


Bibliotheks-Automat: selbst prüfen und anschließend kontrollieren

Zum Abschluss erhältst Du eine neue Vorgabe. Sie gehört nicht zur Punkteanzeige und soll zeigen, ob Du das Verfahren übertragen kannst.

Neue Vorgabe B1: Der Bibliotheks-Automat erhält eine ganze Zahl b für die Anzahl gleichzeitig ausgeliehener Bücher. Für b < 0 oder b > 6 lautet die Ausgabe „Ungültig“. Für b = 0 lautet die Ausgabe „Keine Bücher“. Für 1 <= b <= 4 lautet sie „Ausleihe möglich“. Für 5 <= b <= 6 lautet sie „Limit erreicht“.

Phase A – unabhängig ableiten: Schreibe zuerst für die Eingaben -1, 0, 4, 5, 6, 7 die Sollwerte aus B1 auf. Lies die Beobachtungstabelle erst danach.

Phase B – Beobachtungen eines fiktiven Programms:

Eingabe Beobachteter Istwert
-1 Ungültig
0 Keine Bücher
4 Limit erreicht
5 Limit erreicht
6 Limit erreicht
7 Ungültig

Kontrollauftrag: Vergleiche Deine sechs Sollwerte mit den sechs Istwerten. Nenne jeden fehlgeschlagenen Testfall und begründe ihn ausschließlich mit B1.

Kontrolllösung: Genau der Test mit b = 4 schlägt fehl. Nach B1 gehört 4 noch zum Bereich 1 bis 4, deshalb lautet der Sollwert „Ausleihe möglich“. Beobachtet wurde „Limit erreicht“. Bei -1, 0, 5, 6 und 7 stimmen Sollwert und Istwert mit B1 überein. Damit ist die konkrete Anwendung überprüfbar abgeschlossen; sie beweist trotzdem nicht, dass jede andere mögliche Programmsituation korrekt ist.


aiMOOC-Projekte

MOOCwiki · Deutsch

Nach dem Lernen ist vor dem Lernen

Entdecke direkt den nächsten Lernkurs. Weitere Inhalte erscheinen, wenn Du weiter nach unten scrollst.

Zur MOOCwiki-Hauptseite

Mediathek

Inhalte werden geladen ...

Mediathek wird aus dem Wiki geladen ...