Adnan Causevic (IDT) försvarar sin doktorsavhandling

Datum: 2013-06-11
Tid: 09.15 - 12.00
Plats: Gamma, MDH Västerås

Adnan Causevic (IDT) försvarar sin doktorsavhandling den 11 juni kl.9.15 lokalen Gamma på MDH i Västerås.

Titel: Quality of Test Design in Test Driven Development

Granskare är docent Henry Muccini, L’Aquila University och examinatorer är professor Sylvia Ilieva, University of Sofia; docent Richard Torkar, Chalmers tekniska universitet; professor Casper Lassenius, Aalto University. Reserv:  professor Hans Hansson, MDH

 

Sammanfattning

Agila metoder för programvaruutveckling har idag blivit ett attraktivt val för företag inom många olika områden på grund av dess upplevda fördelar när det gäller snabb omsättning och kostnadseffektivitet. Ekonomisystem, telekommunikation, webb, spel och även programvara för medicinsk utrustning utvecklas idag med hjälp av agila metoder. Användning av agila metoder löser inte alla de problem relaterade till programvarukvalitet vi står inför i dag. Däremot kan de bidra till att identifiera problem tidigare.

En av de mer välkända agila teknikerna är testdriven utveckling (TDD), där testfall skapas av utvecklare innan dess att koden skrivs - allt i syfte att styra eller driva utvecklingsprocessen. Testfall skapade vid användning av TDD kan betraktas som en biprodukt av programvaruutvecklingen. Ett antal vetenskapliga studier har utförts i syfte att undersöka de påstådda förbättringarna av kodkvalitet vid TDD, medan mycket få studier fokuserat på att undersöka eventuella förändringar i kvaliteten i de testfall som metoden producerar.

Denna avhandling undersöker kvaliteten hos testfall producerade vid testdriven utveckling. I våra studier har vi tydligt märkt en tendens hos utvecklare att fokusera på positiva testfall, dvs. testfall som undersöker programvarans beteende i ett tänkt normalfall. Runt 70% av de testfall som skapades i våra studier var positiva testfall, medan endast 30% var negativa. I kvaliteten hos testfallen observerades dock ett motsatt förhållande. Negativa testfall bidrog med över 70% av den totala testkvaliteten, medan positiva testfall bidrog endast med 30%.

Baserat på resultaten i våra studier föreslår vi TDDHQ, en metod för att uppnå högre testfall av högre kvalitet i testdriven utveckling genom kombination av traditionell testdriven utveckling och testdesigntekniker. Genom TDDHQ utökas TDD till att inte enbart kontrollera funktionalitet, utan också säkerhet, robusthet, prestanda och andra kvalitetsaspekter. En preliminär utvärdering resulterade i 17% bättre kvalitet i testfallen hos utveckare som använde TDDHQ jämfört med utvecklare som använde traditionell TDD. Våra forskningsresultat förväntas bana väg för ytterligare förbättringar i sättet att utföra TDD, vilket resulterar så småningom kan medföra utökad användning av testdriven utveckling i industrin.