06.08.2013 Views

Analysverktyg för kod och test - Lunds Tekniska Högskola

Analysverktyg för kod och test - Lunds Tekniska Högskola

Analysverktyg för kod och test - Lunds Tekniska Högskola

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Abstract<br />

Undertiden som man utvecklar programvara vill man på ett eller annat sätt kunna säga på<br />

ett så enkelt sätt som möjligt att det man gjort funkar. Detta brukar man många gånger göra<br />

med hjälp utav <strong>test</strong>er i olika former. För att underlätta <strong>test</strong>skrivandet <strong>och</strong> granskningen utav<br />

den <strong>kod</strong> som blivit implementerad så brukar man använda sig utav någon form av<br />

analysverktyg som kan presentera olika sorters data beroende på vad det är <strong>för</strong> sorts verktyg<br />

<strong>och</strong> vad det är användaren önskar sig få fram. Denna studie fokuserar på analysverktyg <strong>för</strong><br />

<strong>test</strong>fall <strong>och</strong> där<strong>för</strong> används ett specifikt program, EclEmma [3], som en del av en empirisk<br />

studie.<br />

1. Inledning<br />

I dagens samhälle finns det programvara inuti i princip allt elektroniskt som existerar.<br />

Samtidigt som andelen elektronik med programvara ökar så ökar även komplexiteten utav<br />

programvaran <strong>för</strong> dessa elektroniska apparater (tänk bara på hur mycket mobiltelefonerna<br />

har utvecklats under de senare åren). Detta innebär att det blir svårare <strong>och</strong> svårare att på ett<br />

enkelt sätt kunna säga att systemet fungerar som tänkt <strong>och</strong> det blir svårt att se om man<br />

<strong>för</strong>stört gammal funktionalitet under vidareutveckling av en produkt. För att hjälpa till med<br />

detta skriver man olika former utav <strong>test</strong>er, men att kunna skriva bra <strong>test</strong>fall som täcker in<br />

alla krav som ställs på systemet så att man samtidigt håller koll på gammal funktionalitet<br />

under utvecklingen av ny är svårt <strong>och</strong> kräver en hel del kunskap. Oberoende på om man<br />

anser sig ha den rätta kunskapen eller inte <strong>för</strong> att skriva bra <strong>test</strong>fall så måste man ställa sig<br />

frågan: ”Vet jag att de <strong>test</strong>er som görs på systemet verkligen <strong>test</strong>ar all <strong>kod</strong> <strong>och</strong> innesluter alla<br />

möjliga scenarion som kan inträffa?”. Detta <strong>för</strong> oss in på ämnet <strong>för</strong> denna djupstudie,<br />

nämligen analysverktyg.<br />

Den här artikeln är framtagen som en del i kursen ”Coaching av programvaruteam” vid <strong>Lunds</strong><br />

tekniska högskola <strong>och</strong> är tänkt att ge en djupare <strong>för</strong>ståelse <strong>för</strong> analysverktyg, hur man väljer<br />

rätt <strong>och</strong> hur man använder det på bästa sätt. I bakgrunden till alla åtaganden <strong>och</strong> slutsatser<br />

inom <strong>kod</strong>ning så kommer programmeringsspråket java att vara det enda språket i åtanke.<br />

Detta <strong>för</strong> att det är det språket som använts i kursen <strong>och</strong> det känns där<strong>för</strong> mest logiskt att<br />

utgå från det.<br />

2. Bakgrund<br />

När man <strong>test</strong>ar system så brukar man tala om två olika sätt att <strong>test</strong>a, nämligen ”black-box<br />

<strong>test</strong>ning” <strong>och</strong> ”white-box <strong>test</strong>ning” [2]. Black-box innebär att man inte vet något om hur<br />

systemet är implementerat <strong>och</strong> utformar <strong>test</strong>er <strong>för</strong> att se att systemet ut<strong>för</strong> det man vill att<br />

det ska göra (typiskt exempel är användarscenarion). White-box däremot innebär att man<br />

har tillgång till hur systemet är implementerat <strong>och</strong> <strong>test</strong>erna utformas <strong>för</strong> att se att alla<br />

metodanrop <strong>och</strong> liknande ger de resultat som man <strong>för</strong>väntar sig (typiskt vad som ut<strong>för</strong>s<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!