Hva er modellbasert testing?

Hva er modellbasert testing?

Modellbasert testing er en programvaretestingsteknikk der kjøretidsatferden til programvaren som testes sjekkes mot spådommer laget av en modell. En modell er en beskrivelse av et systems oppførsel. Atferd kan beskrives i form av inngangssekvenser, handlinger, betingelser, utdata og flyt av data fra input til output. Det skal være praktisk talt forståelig og kan gjenbrukes; delbare må ha en nøyaktig beskrivelse av systemet som testes.

Det er mange modeller tilgjengelig, og den beskriver ulike aspekter ved systemets oppførsel. Eksempler på modellen er:

  • Dataflyt
  • Kontroll flyt
  • Avhengighetsgrafer
  • Beslutningstabeller
  • Statlige overgangsmaskiner

Modellbasert testing beskriver hvordan et system oppfører seg som respons på en handling (bestemt av en modell). Tilfør handling, og se om systemet reagerer i henhold til forventningene.

Det er en lett formell metode for å validere et system. Denne testingen kan brukes på både maskinvare- og programvaretesting.

Eksempel på modellbasert testing

Modellbasert testing

Ovennevnte modell forklarer den forenklede tilnærmingen til å skrive poesi i notisblokk og mulige handlinger knyttet til hvert trinn. For hver eneste handling (som å starte, skrive inn et dikt, lagre), Testsak kan genereres, og utgangen kan verifiseres.

Typer MBT

Det er to typer modellbaserte testrammeverk-

  1. Offline / a priori: Generering av testsuiter før den utføres. En testpakke er ikke annet enn en samling testtilfeller.
  2. Online / on-the-fly: Generering av testsuiter under testkjøring

Ulike modeller i testing

For å forstå MBT er det nødvendig å forstå noen av modellene som er forklart nedenfor. La oss gå gjennom dem en etter en:

Endelige tilstandsmaskiner

Denne modellen hjelper testerne med å vurdere resultatet avhengig av valgt input. Ulike kombinasjoner av inngangene kan resultere i en tilsvarende tilstand av systemet.

Systemet vil ha en spesifikk tilstand og nåværende tilstand, som styres av et sett med inndata gitt av testerne.

Tenk på eksempelet-

Det er et system som lar ansatte logge seg på applikasjonen. Nå er den nåværende tilstanden til den ansatte "Ut", og den ble "In" når han logger på systemet. Under "i"-tilstanden kan en ansatt se, skrive ut og skanne dokumenter i systemet.

Endelige tilstandsmaskiner

Statlige diagrammer

Det er en utvidelse av Finite state-maskinen og kan brukes til komplekse og sanntidssystemer. Statskart brukes til å beskrive ulike oppførsel av systemet. Den har et bestemt antall stater. Atferden til systemet analyseres og representeres i form av hendelser for hver stat.

For eksempel -

Defekter tas opp i feilhåndteringsverktøyet med status som Ny. Når det er fikset av utviklere, må det endres til status Fixed. Hvis en defekt ikke er rettet, endre status til Re-open. Statskart bør utformes på en slik måte at det bør kreve en hendelse for hver stat.

Statlige diagrammer

Unified Modeling Language (UML)

Unified Modeling Language (UML) er et standardisert modelleringsspråk for generell bruk. UML inkluderer et sett med grafiske notasjonsteknikker for å lage visuelle modeller som kan beskrive den svært kompliserte oppførselen til systemet.

UML har notasjoner som:

  • aktiviteter
  • Skuespillere
  • Forretningsprosess
  • komponenter
  • Programmeringsspråk

Unified Modeling Language

Utfordringer ved modellbasert testing

Implementering av MBT i hver organisasjon krever åpenbart en høy mengde investeringer og innsats. Følgende er ulempene med MBT i Engineering programvare.

  • Nødvendige ferdigheter som kreves hos testere
  • Læringskurvetiden blir mer
  • Vanskelig å forstå selve modellen

Fordeler med modelltesting

Følgende er fordelene med MBT:

  • Enkel vedlikehold av testkoffert/suite
  • Reduksjon i kostnad
  • Forbedret testdekning
  • Kan kjøre forskjellige tester på n antall maskiner
  • Tidlig oppdagelse av feil
  • Økning i antall defekter
  • Tidsbesparelser
  • Forbedret testers jobbtilfredshet

konklusjonen

Testere konstruerer mentale modeller uansett under testingen. Disse mentale modellene kan forvandles til modeller på papir. Dette hjelper testerne med å oppnå lesbarhet og gjenbrukbarhet.

Modellbasert testing er en ny tilnærming til programvaretesting. Utviklingen av programvaretesting er vist nedenfor -

Evolutoin av programvaretesting