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
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-
- Offline / a priori: Generering af testsuiter fรธr den udfรธres. En testpakke er intet andet end en samling af testcases.
- 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.
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.
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
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 -





