søndag den 26. april 2015

Domæneanalyse - en spændende, relevant og effektiv testteknik

Som tester anvender man ofte både ækvivalenspartitionering og grænseværdianalyse - som er et par gode og anvendelige datadrevne testteknikker. Udfordringen er en gang imellem, at disse ser verden endimensionelt, men i mange situationer interagerer data med hinanden, og en paramenters dataværdi kan påvirke hvilke dataværdien for en anden parameter der er mulig.

Nedenstående tager udgangspunkt i, at der er tale om 2 parametre. Situationer med 3 eller flere parametre kræver værktøjsunderstøttelse, og behandles ikke her, men mange af principperne er de samme.

I en sådan situation som beskrevet i ovenstående er domæneanalyse en både relevant og effektiv testteknik. Domæneanalyse er rigtig god til at identificere om grænseværdierne er implementeret korrekt i systemet - det drejer sig om manglende grænseværdier, ekstra grænseværdier, grænseværdier der er skiftet/ændret og/eller grænseværdier der er 'vippet' (f.eks. er kravet til grænseværdien 'Y = X - 10', men der er implementeret 'Y = X + 10'.

Først en række definitioner af værdier - med de engelske betegnelser i parentes:
  • INDE (IN) - repræsenterer en værdi der er i partitionen/domænet.
  • UDE (OUT) - repræsenterer en værdi der er uden for partitionen/domænet/grænsen.
  • PÅ (ON) - repræsenterer en værdi på grænsen af partitionen/domænet.
  • UDENFOR (OFF) - repræsenterer en værdi lige udenfor partitionens/domænets grænse - altså den mindst mulige nominelle værdi.
Domænets grænser kan være lukkede eller åbne:
  • LUKKEDE grænser - defineret med de matematiske operatorer '>=', '<=' eller '=' - betyder at grænsen ikke er inkluderet i domænet, hvilket betyder, at:
    • PÅ-værdien er i domænet
    • UDENFOR-værdien er ikke i domænet.
  • ÅBNE grænser - defineret med de matematiske operatorer '>' eller '<' - betyder at grænsen ikke er inkluderet i domænet, hvilket betyder, at:
    • PÅ-værdien er ikke i domænet
    • UDENFOR-værdien er i domænet.
Domæneanalyseteknikken betyder så, at der for den meget 'strenge' operator '=' skal vælges en PÅ-værdi og to UDENFOR-værdier - en på hver side af grænsen, mens der for de resterende operatorer (>=, <=, >, <) skal vælges en PÅ-værdi og en UDENFOR-værdi.

En særdeles værdifuld hjælp til domæneanalyse er nedenstående tabel - kaldet en domæneanalysematrix:

I ovenstående domæneanalysematrix (tom skabelon) tester de første fire testcases PÅ og UDENFOR værdierne for betingelserne relateret til variabel 1 og INDE værdi for variabel 2, mens testcases 5 - 8 tester PÅ og UDENFOR værdierne for betingelserne relateret til variabel 2 og INDE værdi for variable 1.

Jeg håber dette indlæg viser værdien af domæneanalyse, samt hvordan testteknikken anvendes. 

Ingen kommentarer:

Send en kommentar