Beslutstabeller - en teknik för bättre krav och tester

2008-04-23 Artikelbanken Test Läst 10885 gånger

Tänk dig följande krav för ett banksystem: ”Uttag är möjligt om kunden önskar ta ut ett belopp som inte överskrider kontots saldo. Om kunden önskar göra ett uttag som överskrider saldot är uttag endast möjligt om kunden har en beviljad kredit.”. Även om det känns ganska krångligt, är detta ett ganska enkelt krav, i verkligheten kan kravet innehålla mängder av specialsituationer som behöver kravställas och testas. Det är svårt att uttrycka affärsregler så att de blir begripliga. Ett alternativ är att beskriva affärsreglerna i form av användningsfall med huvudflöde och alternativa flöden, men det är svårt att få detta tydligt när villkoren består av många kombinationer. Ett annat alternativ är att beskriva affärsreglerna fritt formulerat i löpande text men detta ställer stora krav på författaren och olika författare kommer att skriva på olika sätt vilket gör det svårt att tolka texten för mottagaren. Det är lätt att införa olika sorters fel när man beskriver regelverket, fel som är svåra att upptäcka i löpande text.

En bättre lösning är att ställa upp kravet i en beslutstabell. Beslutstabeller är en teknik som kan användas inom både kravhantering och testning. Den som skriver krav använder beslutstabeller för att beskriva komplicerade affärsregler på ett sätt som är både tydligt och konsekvent. Som testare använder man tekniken för att identifiera möjliga testfall. En beslutstabell för banksystemet ovan kan se ut på följande sätt:

Villkor Regel 1 Regel 2 Regel 3 Regel 4
Uttagsbelopp <= saldo Ja Ja Nej Nej
Kredit beviljad Ja Nej Ja Nej
Händelse
Uttag beviljas Ja Ja Ja Nej
Uttag nekas Nej Nej Nej Ja

Bild 1 – Exempel på beslutstabell

Tabellens övre halva innehåller olika villkor som ska testas. Den nedre halvan beskriver de olika händelser som sker baserat på valen i den övre halvan.

Av tabellen framgår att det finns fyra möjliga scenarion som behöver testas. Genom att göra ett test per kolumn, kommer alla kombinationer av utlösande villkor att testas.

En fördel med att använda beslutstabeller är att den som fyller i dem tvingas specificera samtliga villkorskombinationer, vilket leder till mer kompletta krav. Ur ett testperspektiv leder beslutstabeller till bättre tester eftersom det blir lättare att testa fler kombinationer än vad som annars skulle ha varit möjligt att hitta på ett enkelt sätt. Tekniken är tillämplig i situationer då resultatet beror på många kombinationer av olika val.

Tekniken behöver kompletteras med testfall som beskriver i vilken ordning stegen i testsekvensen ska utföras. En nackdel är att vissa identifierade villkorskombinationer har låg sannolikhet att inträffa och det är därför inte nödvändigt att testa samtliga tänkbara kombinationer. För att bestämma vilka villkorskombinationer som ska testas bör en riskbedömning göras på sedvanligt sätt.

Gör så här för att skapa en beslutstabell

  1. Skapa en lista över villkor i tabellens övre hälft. Formulera villkoren som frågor som går att besvara med ”ja” eller ”nej”.
  2. Beskriv alla möjliga händelser i den nedre hälften av tabellen.
  3. Beräkna antalet kolumner genom att multiplicera antalet villkor med antalet möjliga värden för varje villkor. Om det exempelvis finns två villkor och det första villkoret har två möjliga värden och det andra villkoret har tre möjliga värden ska tabellen innehålla sex kolumner (2 villkor x 3 värden).
  4. Skriv in samtliga möjliga kombinationer i kolumnerna. Varje kolumn ska vara unik i jämförelse med andra kolumner.
  5. Ange vilken händelse som inträffar i och var och en av kolumnerna. Detta kan markeras med kryss, ”Ja”, ”J”, ”Sant” eller ”S” för positivt värde respektive ”Nej”, ”N”, ”Falskt” eller ”F” för negativa värden.

Tips för vidare läsning

  • Beslutstabeller är en av många testdesigntekniker som behandlas i vår kurs ISTQB - certifierad testare.
  • Ett flertal testdesigntekniker behandlas i boken ”Test och kvalitetssäkring av IT-system” av Ulf Eriksson, Studentlitteratur 2008. Obs! Beslutstabeller finns med från och med den upplaga som kom ut 2008.
  • Ovannämnda bok ingår i kursmaterialet i våra testkurser.

KONTAKTA OSS

Har du frågor? Vill du ha hjälp med områden inom kravhantering och test?
Hör av dig till oss! Vi hjälper dig gärna. 

Kontakt 

Dela artikeln