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
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-
- Offline / a priori: Generering av testsuiter fรธr den utfรธres. En testpakke er ikke annet enn en samling testtilfeller.
- 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.
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.
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
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 -





