Erste Schritte in STACK
Testfälle hinzufügen
In den letzten Kapiteln haben wir schrittweise eine einfache Integrationsaufgabe erstellt mit Feedback und Randomisierung. Bevor wir weiter machen, kontrollieren Sie noch einmal, ob Ihre Fragenvariablen aussehen, wie folgt
a1: 1+rand(6);a2: 1+rand(6);nn: 2+rand(4);ausdr: a1*(x-a2)^(-nn);tans1: int(ausdr,x)+c;
Fragen zu testen ist zeitaufwendig und ermüdend, aber wichtig, um sicherzustellen, dass die Frage wie gewünscht funktioniert. Um Sie bei diesem Prozess zu unterstützen, gibt es die sog. "Testfälle". Diese funktionieren, wie die sog. "Unittests" in der Softwareentwicklung.
Richtige Antwort testen
Gehen Sie auf den Subreiter Randomisierung und Sicherheit. Im letzten Kapitel hatten wir hier die Varianten erstellt.
Unter Aktive Variante für Autoren bei Vorschau und Einheitstests, klicken Sie auf das Dropdown und wählen Sie Automatisch-Testfall hinzufügen. Unter Testfälle der Frage erscheint nun ein Automatisch-Testfall (Überprüft, ob die Musterantwort als korrekt bewertet wird).
Führen Sie den Testfall durch, indem Sie rechts neben ihm auf das Dropdown klicken und dort auf Testfall für alle Varianten ausführen. Es sollten alle Varianten erfolgreich getestet werden. Klicken Sie wieder auf Randomisierung und Sicherheit.
Jetzt können Sie sehen, was genau getestet wurde. Es werden die in der Variante berechneten Werte den "expected" Werten, die im Testfall hinterlegt sind, gegenübergestellt.
Wenn Sie nun rechts neben dem erstellten Testfall auf das Dropdown und Testfall bearbeiten klicken, sehen Sie die hinterlegten Werte:
ans1 = tans1PRT Punktzahl = 1PRT Strafe = 0Antwortnotiz = prt1-2-T
Antwort mit Feedback testen
Wenn Sie in den letzten Kapiteln Fragen getestet haben, dann hatten Sie vermutlich einmal die richtige Lösung ausprobiert, eine falsche und jede Antwort, die ein hinterlegtes Feedback triggert.
Erstellen wir noch einen Testfall, der das Feedback zur fehlenden Integrationskonstante auslöst. Wir scrollen ganz nach oben und klicken auf das Dropdown im Bereich "Aktive Variante für Autoren bei Vorschau und Einheitstests". Dort wählen wir den Eintrag Benutzerdefinierten Testfall hinzufügen. Wir tragen folgende Information ein:
Testfallbeschreibung = Antwort ohne Integrationskonstante
ans1 = int(ausdr,x)PRT Punktzahl = 0PRT Strafe = 0Antwortnotiz = prt1-0-F
In diesem Testfall enthält die Antwort keine Integrationskonstante. Es sollten keine Punkte ausgegeben und der erste Knoten sollte nicht bestanden werden (prüft ob sie richtig integriert haben).
Führen Sie den Testfall für alle Varianten aus. Er sollte glatt durchlaufen.
Lösungsvorgehen testen
Es empfiehlt sich für jeden möglichen Ausgang im Feedbackbaum einen Testfall anzulegen. Jedoch nicht alle möglichen Fälle haben wir bereits im Feedbackbaum behandelt. Diese kann man trotzdem prüfen, indem man einen Testfall dafür anlegt.
Wir erwarten von den Studierenden, dass sie beim Integrieren (1) den Exponten um 1 erhöhen und (2) durch den neuen Exponenten dividieren. Was aber wenn sie den Exponenten erhöhen und dann mit dem neuen Exponenten multiplizieren?
Lasst uns dafür einen neuen Testfall hinzufügen.
Testfallbeschreibung = Multiplizieren mit dem neuen Nenner statt Dividieren ergibt 0 Punkte
ans1 = a1*(-nn+1)*(x-a2)^(-nn+1)+cPRT Punktzahl = 0PRT Strafe = 0Antwortnotiz = prt0-F
Wir möchten, dass es keine Punkte gibt, wenn die Studierenden mit dem neuen Exponenten multiplizieren, also mit \(-nn+1\) statt dadurch zu dividieren. Das sollte für alle Varianten gelten.
Nutzen Sie wieder Testfall für alle Varianten ausführen.
Sie werden feststellen, dass der Test nicht für alle Varianten erfolgreich ist. Wenn Sie sich deren Seed-Nummern abspeichern und in der Variantenliste suchen, sehen Sie, dass diese Varianten eines gemeinsam haben: \(nn=2\) und damit \(-nn+1=-1\). Wir haben also Varianten gefunden, die "einfacher" sind, also über einen falschen Weg lösbar. Damit alle Varianten gleichwertig sind, ändern wir nn in 3+rand(4). Sie sehen, dass die Testfälle auch dabei helfen eine Gleichwertigkeit zu gewähren und zu testen ob sie auch wirklich das abprüfen, was sie sollen.
In der Übersicht der Testfälle wird übrigens immer nur das Ergebnis des Tests der aktiven Variante, also von einem Seed, angezeigt. Wenn also der Testfall nicht für alle Varianten glatt durchlief, aber eine erfolgreiche Variante in der Vorschau verwendet wird, wird der Testfall als "Bestanden" angezeigt.
Wenn Sie die aktive Variante ändern, dann müssen Sie erneut den Testfall ausführen, damit die Anzeige aktualisiert wird.