Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Generierten Code mit Tests absichern

Nach dieser Lektion: Ich kann Testfälle aus der Anforderung wählen und damit generierten Code prüfen.

Lektion, 55 Min.3 BefehleLab für KI-Coding-Agenten: mit opencode Code erklären und reparieren lassen und die Arbeit prüfen

Ein Test zeigt, ob der Vorschlag wirklich stimmt

Generierten Code zu testen heißt, ihn mit Eingaben zu starten, deren richtiges Ergebnis Sie vorher kennen. Ein Test ist die Antwort auf die Frage, ob dem Vorschlag zu trauen ist.

Ein Assistent schreibt eine Funktion, die Cent als Euro ausgibt. Sie läuft bei 180 Cent. Erst ein Test mit 5 Cent zeigt, ob sie überall stimmt.

Am Ende dieser Lektion

Notiz

Ich kann Testfälle aus der Anforderung wählen und damit generierten Code prüfen.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Testfalleine Eingabe mit dem Ergebnis, das Sie dafür erwarten
Anforderungder Satz, der sagt, was der Code tun soll
Randfallein Testfall am Rand des erlaubten Bereichs0 und 5 Cent
Grenzwertder letzte Wert, bei dem sich das Ergebnis ändert49 und 50
Erwartungswertdas Ergebnis, das Sie vor dem Lauf selbst ausrechnen

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Testfälle folgen der Anforderung, nicht dem Code

Leiten Sie Ihre Testfälle aus der Anforderung ab, also aus dem, was der Code tun soll. Lesen Sie sie nicht aus dem Code ab.

Wer die Erwartung aus dem Code ableitet, übernimmt dessen Fehler. Rechnen Sie jeden Erwartungswert selbst aus, bevor Sie den Code starten.

Ein Beispiel: Testfälle für einen Euro-Text

ArtEingabe in CentErwartungswertWas der Fall prüft
Normal1801,80 €Die gewöhnliche Rechnung
Mit Null im Rest1051,05 €Der Rest hat zwei Stellen
Randfall00,00 €Der kleinste Wert
Randfall50,05 €Weniger als ein Euro

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Vier Fälle gegen einen Vorschlag

Code: python
# Ein Vorschlag, der "Cent als Euro-Text" ausgeben soll.
def euro_text(cent):
    euro = cent // 100
    rest = cent % 100
    return str(euro) + "," + str(rest) + " €"

# Die erwarteten Texte haben Sie vorher selbst ausgerechnet.
faelle = [[180, "1,80 €"], [105, "1,05 €"], [0, "0,00 €"], [5, "0,05 €"]]
for fall in faelle:
    bekommen = euro_text(fall[0])
    if bekommen == fall[1]:
        print(fall[0], "ok")
    else:
        print(fall[0], "FEHLER, erwartet", fall[1], "bekommen", bekommen)

Warum der normale Fall nicht reicht

Der erste Fall, 180, besteht. Die anderen drei Fälle zeigen FEHLER, denn der Rest 5 wird als „5“ statt als „05“ geschrieben.

Hätten Sie nur 180 getestet, wäre der Vorschlag durchgegangen. Die Randfälle fanden den Fehler. Ändern Sie den Code so, dass der Rest zweistellig wird, und starten Sie neu.

Ein häufiger Fehler

Warnung

Viele lassen den Assistenten Code und Tests zugleich schreiben und halten beides für geprüft. Dieselbe falsche Annahme steckt dann in beiden. Rechnen Sie wenigstens die Erwartungswerte selbst aus und lesen Sie jeden Test einzeln.

Im Lab lassen Sie Randwerte laufen

Das Lab-Projekt hat eine Funktion asPounds, die Pence als Text mit Pfundzeichen ausgibt. Sie probieren sie mit Randwerten aus, ohne etwas zu ändern.

Danach lassen Sie die Tests des Projekts laufen und lesen nur die Zählung am Ende.

Einen kleinen Wert ausprobieren

Befehl
docker exec -w /home/node/project agent node -e "console.log(require('./shop').asPounds(5))"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Null und einen größeren Wert ausprobieren

Befehl
docker exec -w /home/node/project agent node -e "const s = require('./shop'); console.log(s.asPounds(0), s.asPounds(1999))"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Zählung der Projekttests lesen

Befehl
docker exec -w /home/node/project agent node --test 2>&1 | grep -E "^# (tests|pass|fail)"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Was die Läufe zeigen

Die ersten beiden Befehle geben £0.05, dann £0.00 £19.99 aus. Die Funktion asPounds besteht diese Randfälle.

Der dritte Befehl zählt die Projekttests: im unveränderten Projekt # tests 5, # pass 4 und # fail 1. Ein roter Test sagt Ihnen, dass noch etwas zu prüfen ist.

Über dieses Lab und seinen Quellcode: Lab für KI-Coding-Agenten: mit opencode Code erklären und reparieren lassen und die Arbeit prüfen

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.