Testning och dokumentationAktiviteter & undervisningsstrategier
Att lära sig testa och dokumentera kod kräver praktisk erfarenhet, eftersom det handlar om att upptäcka saker i sin egen och andras kod som man inte själv tänkt på. Genom att aktivt byta, granska och förbättra program i olika konstellationer får eleverna se hur olika perspektiv avslöjar brister och stärker förståelsen för robust programmering.
Lärandemål
- 1Identifiera och klassificera olika typer av fel i ett givet program.
- 2Designa en systematisk testplan för att verifiera funktionaliteten i ett enkelt program.
- 3Förklara hur kommentarer i kod bidrar till förståelse och underhåll.
- 4Utvärdera effektiviteten av en testplan baserat på dess förmåga att hitta fel.
- 5Skapa tydlig dokumentation för en enkel algoritm.
Vill du en komplett lektionsplan med dessa mål? Skapa ett uppdrag →
Parvis Peer Testing: Byt och testa kod
Låt elever skriva ett enkelt program i Scratch med loopar och villkor. Byt program med en partner och använd en testplan med tre testfall: normalt fall, gränsfall och felaktig inmatning. Diskutera funna buggar tillsammans.
Förberedelse & detaljer
Varför är det viktigt att låta andra testa ens programkod?
Handledningstips: Under Parvis Peer Testing, uppmuntra eleverna att byta roller så att båda får erfarenhet av att testa och att förklara sitt eget arbete.
Setup: Gruppbord med material för den aktuella uppgiften
Materials: Problembeskrivning/uppgiftspaket, Rollkort (samtalsledare, sekreterare, tidtagare, rapportör), Protokoll för problemlösningsprocessen, Matris för utvärdering av lösningar
Gruppworkshop: Designa testplan
Dela in i små grupper. Ge ett färdigt program med kända fel. Grupperna skapar en testplan med steg-för-steg-tester och förutsägelser om resultat. Presentera planen för klassen.
Förberedelse & detaljer
Designa en testplan för ett enkelt program.
Handledningstips: Vid Gruppworkshop: Designa testplan, ge eleverna konkreta exempel på testfall innan de börjar, t.ex. 'Vad händer om användaren skriver bokstäver istället för siffror i en räknare?'
Setup: Gruppbord med material för den aktuella uppgiften
Materials: Problembeskrivning/uppgiftspaket, Rollkort (samtalsledare, sekreterare, tidtagare, rapportör), Protokoll för problemlösningsprocessen, Matris för utvärdering av lösningar
Dokumentationsutmaning: Förbättra andras kod
Elever får en okommenterad kod från en kompis. Lägg till kommentarer, beskriv förändringar i en loggfil och testa koden. Jämför original och förbättrad version i helklassdiskussion.
Förberedelse & detaljer
Förklara hur god dokumentation underlättar samarbete och underhåll av kod.
Handledningstips: I Dokumentationsutmaningen, begränsa eleverna till ett kort kodavsnitt så att de hinner fokusera på kvalitet istället för kvantitet i kommentarerna.
Setup: Gruppbord med material för den aktuella uppgiften
Materials: Problembeskrivning/uppgiftspaket, Rollkort (samtalsledare, sekreterare, tidtagare, rapportör), Protokoll för problemlösningsprocessen, Matris för utvärdering av lösningar
Helklass Code Review: Gemensam felsökning
Visa ett program på projektorn med dolda fel. Elever föreslår tester i tur och röstning, dokumenterar resultaten på delade tavlor. Upprepa med elevers egna bidrag.
Förberedelse & detaljer
Varför är det viktigt att låta andra testa ens programkod?
Handledningstips: Under Helklass Code Review, skriv upp elevernas förslag på tavlan och jämför dem med den officiella felsökningsmetodiken för att visa samband.
Setup: Gruppbord med material för den aktuella uppgiften
Materials: Problembeskrivning/uppgiftspaket, Rollkort (samtalsledare, sekreterare, tidtagare, rapportör), Protokoll för problemlösningsprocessen, Matris för utvärdering av lösningar
Att undervisa detta ämne
Erfarna lärare brukar börja med att visa hur små ändringar i kod kan ge stora effekter, och sedan låta eleverna upptäcka detta själva genom praktiska tester. Undvik att föreläsa om dokumentation på en gång – låt eleverna först uppleva frustrationen av att inte förstå andras kod, innan de inser behovet av tydliga kommentarer. Forskning visar att elever lär sig bäst när de får feedback direkt på sitt arbete, så planera aktiviteter där de snabbt kan jämföra sina tester och dokumentation med en kamrats.
Vad du kan förvänta dig
När eleverna har arbetat med aktiviteterna ska de kunna planera tester som täcker flera scenarier, identifiera och beskriva fel i kod, samt skriva tydliga kommentarer som förklarar funktion och syfte. De ska också kunna förklara hur dokumentation underlättar samarbete och framtida felsökning.
De här aktiviteterna är en startpunkt. Det fullständiga uppdraget är upplevelsen.
- Komplett handledningsmanuskript med lärardialoger
- Utskriftsklart elevmaterial, redo för klassrummet
- Differentieringsstrategier för varje typ av elev
Se upp för dessa missuppfattningar
Vanlig missuppfattningUnder Parvis Peer Testing, lyssna efter elever som säger att deras kod 'alltid fungerar för dem'.
Vad man ska lära ut istället
Be eleverna att tillsammans testa koden med oväntad input, t.ex. negativa tal eller tomma strängar, och diskutera hur det påverkar resultatet. Använd deras upptäckter för att visa varför systematiska tester är nödvändiga.
Vanlig missuppfattningUnder Dokumentationsutmaningen, observera elever som struntar i att skriva kommentarer.
Vad man ska lära ut istället
Be eleverna att först läsa varandras okommenterade kod och försöka förstå den, sedan diskutera vilka delar som var svårast att förstå. Använd deras reflektioner för att visa hur tydliga kommentarer kan underlätta arbetet.
Vanlig missuppfattningUnder Gruppworkshop: Designa testplan, hör elever säga att 'en test räcker för att säga att koden fungerar'.
Vad man ska lära ut istället
Utmana eleverna att skapa flera testfall med olika typer av input, t.ex. gränsvärden och ogiltiga värden. Jämför deras testplaner med varandra för att visa hur olika scenarier avslöjar olika fel.
Bedömningsidéer
Efter Parvis Peer Testing, ge eleverna ett kort kodavsnitt med en avsiktlig bugg. Be dem att skriva en mening om buggen och en mening om hur de skulle testa för att hitta den, baserat på sin erfarenhet från aktiviteten.
Under Dokumentationsutmaningen, låt eleverna i par bedöma varandras dokumentation utifrån tydlighet och täckning av viktiga funktioner. Använd en enkel checklista och ge feedback på hur väl kommentarerna förklarar koden för en ny läsare.
Under Helklass Code Review, ställ frågor som 'Vilket testfall avslöjade flest fel i ert program?' och 'Vad var den viktigaste förbättringen av dokumentationen?' Använd svaren för att bedöma om eleverna förstår sambandet mellan tester, felsökning och dokumentation.
Fördjupning & stöd
- Utmaning: Be eleverna att skapa en testplan för ett större program, t.ex. ett spel, som inkluderar minst fem olika scenarier och en motivering för varje testfall.
- Scaffolding: Ge eleverna en halvfärdig testplan att utgå från, där de fyller i saknade delar eller skriver om otydliga instruktioner.
- Deeper: Låt eleverna analysera en större kodbas, t.ex. en klasskamrats projekt, och skriva en användarmanual för hur programmet fungerar och vilka tester som är nödvändiga innan det släpps vidare.
Nyckelbegrepp
| Bug | Ett fel i programkoden som gör att programmet inte fungerar som förväntat eller kraschar. |
| Testfall | En specifik uppsättning instruktioner eller indata som används för att kontrollera om en del av programmet fungerar korrekt. |
| Dokumentation | Beskrivningar och kommentarer som läggs till i koden för att förklara hur den fungerar, dess syfte och hur den används. |
| Felsökning (Debugging) | Processen att identifiera, analysera och åtgärda fel (buggar) i programkod. |
Föreslagen metodik
Planeringsmallar för Digitalt skapande och tekniska system
Mer i Algoritmernas logik och struktur
Algoritmer i vardagen
Eleverna identifierar algoritmer i vardagliga processer och diskuterar deras effektivitet.
2 methodologies
Sekvenser och steg-för-steg instruktioner
Eleverna skapar och testar sekventiella instruktioner för att lösa enkla problem.
2 methodologies
Introduktion till programmeringsspråk
Eleverna får en första inblick i ett visuellt programmeringsspråk och dess grundläggande syntax.
2 methodologies
Villkorliga satser (IF/ELSE)
Eleverna lär sig att implementera logiska val i sina program med hjälp av villkorliga satser.
2 methodologies
Loopar och upprepningar
Eleverna utforskar hur loopar används för att upprepa instruktioner effektivt.
2 methodologies
Redo att undervisa Testning och dokumentation?
Skapa ett komplett uppdrag med allt du behöver
Skapa ett uppdrag