Home

kodedekning

Kodedekning, eller code coverage, är ett mått på i vilken utsträckning programkoden exekveras av en testsuite. Måttet används för att bedöma hur mycket av koden som testas och vilka delar som eventuellt lämnas oförsedda av tester. Resultatet presenteras ofta som en procentandel av den totala koden eller av särskilda kodmoduler.

Vanliga dekningstyper inkluderar: statementsdekning (andel av satser som körs), branchesdekning (andel av villkorsbeslut som evalueras), väg-

Så här mäts kodedekning oftast: koden instrumenteras av ett verktyg som spårar körningen när testerna körs,

Syftet med kodedekning är att ge en överblick över testtäckningen och att identifiera områden som saknar tester.

Bästa praxis är att använda kodedekning som en indikator snarare än mål i sig, kombinera flera täckningstyper,

eller
pathdekning
(hur
många
exekveringsvägar
som
täcks),
konditionsdekning
(även
kallad
condition/dekning)
och
flera
konditionsdekningar.
Vissa
verktyg
stödjer
även
moduldäckning,
funktionell
dekning
och
tidsbaserad
dekning.
Olika
typer
av
dekning
ger
olika
insikter
i
testsviten.
och
verktyget
producerar
en
rapport
som
visar
vilka
rader
eller
bråkdelar
av
koden
som
har
körts.
Exempel
på
verktyg
inkluderar
JaCoCo
(Java),
Istanbul/nyc
(JavaScript),
gcov
(C/C++)
och
Coverlet
(.NET).
Rapporten
kan
användas
för
att
guida
vidare
testdesign
och
prioriteringar.
Det
är
ett
användbart
kvalitetsmått
men
har
begränsningar:
hög
dekning
garanterar
inte
frihet
från
fel
och
kan
leda
till
att
tester
blir
mekaniska
eller
täcker
trivial
kod.
Dessutom
kan
kompletterande
mätningar
och
god
testdesign
ge
bättre
värde
än
dekning
i
sig.
integrera
mätningen
i
kontinuerlig
integration
och
fokusera
på
kritiska
eller
riskbaserade
delar
av
applikationen.