Konzepterklärung
Fokus auf Tests bedeutet, das Verhalten bewusst zu überprüfen, anstatt davon auszugehen, dass ein Programm korrekt ist, weil es einmal kompiliert wurde. In dieser Lektion verwenden Sie ein kleines C++-Beispiel, um zu sehen, wie eine direkte Assertion eine grundlegende Funktion vor stillen Fehlern schützen kann. Es geht noch nicht darum, eine große Testsuite zu erstellen. Es geht darum, das Denken in erwarteten Ergebnissen zu üben: Was sollte bei dieser Eingabe passieren, und wie kann ich es sofort überprüfen?
Wo der Code hingehört
- Beginnen Sie mit Variablen und Eingaben. Halten Sie Includes, die `main`-Funktion und Datentypen explizit.
- Fügen Sie die Verarbeitungslogik im mittleren Abschnitt hinzu.
- Beenden Sie mit Ausgabe und schneller Validierung.
Befehlsreferenz
- Geben Sie die erwartete Ausgabe für jeden Testfall an, bevor Sie das Programm ausführen.
- Fügen Sie eine weitere Assertion hinzu, die ein anderes, aber gültiges Eingabemuster überprüft.
- Halten Sie die getestete Funktion einfach, damit der Zweck jeder Überprüfung leicht verständlich ist.
- Verwenden Sie die Programmausgabe, um zu bestätigen, wann alle Assertions bestanden wurden.
Schritt-für-Schritt-Anleitung
- Führen Sie das Beispiel einmal aus und bestätigen Sie, dass beide Prüfungen fehlerfrei abgeschlossen werden.
- Lesen Sie jede Assertion und erklären Sie, welches Verhalten sie schützt.
- Fügen Sie einen weiteren Testfall für eine kleine Randbedingung hinzu, z. B. das Addieren von Null.
- Brechen Sie absichtlich eine Assertion, führen Sie den Code aus und beobachten Sie, wie der Fehler gemeldet wird.
- Stellen Sie die korrekte Erwartung wieder her und überprüfen Sie, ob das Programm wieder erfolgreich durchläuft.
Übungsaufgaben
- Schreiben Sie einen ähnlichen Test für eine Subtraktionsfunktion mit zwei verschiedenen Eingaben.
- Fügen Sie einen Testfall hinzu, der wiederholte Werte wie `add(4, 4)` überprüft.
- Erstellen Sie eine kleine Meldung, die nur ausgegeben wird, nachdem alle Prüfungen erfolgreich waren.
Coding-Challenges
- Entwerfen Sie drei kleine Tests, die einen Fehler in einer grundlegenden arithmetischen Hilfsfunktion schnell erkennen würden.
- Vergleichen Sie das Testen mit `assert` mit dem Testen nur durch das Ausgeben von Werten und erklären Sie, welche Methode hier schnelleres Feedback liefert.
Kleine Übungsaufgaben
- Benennen Sie einen Parameter um, damit die Funktion klarer lesbar ist.
- Fügen Sie eine erfolgreiche Assertion hinzu und führen Sie das Programm erneut aus.
- Schreiben Sie einen Satz, der beschreibt, was die Tests garantieren.
Häufiger Fehler
Skipping input validation or mixing logic/output in one unstructured block.
Mini-Challenge aus der Praxis
Build a small real-life example for this lesson topic using 3 clear steps: input, process, output.