Jeg bruker Bullseye kodedekkingsverktøy. Det er flott. Jeg er interessert i å vite at den fungerer internt. Hvordan fungerer det egentlig?
Svar
Dette er et verktøy-agnostisk spørsmål. Alle fungerer på samme måte: de instrumenterer koden til systemet ditt. Hver gang en linje eller gren av koden din besøkes i løpetid, cacher verktøyet denne informasjonen. Tross alt er antallet besøkte linjer (eller grener) delt med totalt antall linjer (eller grener). Dette gjøres i omfanget av en enkelt klasse / fil, pakke, pakketrær og hele applikasjonen.
Kodeinstrumentasjonen kan imidlertid være verktøy- og språkspesifikk.
Her finner du mer info, lenker og forskningsartikler hvordan du implementerer kodedekkingsverktøy selv og hvordan instrumentering i eksempelverktøy gjøres.
Kommentarer
- Det er nyttig å skille mellom verktøy som instrumenterer kildekoden, og de som instrumentbyte-koden. Du kan ganske mye ' ikke få sistnevnte for konvensjonelt kompilerte språk.