Beslutningstabeller

Beslutningstabeller


Beslutningstabeller benytter vi, når vi skal designe testcases til test af forretningsregler.

Beslutningstabeller hjælper os med at finde kombinationer af forskellige inputvariabler og handlinger som applikationen udfører afhængigt af inputtet.

Test af kombinationer kan være lidt af en udfordring, specielt hvis der er tale om mange mulige kombinationer. At test alle mulige kombinationer kan næsten være umuligt. Løsningen er at vi kun tester et lille udpluk af kombinationsmulighederne. Her er det så vigtigt, at vi vælger de “rigtige” kombinationer. Beslutningstabeller giver os en teknik til at afgrænse antallet af testcases på en intelligent måde.

En intelligent måde at begrænse antallet af testcases er at fjerne betingelserne og sæt af betingelser der:

  1. ikke er mulige
  2. redundante
  3. ikke relevante for resultatet

 

Eksempel:

Hos bilforskringsfirmaet BilFo kan kunder opnå to forskellige niveauer: 10% og 30%.

Regel for at opnå rabat : Hvis kunden ingen tidligere skader har haft, er over 25 år og har andre forsikringer hos BilFo, giver BilFo kunden 30% rabat. Til kunder over 25 år, der ikke har andre forsikringer hos BilFo, giver BilFo 10% rabat. Hvis kunden er 25 år eller yngre, giver BilFo 10% rabat, forudsat at kunden ingen tidligere skader har haft og har andre forsikringer hos BilFo. Hvis kunden tidligere har haft skader giver BilFo ingen rabat. Kunden kan maksimalt opnå 30% rabat hos BilFo.

 

Beslutningstabel – Step 1 (List alle kombinationsmuligheder):

beslutningstabel_01

I regel 1 – 4 får vi samme resultat (handlingerne er ens): Kunden får ingen rabat. Når betingelserne ikke påvirker handlingerne, kan kolonnerne slås sammen (kombineres).

Når vi kombinerer kolonnerne får vi følgende tabel (~ betyder at værdien er ligegyldig):

beslutningstabel_02

Som det ses, får vi færre testcases, når vi kombinerer kolonner/regler.

Beslutningstabeller kan meget let blive rigtig store.

 

Hvilke defektyper finder vi


Med testcases dannet ud fra beslutningstabeller finder vi:

  • Betingelseskombinationer, applikation ikke håndterer eller ikke bliver håndterer godt nok
  • Forkert behandling af specifikke kombinationer af betingelser
  • Defekter eller mangler i kravspecifikationen mens vi danner beslutningstabellerne

 

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *