Skip to main content

Verwenden der automatischen Bewertung

Du kannst automatisch Feedback zu Codeübermittlungen von deinen Kursteilnehmern bereitstellen, indem du Tests konfigurierst, die im Aufgabenrepository ausgeführt werden.

Wer kann dieses Feature verwenden?

Organization owners who are admins for a classroom can set up and use autograding on assignments in a classroom. Weitere Informationen zu Kursraumadministrator*innen findest du unter Verwalten von Kursräumen.

Informationen zur automatischen Bewertung

Du kannst die automatische Bewertung verwenden, um die Aufgaben eines Kursteilnehmers automatisch in GitHub Classroom zu überprüfen. Du konfigurierst Tests für eine Aufgabe, und die Tests werden jedes Mal sofort ausgeführt, wenn ein Kursteilnehmer einen Push für ein Aufgabenrepository auf GitHub.com ausführt. Der Kursteilnehmer kann die Testergebnisse anzeigen, Änderungen vornehmen und pushen, um neue Ergebnisse anzuzeigen.

Nachdem ein Kursteilnehmer eine Aufgabe angenommen hat, führt GitHub Actions bei jedem Push in das Aufgabenrepository die Befehle für deinen Test mit automatischer Bewertung in einer Linux-Umgebung aus, die den neuesten Code des Kursteilnehmers enthält. GitHub Classroom erstellt die notwendigen Workflows für GitHub Actions. Du benötigst keine Erfahrung mit GitHub Actions, um die automatische Bewertung zu nutzen. Weitere Informationen zur Verwendung von Workflows und GitHub Actions findest du unter Informationen zur fortlaufenden Integration.

Du kannst ein Testframework verwenden, einen benutzerdefinierten Befehl ausführen, Eingabe-/Ausgabetests schreiben oder verschiedene Testmethoden kombinieren. Die Linux-Umgebung zur automatischen Bewertung umfasst viele beliebte Softwaretools. Weitere Informationen findest du in den Details zur neuesten Version von Ubuntu unter Verwenden von auf GitHub gehosteten Runnern.

Eine Übersicht darüber, welche Kursteilnehmer die Tests mit automatischer Bewertung bestanden haben, erhältst du, indem du in GitHub Classroom zur Aufgabe navigierst. Ein grünes Häkchen bedeutet, dass alle Tests für den Kursteilnehmer bestanden wurden, bei einem roten X wurden einige oder alle Tests nicht bestanden. Wenn du Punkte für einen oder mehrere Tests vergibst, zeigt eine Blase die Punktzahl für die Tests im Verhältnis zur maximal möglichen Punktzahl für die Aufgabe an.

Bewertungsmethoden

Es gibt zwei Bewertungsmethoden: E/A-Tests (Eingabe/Ausgabe) und Ausführungsbefehlstests.

E/A-Test

Ein E/A-Test führt optional einen Setupbefehl aus und liefert dann eine Standardeingabe für einen Testbefehl. GitHub Classroom wertet die Ausgabe des Testbefehls anhand eines erwarteten Ergebnisses aus.

EinstellungBESCHREIBUNG
TestnameDer Name des Tests, um den Test in Protokollen zu identifizieren
SetupbefehlOptional: Ein Befehl, der vor den Tests ausgeführt wird, z. B. Kompilierung oder Installation
AusführungsbefehlDer Befehl zum Ausführen des Tests und zum Generieren der Standardausgabe für die Auswertung
EingabenStandardeingabe für den Ausführungsbefehl
Erwartete AusgabeDie Ausgabe, die du als Standardausgabe des Ausführungsbefehls erwartest
VergleichDie Art des Vergleichs zwischen der Ausgabe des Ausführungsbefehls und der erwarteten Ausgabe

  • Enthalten: Der Test gilt als bestanden, wenn die erwartete Ausgabe
    an beliebiger Stelle in der Standardausgabe des Ausführungsbefehls enthalten ist.
  • Genau: Der Test gilt als bestanden, wenn die erwartete Ausgabe
    exakt mit der Standardausgabe des Ausführungsbefehls übereinstimmt.
  • RegEx: Der Test gilt als bestanden, wenn der reguläre Ausdruck in der erwarteten
    Ausgabe mit der Standardausgabe des Ausführungsbefehls übereinstimmt.
