Zum Inhalt springen
Informatik · Klasse 13

Ideen für aktives Lernen

Qualitätssicherung und Testing

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.

KMK BildungsstandardsKMK: Sekundarstufe II - Modellieren und ImplementierenKMK: Sekundarstufe II - Strukturieren und Vernetzen
20–45 Min.Partnerarbeit → Ganze Klasse4 Aktivitäten

Aktivität 01

Lernen durch Lehren30 Min. · Partnerarbeit

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.

Wann gilt eine Software als 'fertig' und 'sicher'?

ModerationstippFordern Sie die Paare auf, die Tests zuerst auf Papier zu skizzieren, bevor sie Code schreiben, um das Konzept der Testfälle zu verinnerlichen.

Worauf zu achten istDie Schülerinnen und Schüler erhalten jeweils ein kleines Code-Snippet (z. B. eine Funktion in Python). Sie schreiben zwei Unit-Tests dafür und geben dann ihren Code und die Tests an eine Partnerin oder einen Partner weiter. Die Partnerin/der Partner führt die Tests aus und gibt Feedback, ob die Tests die Funktionalität abdecken und ob der Code selbst gut lesbar ist.

VerstehenAnwendenAnalysierenErschaffenSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 02

Lernen durch Lehren45 Min. · Kleingruppen

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.

Wie schreibt man testbaren Code und warum ist das für die Wartung wichtig?

ModerationstippGeben Sie den Kleingruppen klare Rollen vor: eine Person ist Reviewerin, die andere Autorin. Wechseln Sie die Rollen nach der Hälfte der Zeit.

Worauf zu achten istAuf einem Zettel sollen die Schülerinnen und Schüler drei Kriterien nennen, die eine Software 'fertig' machen. Anschließend sollen sie ein Beispiel für einen Code-Review-Kommentar formulieren, der auf ein potenzielles Problem im Code hinweist.

VerstehenAnwendenAnalysierenErschaffenSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 03

Lernen durch Lehren20 Min. · Einzelarbeit

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.

Welche Rolle spielt die Dokumentation für die Langlebigkeit eines Systems?

ModerationstippVerwenden Sie bewusst schlecht strukturierten Code für die individuelle Aufgabe, um die Bedeutung von Testbarkeit direkt erlebbar zu machen.

Worauf zu achten istDer Lehrer präsentiert einen kurzen Code-Abschnitt, der bewusst schlecht strukturiert oder schwer zu testen ist. Die Schülerinnen und Schüler sollen per Handzeichen signalisieren, ob sie den Code als 'gut testbar' oder 'schwer testbar' einstufen und kurz begründen, warum.

VerstehenAnwendenAnalysierenErschaffenSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 04

Lernen durch Lehren40 Min. · Ganze Klasse

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.

Wann gilt eine Software als 'fertig' und 'sicher'?

Worauf zu achten istDie Schülerinnen und Schüler erhalten jeweils ein kleines Code-Snippet (z. B. eine Funktion in Python). Sie schreiben zwei Unit-Tests dafür und geben dann ihren Code und die Tests an eine Partnerin oder einen Partner weiter. Die Partnerin/der Partner führt die Tests aus und gibt Feedback, ob die Tests die Funktionalität abdecken und ob der Code selbst gut lesbar ist.

VerstehenAnwendenAnalysierenErschaffenSelbststeuerungBeziehungsfähigkeit
Komplette Unterrichtsstunde erstellen

Vorlagen

Vorlagen, die zu diesen Informatik-Aktivitäten passen

Nutzen, bearbeiten, drucken oder teilen.

Einige Hinweise zum Unterrichten dieser Einheit

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.

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.


Vorsicht vor diesen Fehlvorstellungen

  • Während der Paararbeit Unit-Tests schreiben, wird oft angenommen, dass Unit-Tests alle Fehler finden.

    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.

  • Während der Kleingruppen Code-Review simulieren, wird gesagt, dass Reviews nur bei Teamarbeit sinnvoll sind.

    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.

  • Während der individuellen Aufgabe Testbarkeit überprüfen, wird Dokumentation als unwichtig für Entwicklerinnen und Entwickler angesehen.

    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.


In dieser Übersicht verwendete Methoden