
Testdriven utveckling (TDD) och felsökning
Strategier för att skriva enhetstester och använda testdriven utveckling för att säkerställa kodkvalitet.
Kort sammanfattning: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.
Om detta ämne
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.
Felsökning är en annan kritisk komponent där eleverna lär sig systematiska metoder för att identifiera och åtgärda problem. Istället för att gissa sig fram använder de verktyg som debuggers och loggning. Genom att arbeta med TDD och strukturerad felsökning i grupp utvecklar eleverna en mer professionell och analytisk inställning till sin egen och andras kod.
Nyckelfrågor
- Vad innebär testdriven utveckling?
- Hur skriver man effektiva enhetstester?
- Vilka strategier är bäst för systematisk felsökning?
Se upp för dessa missuppfattningar
Vanlig missuppfattningAtt testning tar för mycket tid från själva programmeringen.
Vad man ska lära ut istället
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.
Vanlig missuppfattningAtt ett godkänt test betyder att koden är helt felfri.
Vad man ska lära ut istället
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.
Idéer för aktivt lärande
Se alla aktiviteter→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.
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.
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.