Test-driven development (TDD) — overblik
Kommunikation og IT A · HTX · A-niveau · Systemudvikling
💻 Test-Driven Development
TDD er en udviklingsmetodik: skriv testen FØR du skriver koden.
Red-Green-Refactor cyklen:
1. Red: skriv en test der fejler (koden eksisterer ikke endnu)
2. Green: skriv minimal kode der får testen til at bestå
3. Refactor: forbedre koden uden at bryde testen
Eksempel med pytest:
```python
Test FØRST
def test_add():
assert add(2, 3) == 5
assert add(-1, 1) == 0
assert add(0, 0) == 0
Derefter implementér
def add(a, b):
return a + b
```
Fordele:
- Tvinger til at tænke over adfærd før implementering
- Automatiseret regressionstestning
- Bedre kodedesign (testbar kode er typisk godt struktureret)
- Dokumentation via tests
Ulemper: tager længere tid at komme i gang, kræver disciplin.
TDD vs. BDD (Behavior-Driven Development): BDD fokuserer på bruger-adfærd med Given-When-Then syntax.
Læringsmål
- Følge Red-Green-Refactor cyklen i et simpelt projekt
- Skrive meningsfulde tests med pytest
- Forklare fordelene ved TDD for kodekvalitet
- Identificere hvad der gør kode svær at teste
Sådan kan du arbejde med emnet
- Forklar rækkefølgen i red-green-refactor
- Skriv en test for en funktion der lægger to tal sammen, før funktionen er implementeret
- Diskutér en fordel og en ulempe ved TDD
Træningsforslag
- Omskriv et eksisterende projekt til TDD med pytest
- Prøv kata-øvelse: skriv tests for FizzBuzz INDEN du implementér
- Mål test-coverage med pytest-cov og stræb efter 80%+
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis