Vad är modellbaserad testning?

Vad är modellbaserad testning?

Modellbaserad testning är en mjukvarutestteknik där körtidsbeteendet för programvaran som testas kontrolleras mot förutsägelser gjorda av en modell. En modell är en beskrivning av ett systems beteende. Beteende kan beskrivas i termer av ingångssekvenser, åtgärder, villkor, utdata och dataflöde från input till output. Det ska vara praktiskt förståeligt och kan återanvändas; delbart måste ha en exakt beskrivning av systemet som testas.

Det finns många tillgängliga modeller och den beskriver olika aspekter av systemets beteende. Exempel på modellen är:

  • Data flöde
  • Styrningsflöde
  • Beroendegrafer
  • Beslutstabeller
  • Statliga övergångsmaskiner

Modellbaserad testning beskriver hur ett system beter sig som svar på en åtgärd (bestäms av en modell). Tillför åtgärd och se om systemet svarar enligt förväntningarna.

Det är en lättviktig formell metod för att validera ett system. Denna testning kan tillämpas på både hårdvaru- och mjukvarutestning.

Modellbaserat testexempel

Modellbaserad testning

Ovanstående modell förklarar det förenklade tillvägagångssättet att skriva poesi i anteckningsblock och möjliga åtgärder relaterade till varje steg. För varje åtgärd (som att starta, skriva in en dikt, spara), Testfall kan genereras och utdata kan verifieras.

Typer av MBT

Det finns två typer av modellbaserade testramverk-

  1. Offline / a priori: Generering av testsviter innan den körs. En testsvit är inget annat än en samling testfall.
  2. Online/on-the-fly: Generering av testsviter under testkörning

Olika modeller i testning

För att förstå MBT är det nödvändigt att förstå några av modellerna som förklaras nedan. Låt oss gå igenom dem en efter en:

Finita tillståndsmaskiner

Denna modell hjälper testare att bedöma resultatet beroende på den valda ingången. Olika kombinationer av ingångarna kan resultera i ett motsvarande tillstånd hos systemet.

Systemet kommer att ha ett specifikt tillstånd och ett aktuellt tillstånd, som styrs av en uppsättning indata som ges av testarna.

Tänk på exemplet-

Det finns ett system som gör att anställda kan logga in i applikationen. Nu är det aktuella tillståndet för den anställde "Ut", och det blev "In" när han loggar in i systemet. Under tillståndet "i" kan en anställd se, skriva ut och skanna dokument i systemet.

Finita tillståndsmaskiner

Statliga diagram

Det är en förlängning av Finite state-maskinen och kan användas för komplexa och realtidssystem. Statskartor används för att beskriva olika beteenden i systemet. Den har ett bestämt antal stater. Systemets beteende analyseras och representeras i form av händelser för varje stat.

Till exempel -

Defekter tas upp i defekthanteringsverktyget med status som Ny. När det är fixat av utvecklare måste det ändras till status Fixed. Om en defekt inte åtgärdas, ändra status till Återöppna. Statliga sjökort bör utformas på ett sådant sätt att det bör kräva en händelse för varje stat.

Statliga diagram

Unified Modelling Language (UML)

Unified Modeling Language (UML) är ett standardiserat modelleringsspråk för allmänt bruk. UML innehåller en uppsättning grafiska notationstekniker för att skapa visuella modeller som kan beskriva systemets mycket komplicerade beteende.

UML har notationer som:

  • Stationer & aktiviteter
  • Skådespelare
  • Affärsprocess
  • Komponenter
  • Programmeringsspråk

Unified Modeling Language

Utmaningar med modellbaserad testning

Implementering av MBT i varje organisation kräver uppenbarligen en stor mängd investeringar och ansträngning. Följande är nackdelarna med MBT i Mjukvaruutveckling.

  • Nödvändiga färdigheter som krävs hos testare
  • Inlärningskurvans tid kommer att bli längre
  • Svårt att förstå själva modellen

Fördelar med modelltestning

Följande är fördelarna med MBT:

  • Enkelt underhåll av testfall/svit
  • Minskad kostnad
  • Förbättrad testtäckning
  • Kan köra olika tester på n antal maskiner
  • Tidig upptäckt av defekter
  • Ökning av antalet defekter
  • Tidsbesparing
  • Förbättrad testares arbetstillfredsställelse

Slutsats

Testare konstruerar mentala modeller i alla fall under sina tester. Dessa mentala modeller kan förvandlas till modeller på papper. Detta hjälper testare att uppnå läsbarhet och återanvändbarhet.

Modellbaserad testning är en ny metod för mjukvarutestning. Utvecklingen av mjukvarutestning visas nedan -

Evolutoin av mjukvarutestning