Beslutstabelltestning (exempel)

Vad är Decision Table Testing?

Decision table testing är en mjukvarutestteknik som används för att testa systembeteende för olika ingångskombinationer. Detta är ett systematiskt tillvägagångssätt där de olika ingångskombinationerna och deras motsvarande systembeteende (Output) fångas i tabellform. Det är därför det också kallas som en Orsak effekt tabell där orsak och effekter fångas för bättre testtäckning.

A Beslutstabell är en tabellrepresentation av indata kontra regler/fall/testförhållanden. Det är ett mycket effektivt verktyg som används för både komplexa mjukvarutestning och kravhantering. En beslutstabell hjälper till att kontrollera alla möjliga kombinationer av villkor för testning och testare kan också enkelt identifiera missade förhållanden. Villkoren anges som True(T) och False(F)-värden.

Låt oss lära oss med ett exempel.

Exempel 1: Hur man gör beslutsbastabell för inloggningsskärm

Låt oss skapa en beslutstabell för en inloggningsskärm.

Beslutsbastabell för inloggningsskärm

Villkoret är enkelt om användaren anger rätt användarnamn och lösenord kommer användaren att omdirigeras till hemsidan. Om någon av ingångarna är felaktiga kommer ett felmeddelande att visas.

Villkor Regel 1 Regel 2 Regel 3 Regel 4
Användarnamn (T/F) F T F T
Lösenord (T/F) F F T T
Utgång (E/H) E E E H

Förklaring:

  • T – Rätt användarnamn/lösenord
  • F – Fel användarnamn/lösenord
  • E – Felmeddelande visas
  • H – Hemskärmen visas

tolkning:

  • fallet 1 – Både användarnamn och lösenord var fel. Användaren visas ett felmeddelande.
  • fallet 2 – Användarnamnet var korrekt, men lösenordet var fel. Användaren visas ett felmeddelande.
  • fallet 3 – Användarnamnet var fel, men lösenordet var korrekt. Användaren visas ett felmeddelande.
  • fallet 4 – Användarnamn och lösenord var båda korrekta, och användaren navigerade till hemsidan

När du konverterar detta till en testfall, vi kan skapa 2 scenarier,

  • Ange rätt användarnamn och rätt lösenord och klicka på logga in, och det förväntade resultatet blir att användaren ska navigeras till hemsidan

Och ett från scenariot nedan

  • Ange fel användarnamn och fel lösenord och klicka på logga in, och det förväntade resultatet blir att användaren ska få ett felmeddelande
  • Ange rätt användarnamn och fel lösenord och klicka på logga in, och det förväntade resultatet blir att användaren ska få ett felmeddelande
  • Ange fel användarnamn och rätt lösenord och klicka på logga in, och det förväntade resultatet blir att användaren ska få ett felmeddelande

Eftersom de i princip testar samma regel.

Exempel 2: Hur man gör beslutstabell för uppladdningsskärm

Överväg nu en dialogruta som kommer att be användaren att ladda upp ett foto med vissa villkor som -

  1. Du kan bara ladda upp en bild i formatet '.jpg'
  2. filstorlek mindre än 32 kb
  3. upplösning 137*177.

Om något av villkoren misslyckas kommer systemet att skicka ett motsvarande felmeddelande som anger problemet och om alla villkor är uppfyllda kommer bilden att uppdateras framgångsrikt

Gör beslutstabell för uppladdningsskärm

Låt oss skapa beslutstabellen för det här fallet.

Villkor fallet 1 fallet 2 fallet 3 fallet 4 fallet 5 fallet 6 fallet 7 fallet 8
Format . Jpg . Jpg . Jpg . Jpg Inte .jpg Inte .jpg Inte .jpg Inte .jpg
Storlek Less än 32kb Less än 32kb >= 32kb >= 32kb Less än 32kb Less än 32kb >= 32kb >= 32kb
upplösning 137*177 Inte 137*177 137*177 Inte 137*177 137*177 Inte 137*177 137*177 Inte 137*177
Produktion Foto uppladdat Felmeddelandets upplösning matchar inte Storleken på felmeddelandet matchar inte Felmeddelandets storlek och upplösning stämmer inte överens Felmeddelande för att formatet inte matchar Felmeddelandeformat och upplösning matchar inte Felmeddelande för att format och storlek inte matchar Felmeddelande för att format, storlek och upplösning inte matchar