TimeoutZeitraum in Minuten, die ein Test ausgeführt werden kann, bevor ein Fehler auftritt.
PointsOptional: Die Anzahl von Punkten, die für den Test in eine Gesamtpunktzahl einfließen

Ausführungsbefehlstest

Ein Ausführungsbefehlstest führt einen Setupbefehl und anschließend einen Testbefehl aus. GitHub Classroom überprüft den Beendigungsstatus des Testbefehls. Der Exitcode 0 bedeutet, dass der Vorgang erfolgreich war, jeder andere Exitcode führt zu einem Fehler.

GitHub Classroom stellt Voreinstellungen für sprachspezifische Ausführungsbefehlstests für eine Vielzahl von Programmiersprachen bereit. Zum Beispiel wird für den Test Knoten ausführen der Setupbefehl mit npm install und der Testbefehl mit npm test vorausgefüllt.

EinstellungBESCHREIBUNG
TestnameDer Name des Tests, um den Test in Protokollen zu identifizieren
SetupbefehlOptional: Ein Befehl, der vor den Tests ausgeführt wird, z. B. Kompilierung oder Installation
AusführungsbefehlDer Befehl zum Ausführen des Tests und zum Generieren eines Exitcodes für die Auswertung
TimeoutZeitraum in Minuten, die ein Test ausgeführt werden kann, bevor ein Fehler auftritt.
PointsOptional: Die Anzahl von Punkten, die für den Test in eine Gesamtpunktzahl einfließen

Konfigurieren von Tests mit automatischer Bewertung für eine Aufgabe

Du kannst beim Erstellen einer neuen Aufgabe Tests mit automatischer Bewertung hinzufügen. Weitere Informationen findest du unter Erstellen einer Einzelaufgabe oder Erstellen einer Gruppenaufgabe.

Du kannst Tests mit automatischer Bewertung für eine vorhandene Aufgabe hinzufügen, bearbeiten oder löschen. Alle Änderungen, die du über die Classroom-Benutzeroberfläche vornimmst, werden in die vorhandenen Repositorys der Kursteilnehmer gepusht. Deshalb solltest du beim Bearbeiten deiner Tests mit Bedacht vorgehen.

  1. Melde dich bei GitHub Classroom an.

  2. Klicke in der Liste der Klassenzimmer auf das Klassenzimmer, das du anzeigen möchtest.

  3. Klicke rechts neben der Aufgabe, die du bearbeiten möchtest, auf .

  4. Klicke in der linken Seitenleiste auf Bewertung und Feedback.

  5. Füge einen Test mit automatischer Bewertung hinzu, bearbeite oder lösche ihn.

    • Wähle unter „Tests mit automatischer Bewertung hinzufügen“ das Dropdownmenü Test hinzufügen aus, und klicke dann auf die gewünschte Bewertungsmethode. Konfiguriere den Test, und klicke dann auf Testfall speichern.

    • Um einen Test zu bearbeiten, klickst du rechts neben dem Testnamen auf . Konfiguriere den Test, und klicke dann auf Testfall speichern.

    • Um einen Test zu löschen, klickst du rechts neben dem Testnamen auf .

  6. Klicke unten auf der Seite auf Aufgabe aktualisieren.

Anzeigen und Herunterladen von Ergebnissen für Tests mit automatischer Bewertung

Herunterladen von Ergebnissen der automatischen Bewertung

Über die Schaltfläche „Herunterladen“ kannst du eine CSV-Datei mit den Ergebnissen der automatischen Bewertung für deine Kursteilnehmer herunterladen. Dadurch wird eine CSV-Datei generiert und heruntergeladen, die einen Link zum Repository des Kursteilnehmers, das zugehörige GitHub-Handle, die Kursplan-ID, den Zeitstempel der Übermittlung und die Punktzahl der automatischen Bewertung enthält.

Anzeigen einzelner Protokolle

  1. Melde dich bei GitHub Classroom an.
  2. Klicke in der Liste der Klassenzimmer auf das Klassenzimmer, das du anzeigen möchtest.
  3. Klicke in der Liste der Aufgaben auf die Aufgabe, die du anzeigen möchtest.
  4. Klicke rechts neben einer Übermittlung auf .
  5. Überprüfe die Testausgabe. Weitere Informationen findest du unter Verwenden von Workflowausführungsprotokollen.

Weiterführende Themen