ANNONCE:
Eksempler på modeltest og -verifikationsværktøjer
Et eksempel på modelverifikation og testgenerering er Uppaal, som er udviklet i samarbejde mellem Uppsala Universitet og Aalborg Universitet.
Microsoft Research arbejder på modelbaseret test med SpecExplorer
Et eksempel på modelverifikation og testgenerering er Uppaal, som er udviklet i samarbejde mellem Uppsala Universitet og Aalborg Universitet.
Microsoft Research arbejder på modelbaseret test med SpecExplorer
Indholdsfortegnelse:
Kan systemet eksempelvis håndtere danske tegn som æ, ø og å?
Brian Nielsen, lektor i datalogi fra Aalborg Universitet, har specialiseret sig i test og har blandt andet siddet med i programkomiteen for den netop overståede konference om softwaretest "Software testing, Verification and Validation",
Fra klassisk test til modelverifikation
På den internationale softwaretest-konference som blev afholdt for andet år i træk, så forskere og udviklere nærmere på en række teknikker til at sikre veltestet og velfungerende software.
Teknikkerne spænder fra manuelle testcases til matematisk bevisførelse for et programs korrekthed.
"Der er den klassisk manuelle test, hvor en række testcases beskrives. Her kan man manuelt udføre en række scenarier skridt for skridt for at se, om systemet opfører sig som forventet," siger Brian Nielsen.
Den slags manuelle test kan automatiseres ved at anvende et program, der kan afvikle test-cases.
"Man kan opnå et niveau af automatisering, ved at skrive eller anvende et program, der kan afvikle test-cases. Det giver så en automatisk testafvikling. Der kan også være tale om et capture-replay, hvor alle tastetryk optages, så det kan afspilles senere," siger Brian Nielsen.
På komponent-/metodeniveau kan udviklerne også anvende automatiserede test - unit-test - der sikrer, at de enkelte komponenter/metoder lever op til den forventede funktionalitet.
De automatiserede test og unit-test er i dag teknikker som i udpræget grad anvendes i almindelig systemudvikling.
Modelbaseret test
Ved at specificere kravene til et system på en bestemt måde, er det muligt at få softwareværktøjer til automatisk at udtrække testcases fra de beskrevne krav.
"Her syntetiseres test ud fra en højniveaubeskrivelse af kravene til et system, så der sker en automatisk dannelse af testcases. Det stiller selvfølgelig krav til, hvordan kravene er specificeret. I starten er kravene som regel specificeret som uformelle krav i et word-dokument.
Det skal laves om til en formel model, der beskriver hvad de lovlige handlinger er i systemet. Her anvender man typisk varianter af tilstandsmaskiner som UML-statecharts. Hvis man beskriver hvordan systemet skal reagere på input ved hjælp af UML-statecharts, så kan værktøjer automatisk generere test-cases på den bagggrund," forklarer Brian Nielsen.
De automatisk genererede test-cases kan så efterfølgende automatisk blive afviklet.
Ifølge Brian Nielsen er den slags modelbaseret test lige begyndt at blive anvendt i industrien.
Man kan gå skridtet videre og begynde at verificere om modellen for systemet er korrekt.
Fortsættes ...



