Skip to content
Datalogi · Gymnasiet 3

Idéer för aktivt lärande

Testdriven utveckling (TDD) och felsökning

Testdriven utveckling (TDD) vänder på det traditionella sättet att programmera genom att skriva testerna innan själva koden. För eleverna innebär detta ett skifte i mindset där de tvingas definiera vad koden ska göra innan de börjar skriva den. Detta leder till högre kodkvalitet och färre buggar, vilket är centralt i kursplanens krav på kvalitetssäkring.

Skolverket KursplanerSkolverket DAODAT01: Centralt innehåll - Testning och felsökningSkolverket PRRPRR02: Kunskapskrav A - Kvalitetssäkring av kod
20–60 minPar → Hela klassen3 aktiviteter

Aktivitet 01

Lärande genom undervisning: Test-Pingis

I par skriver Elev A ett test som misslyckas. Elev B skriver precis tillräckligt med kod för att testet ska gå igenom. Sedan byter de roller. Detta tränar 'Red-Green-Refactor'-cykeln.

Vad innebär testdriven utveckling?
FörståTillämpaAnalyseraSkapaSjälvregleringRelationsförmåga
Skapa en komplett lektion

Aktivitet 02

Utforskande cirkel60 min · Smågrupper

Utforskande cirkel: Buggjakt

Läraren tillhandahåller ett program med avsiktliga, dolda buggar. Eleverna arbetar i smågrupper för att skriva enhetstester som avslöjar buggarna och dokumenterar sina fynd i en buggrapport.

Hur skriver man effektiva enhetstester?
AnalyseraUtvärderaSkapaSjälvregleringSjälvkännedom
Skapa en komplett lektion

Aktivitet 03

EPA (Enskilt-Par-Alla): Varför misslyckades testet?

Visa ett komplext testfall som misslyckas oväntat. Eleverna analyserar individuellt varför, diskuterar sina teorier i par och delar sedan sin felsökningsstrategi med klassen.

Vilka strategier är bäst för systematisk felsökning?
FörståTillämpaAnalyseraSjälvkännedomRelationsförmåga
Skapa en komplett lektion

Några anteckningar om att undervisa detta avsnitt


Se upp för dessa missuppfattningar

  • Att testning tar för mycket tid från själva programmeringen.

    TDD sparar tid i längden genom att minska tiden för felsökning senare. Genom att jämföra tidsåtgången i projekt med och utan TDD kan eleverna själva se vinsten.

  • Att ett godkänt test betyder att koden är helt felfri.

    Tester visar bara att koden gör det testet kontrollerar. Genom att diskutera 'edge cases' lär sig eleverna att skriva mer heltäckande tester.


Metoder som används i denna översikt