För detta tillstånd kan vi skapa 8 olika testfall och säkerställa fullständig täckning baserat på ovanstående tabell.

  1. Ladda upp ett foto med formatet '.jpg', storlek mindre än 32kb och upplösning 137*177 och klicka på ladda upp. Förväntat resultat är att fotot ska laddas upp
  2. Ladda upp ett foto med formatet '.jpg', storlek mindre än 32kb och upplösning inte 137*177 och klicka på ladda upp. Förväntat resultat är Felmeddelandet som inte matchar upplösningen ska visas
  3. Ladda upp ett foto med formatet '.jpg', storlek mer än 32kb och upplösning 137*177 och klicka på ladda upp. Förväntat resultat är att felmeddelandets storlek inte överensstämmer ska visas
  4. Ladda upp ett foto med formatet '.jpg', storlek mer än lika med 32kb och upplösning inte 137*177 och klicka på ladda upp. Förväntat resultat är Felmeddelandets storlek och upplösning som inte matchar bör visas
  5. Ladda upp ett foto med annat format än '.jpg', storlek mindre än 32kb och upplösning 137*177 och klicka på ladda upp. Förväntat resultat är Felmeddelande för att formatet inte matchar ska visas
  6. Ladda upp ett foto med annat format än '.jpg', storlek mindre än 32kb och upplösning inte 137*177 och klicka på ladda upp. Förväntat resultat är felmeddelandeformat och upplösning som inte matchar bör visas
  7. Ladda upp ett foto med annat format än '.jpg', storlek mer än 32kb och upplösning 137*177 och klicka på ladda upp. Förväntat resultat är Felmeddelande för format och storlek som inte matchar ska visas
  8. Ladda upp ett foto med annat format än '.jpg', storlek mer än 32kb och upplösning inte 137*177 och klicka på ladda upp. Förväntat resultat är Felmeddelande för format, storlek och upplösning som inte matchar ska visas

Varför är beslutstabellstestning viktigt?

Beslutstabelltestning är viktig eftersom det hjälper till att testa olika kombinationer av villkor och ger bättre testtäckning för komplex affärslogik. När man testar beteendet hos en stor uppsättning ingångar där systembeteendet skiljer sig med varje uppsättning ingångar, ger beslutstabelltestning bra täckning och representationen är enkel så den är lätt att tolka och använda.

In Mjukvaruutveckling, gränsvärde och motsvarande partition är andra liknande tekniker som används för att säkerställa bättre täckning. De används om systemet visar Samma beteende för en stor uppsättning ingångar. Men i ett system där systemets beteende är för varje uppsättning indatavärden olika, gränsvärde och motsvarande uppdelningsteknik är inte effektiva för att säkerställa god testtäckning.

I det här fallet är beslutstabelltestning ett bra alternativ. Denna teknik kan säkerställa god täckning, och representationen är enkel så att den är lätt att tolka och använda.

Denna tabell kan användas som referens för kravet och för funktionsutveckling eftersom den är lätt att förstå och täcka alla kombinationer.

Betydelsen av denna teknik blir omedelbart tydlig när antalet ingångar ökar. Antal möjliga kombinationer ges av 2 ^ n , där n är antalet ingångar. För n = 10, vilket är mycket vanligt i webbaserad testning, med stora inmatningsformulär, kommer antalet kombinationer att vara 1024. Självklart kan du inte testa alla men du kommer att välja en rik deluppsättning av möjliga kombinationer med hjälp av beslut baserad testteknik.

Fördelar med Decision Table Testing

  • När systemets beteende är olika för olika ingångar och inte detsamma för en rad ingångar, hjälper inte både motsvarande partitionering och gränsvärdesanalys, men en beslutstabell kan användas.
  • Representationen är enkel så att den lätt kan tolkas och används även för utveckling och affärer.
  • Denna tabell hjälper till att skapa effektiva kombinationer och kan säkerställa bättre täckning för testning
  • Alla komplexa affärsförhållanden kan enkelt omvandlas till beslutstabeller
  • I ett fall vi går för 100 % täckning, vanligtvis när ingångskombinationerna är låga, kan denna teknik säkerställa täckningen.

Nackdelar med Decision Table Testing

Den största nackdelen är att när antalet ingångar ökar blir tabellen mer komplex

Beslutstabell Testningsvideo

Klicka här. om videon inte är tillgänglig