Skip to content

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.

Årskurs 7Digitalt skapande och tekniska system4 aktiviteter30 min45 min

Lärandemål

  1. 1Identifiera och klassificera olika typer av fel i ett givet program.
  2. 2Designa en systematisk testplan för att verifiera funktionaliteten i ett enkelt program.
  3. 3Förklara hur kommentarer i kod bidrar till förståelse och underhåll.
  4. 4Utvärdera effektiviteten av en testplan baserat på dess förmåga att hitta fel.
  5. 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

TillämpaAnalyseraUtvärderaSkapaRelationsförmågaBeslutsfattandeSjälvreglering
45 min·Smågrupper

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

TillämpaAnalyseraUtvärderaSkapaRelationsförmågaBeslutsfattandeSjälvreglering
40 min·Individuellt

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

TillämpaAnalyseraUtvärderaSkapaRelationsförmågaBeslutsfattandeSjälvreglering
35 min·Hela klassen

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

TillämpaAnalyseraUtvärderaSkapaRelationsförmågaBeslutsfattandeSjälvreglering

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
Skapa ett uppdrag

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

Utgångsbiljett

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.

Kamratbedömning

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.

Snabbkontroll

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

BugEtt fel i programkoden som gör att programmet inte fungerar som förväntat eller kraschar.
TestfallEn specifik uppsättning instruktioner eller indata som används för att kontrollera om en del av programmet fungerar korrekt.
DokumentationBeskrivningar 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.

Redo att undervisa Testning och dokumentation?

Skapa ett komplett uppdrag med allt du behöver

Skapa ett uppdrag