Qualitätssicherung und TestingAktivitäten & Unterrichtsstrategien
Aktives Lernen funktioniert hier besonders gut, weil die Schülerinnen und Schüler direkt erleben, wie Unit-Tests und Code-Reviews die Softwarequalität verbessern. Durch praktische Anwendung verstehen sie, warum Qualitätsicherung kein theoretisches Konzept ist, sondern eine handfeste Notwendigkeit für sichere und wartbare Software.
Lernziele
- 1Analysieren Sie die Kriterien, die zur Bestimmung der 'Fertigstellung' und 'Sicherheit' von Software herangezogen werden.
- 2Entwerfen Sie Unit-Tests für gegebene Code-Module, um deren Funktionalität nachzuweisen.
- 3Bewerten Sie die Qualität eines Code-Snippets anhand von Kriterien für Testbarkeit und Wartbarkeit.
- 4Erklären Sie die Bedeutung von Code-Reviews für die Fehlererkennung und Wissensvermittlung im Team.
- 5Erstellen Sie eine einfache technische Dokumentation für eine kleine Softwarekomponente.
Möchten Sie einen vollständigen Unterrichtsentwurf mit diesen Lernzielen? Mission erstellen →
Paararbeit: Unit-Tests schreiben
Schülerinnen und Schüler erhalten einen Code-Snippet und schreiben Unit-Tests dazu. Sie testen Edge-Cases und dokumentieren die Tests. Abschließend besprechen sie die Ergebnisse.
Vorbereitung & Details
Wann gilt eine Software als 'fertig' und 'sicher'?
Moderationstipp: Fordern Sie die Paare auf, die Tests zuerst auf Papier zu skizzieren, bevor sie Code schreiben, um das Konzept der Testfälle zu verinnerlichen.
Setup: Präsentationsbereich im vorderen Teil des Raumes oder mehrere Lernstationen
Materials: Themen-Zuweisungskarten, Vorlage zur Unterrichtsplanung, Feedbackbogen für Mitschüler, Materialien für visuelle Hilfsmittel
Kleingruppen: Code-Review simulieren
Gruppen reviewen den Code einer anderen Gruppe mit Checklisten. Sie notieren Stärken, Schwächen und Verbesserungsvorschläge. Eine kurze Präsentation schließt ab.
Vorbereitung & Details
Wie schreibt man testbaren Code und warum ist das für die Wartung wichtig?
Moderationstipp: Geben Sie den Kleingruppen klare Rollen vor: eine Person ist Reviewerin, die andere Autorin. Wechseln Sie die Rollen nach der Hälfte der Zeit.
Setup: Präsentationsbereich im vorderen Teil des Raumes oder mehrere Lernstationen
Materials: Themen-Zuweisungskarten, Vorlage zur Unterrichtsplanung, Feedbackbogen für Mitschüler, Materialien für visuelle Hilfsmittel
Individuell: Testbarkeit überprüfen
Jede Schülerin und jeder Schüler refaktoriert einen gegebenen Code für bessere Testbarkeit. Sie schreiben Tests und vergleichen mit dem Original.
Vorbereitung & Details
Welche Rolle spielt die Dokumentation für die Langlebigkeit eines Systems?
Moderationstipp: Verwenden Sie bewusst schlecht strukturierten Code für die individuelle Aufgabe, um die Bedeutung von Testbarkeit direkt erlebbar zu machen.
Setup: Präsentationsbereich im vorderen Teil des Raumes oder mehrere Lernstationen
Materials: Themen-Zuweisungskarten, Vorlage zur Unterrichtsplanung, Feedbackbogen für Mitschüler, Materialien für visuelle Hilfsmittel
Ganzer Unterricht: Review-Runde
Der gesamte Klassenraum führt eine Live-Code-Review durch. Jede Schülerin und jeder Schüler gibt Feedback zu einem gemeinsamen Code-Beispiel.
Vorbereitung & Details
Wann gilt eine Software als 'fertig' und 'sicher'?
Setup: Präsentationsbereich im vorderen Teil des Raumes oder mehrere Lernstationen
Materials: Themen-Zuweisungskarten, Vorlage zur Unterrichtsplanung, Feedbackbogen für Mitschüler, Materialien für visuelle Hilfsmittel
Dieses Thema unterrichten
Erleben Sie die Qualitätssicherung als etwas Lebendiges und nicht als formale Pflicht. Zeigen Sie den Schülerinnen und Schülern, wie sie durch frühes Testen und Reviewen Zeit sparen, statt sie zu verlieren. Vermeiden Sie es, Qualitätssicherung als separate Phase darzustellen. Betonen Sie stattdessen, dass sie von Anfang an Teil des Entwicklungsprozesses sein muss. Die Forschung zeigt, dass konkrete Beispiele und das direkte Erleben von Fehlern die nachhaltigste Lernwirkung haben.
Was Sie erwartet
Die Schülerinnen und Schüler können nach diesen Aktivitäten Unit-Tests sinnvoll schreiben, Code-Reviews konstruktiv durchführen und Testbarkeit als Qualitätsmerkmal erkennen. Sie verstehen, dass Qualitätssicherung ein kontinuierlicher Prozess ist und nicht erst am Projektende beginnt.
Diese Aktivitäten sind ein Ausgangspunkt. Die vollständige Mission ist das Erlebnis.
- Vollständiges Moderationsskript mit Lehrkraft-Dialogen
- Druckfertige Schülermaterialien, bereit für den Unterricht
- Differenzierungsstrategien für jeden Lerntyp
Vorsicht vor diesen Fehlvorstellungen
Häufige FehlvorstellungWährend der Paararbeit Unit-Tests schreiben, wird oft angenommen, dass Unit-Tests alle Fehler finden.
Was Sie stattdessen lehren sollten
Betonen Sie in der Instruktion, dass Unit-Tests nur isolierte Einheiten prüfen. Nutzen Sie die Gelegenheit, um zu zeigen, wie Integrationstests und manuelle Checks die Testabdeckung ergänzen müssen.
Häufige FehlvorstellungWährend der Kleingruppen Code-Review simulieren, wird gesagt, dass Reviews nur bei Teamarbeit sinnvoll sind.
Was Sie stattdessen lehren sollten
Weisen Sie in der Aufgabenstellung explizit darauf hin, dass Reviews auch bei solo-Entwicklung den Code verbessern und Wissen sichern. Nutzen Sie die simulierte Situation, um dies praktisch zu verdeutlichen.
Häufige FehlvorstellungWährend der individuellen Aufgabe Testbarkeit überprüfen, wird Dokumentation als unwichtig für Entwicklerinnen und Entwickler angesehen.
Was Sie stattdessen lehren sollten
Fordern Sie in der Aufgabenstellung auf, den Code nicht nur zu testen, sondern auch die Dokumentation auf Entwicklerfreundlichkeit zu prüfen. Zeigen Sie, wie fehlende Dokumentation Wartungsprobleme verursacht.
Ideen zur Lernstandserhebung
Nach der Paararbeit Unit-Tests schreiben führen die Schülerinnen und Schüler eine gegenseitige Bewertung durch. Sie prüfen, ob die Tests die Funktionalität abdecken und ob der Code lesbar ist. Sammeln Sie die Feedbacks ein und besprechen Sie typische Muster in der nächsten Stunde.
Nach der Kleingruppen Code-Review simulieren formulieren die Schülerinnen und Schüler auf einem Zettel drei Kriterien für 'fertige' Software und ein Beispiel für einen sinnvollen Review-Kommentar. Diese Zettel dienen als Grundlage für eine abschließende Diskussion über Qualitätssicherung.
Während der individuellen Aufgabe Testbarkeit überprüfen präsentieren Sie einen Code-Abschnitt und lassen die Schülerinnen und Schüler per Handzeichen signalisieren, ob er gut oder schlecht testbar ist. Fragen Sie zwei freiwillige Lernende nach ihrer Begründung, um das Verständnis zu vertiefen.
Erweiterungen & Unterstützung
- Fordern Sie die schnellen Lernenden auf, einen schlechten Code-Abschnitt so umzuschreiben, dass er besser testbar wird, und alle Änderungen in einem Code-Review-Kommentar zu dokumentieren.
- Geben Sie den langsameren Lernenden eine Vorlage mit vorgegebenen Testfällen, die sie nur noch ausführen und kommentieren müssen.
- Vertiefen Sie das Thema durch eine Diskussion, wie automatisierte Testwerkzeuge (z.B. CI/CD-Pipelines) die bisher gelernten Methoden ergänzen können.
Schlüsselvokabular
| Unit-Test | Ein Test, der eine einzelne, isolierte Einheit (z. B. eine Funktion oder Methode) des Quellcodes überprüft, um sicherzustellen, dass sie korrekt funktioniert. |
| Code-Review | Ein systematischer Prozess, bei dem Entwickler den Quellcode anderer Teammitglieder überprüfen, um Fehler zu finden, die Codequalität zu verbessern und Wissen zu teilen. |
| Testbarkeit | Die Eigenschaft von Software, die es ermöglicht, ihre Funktionalität durch Tests einfach und effektiv zu überprüfen. |
| Refactoring | Die Verbesserung der internen Struktur von bestehendem Quellcode, ohne sein externes Verhalten zu verändern, oft um die Lesbarkeit und Wartbarkeit zu erhöhen. |
| Bug-Tracking | Der Prozess der Erfassung, Verfolgung und Verwaltung von Softwarefehlern (Bugs) während des gesamten Entwicklungszyklus. |
Vorgeschlagene Methoden
Planungsvorlagen für Informatik Oberstufe: Komplexe Systeme und Theoretische Grundlagen
Mehr in Software-Engineering und Abschlussprojekt
Einführung in Software-Engineering
Die Schülerinnen und Schüler lernen die Phasen des Softwareentwicklungsprozesses und die Bedeutung von Software-Engineering kennen.
2 methodologies
Anforderungsanalyse und -management
Die Schülerinnen und Schüler lernen, Softwareanforderungen zu erheben, zu dokumentieren und zu verwalten.
2 methodologies
Software-Design und Architektur
Die Schülerinnen und Schüler entwerfen Softwarearchitekturen und wenden Designprinzipien an.
2 methodologies
Agile Softwareentwicklung (Scrum)
Projektmanagement und iterative Entwicklungsprozesse.
3 methodologies
Versionskontrolle mit Git
Die Schülerinnen und Schüler lernen den Umgang mit Versionskontrollsystemen zur Teamarbeit und Code-Verwaltung.
2 methodologies
Bereit, Qualitätssicherung und Testing zu unterrichten?
Erstellen Sie eine vollständige Mission mit allem, was Sie brauchen
Mission erstellen