Hvad er modelbaseret test?

Hvad er modelbaseret test?

Modelbaseret test er en softwaretestteknik, hvor kรธretidsadfรฆrden for den software, der testes, kontrolleres mod forudsigelser foretaget af en model. En model er en beskrivelse af et systems adfรฆrd. Adfรฆrd kan beskrives i form af inputsekvenser, handlinger, betingelser, output og flow af data fra input til output. Det skal vรฆre praktisk forstรฅeligt og kan genbruges; delbare skal have en prรฆcis beskrivelse af det system, der testes.

Der er adskillige modeller tilgรฆngelige, og den beskriver forskellige aspekter af systemets adfรฆrd. Eksempler pรฅ modellen er:

  • Dataflow
  • Kontroller flow
  • Afhรฆngighedsgrafer
  • Beslutningstabeller
  • Statens overgangsmaskiner

Modelbaseret test beskriver, hvordan et system opfรธrer sig som reaktion pรฅ en handling (bestemt af en model). Tilfรธr handling, og se om systemet reagerer som forventet.

Det er en letvรฆgts formel metode til at validere et system. Denne test kan anvendes til bรฅde hardware- og softwaretest.

Modelbaseret testeksempel

Modelbaseret test

Ovenstรฅende model forklarer den forenklede tilgang til at skrive poesi i notesblok og mulige handlinger relateret til hvert trin. For hver eneste handling (som at starte, indtaste et digt, gemme), Test sag kan genereres, og outputtet kan verificeres.

Typer af MBT

Der er to typer modelbaserede testrammer-

  1. Offline / a priori: Generering af testsuiter fรธr den udfรธres. En testpakke er intet andet end en samling af testcases.
  2. Online / on-the-fly: Generering af testsuiter under testudfรธrelse

Forskellige modeller i test

For at forstรฅ MBT er det nรธdvendigt at forstรฅ nogle af modellerne forklaret nedenfor. Lad os gennemgรฅ dem รฉn efter รฉn:

Endelige maskiner

Denne model hjรฆlper testere med at vurdere resultatet afhรฆngigt af det valgte input. Forskellige kombinationer af indgangene kan resultere i en tilsvarende tilstand af systemet.

Systemet vil have en specifik tilstand og aktuel tilstand, som er styret af et sรฆt input givet af testerne.

Overvej eksemplet -

Der er et system, der giver medarbejderne mulighed for at logge ind pรฅ applikationen. Nu er medarbejderens aktuelle tilstand "Ud", og den blev "Ind", nรฅr han logger ind i systemet. Under tilstanden "i" kan en medarbejder se, udskrive og scanne dokumenter i systemet.

Endelige maskiner

Statsdiagrammer

Det er en udvidelse af Finite state-maskinen og kan bruges til komplekse og realtidssystemer. Statecharts bruges til at beskrive forskellige adfรฆrd i systemet. Det har et bestemt antal stater. Systemets adfรฆrd analyseres og reprรฆsenteres i form af hรฆndelser for hver stat.

For eksempel -

Defekter rejses i fejlhรฅndteringsvรฆrktรธjet med status som Ny. Nรฅr det er rettet af udviklere, skal det รฆndres til status Fixed. Hvis en defekt ikke er rettet, skal du รฆndre status til Genรฅbn. Statsdiagrammer bรธr udformes pรฅ en sรฅdan mรฅde, at det bรธr opfordre til en begivenhed for hver stat.

Statsdiagrammer

Unified Modeling Language (UML)

Unified Modeling Language (UML) er et standardiseret modelleringssprog til generelle formรฅl. UML inkluderer et sรฆt grafiske notationsteknikker til at skabe visuelle modeller, der kan beskrive systemets meget komplicerede opfรธrsel.

UML har notationer som:

  • Aktiviteter
  • Skuespillere
  • Forretningsproces
  • Komponenter
  • Programmeringssprog

Unified Modeling Language

Udfordringer ved modelbaseret test

Implementering af MBT i enhver organisation krรฆver naturligvis en hรธj investering og indsats. Fรธlgende er ulemperne ved MBT i Software Engineering.

  • Nรธdvendige fรฆrdigheder pรฅkrรฆvet hos testere
  • Indlรฆringskurvetiden bliver mere
  • Svรฆrt at forstรฅ selve modellen

Fordele ved modeltestning

Fรธlgende er fordelene ved MBT:

  • Nem vedligeholdelse af testcase/suite
  • Reduktion i omkostninger
  • Forbedret testdรฆkning
  • Kan kรธre forskellige test pรฅ n antal maskiner
  • Tidlig defekt opdagelse
  • Stigning i antallet af defekter
  • Tidsbesparelser
  • Forbedret tester jobtilfredshed

Konklusion

Testere konstruerer alligevel mentale modeller under deres test. Disse mentale modeller kan transformeres til modeller pรฅ papir. Dette hjรฆlper testere med at opnรฅ lรฆsbarhed og genbrugelighed.

Modelbaseret test er en ny tilgang til software test. Udviklingen af โ€‹โ€‹softwaretest er vist nedenfor -

Evolutoin af softwaretestning

Opsummer dette indlรฆg med: