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

Konklusjon

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

Oppsummer dette innlegget med: