Hva er dynamisk testing? Typer, teknikker og eksempler

Dynamisk testing

Dynamisk testing er en programvaretestmetode som brukes til รฅ teste den dynamiske oppfรธrselen til programvarekode. Hovedformรฅlet med dynamisk testing er รฅ teste programvareatferd med dynamiske variabler eller variabler som ikke er konstante og finne svake omrรฅder i programvarekjรธringsmiljรธet. Koden mรฅ kjรธres for รฅ teste den dynamiske oppfรธrselen.

Vi vet alle at testing er verifisering og validering, og det tar 2 Vs for รฅ fullfรธre testingen. Av de 2 V-ene kalles verifikasjon en statisk testing og den andre "V", validering er kjent som dynamisk testing.

Eksempel pรฅ dynamisk testing

La oss forstรฅ hvordan du utfรธrer dynamisk testing med et eksempel:

Anta at vi tester en pรฅloggingsside der vi har to felt som sier "Brukernavn" og "Passord", og brukernavnet er begrenset til alfanumerisk.

Nรฅr brukeren skriver inn brukernavn som ยซGuru99", systemet godtar det samme. Mens nรฅr brukeren skriver inn som Guru99@123, sรฅ kaster applikasjonen en feilmelding. Dette resultatet viser at koden oppfรธrer seg dynamisk. basert pรฅ brukerinnspill.

Dynamisk testing er nรฅr du arbeider med det faktiske systemet ved รฅ gi et input og sammenligne den faktiske oppfรธrselen til applikasjonen med forventet oppfรธrsel. Med andre ord, arbeid med systemet med den hensikt รฅ finne feil.

Sรฅ basert pรฅ utsagnene ovenfor kan vi si eller konkludere med at dynamisk testing er en prosess for รฅ validere programvareapplikasjoner som sluttbruker under forskjellige miljรธer for รฅ bygge riktig programvare.

Hva gjรธr dynamisk testing?

Hovedmรฅlet med de dynamiske testene er รฅ sikre at programvaren fungerer som den skal under og etter installasjonen av programvaren for รฅ sikre en stabil applikasjon uten noen store feil (denne uttalelsen er laget fordi ingen programvare er feilfri, testing kan kun vise tilstedevรฆrelse av defekter og ikke fravรฆr)

Hovedformรฅlet med den dynamiske testen er รฅ sikre konsistens til programvaren; la oss diskutere dette med et eksempel.

I en bankapplikasjon finner vi forskjellige skjermer som Mine kontoer-seksjonen, Pengeoverfรธring, Bill Betal osv. Alle disse skjermene inneholder belรธpsfelt som godtar noen tegn.

La oss si at Mine kontoer-feltet viser belรธp som 25,000 og pengeoverfรธring som $25,000 og Bill betalingsskjerm som $25000 Selv om belรธpet er det samme, er mรฅten belรธpet vises pรฅ, ikke det samme, noe som gjรธr programvaren ukonsekvent.

Konsistens er ikke bare begrenset til funksjonaliteten, den refererer ogsรฅ til forskjellige standarder som ytelse, brukervennlighet, kompatibilitet osv., derfor blir det veldig viktig รฅ utfรธre dynamisk testing.

Typer dynamisk testing

Dynamisk testing er klassifisert i to kategorier

  • Hvit Box Testing
  • Svart Box Testing

Bildepresentasjonen nedenfor gir oss en ide om typer dynamisk testing, testnivรฅer, etc.

Typer dynamisk testing

La oss diskutere kort hver type testing og dens tiltenkte formรฅl

Hvit Box Testing - Hvit Box Testing er en programvaretestmetode der den interne strukturen/designen er kjent for testeren. Hovedmรฅlet til White Box testing er รฅ sjekke hvordan systemet fungerer basert pรฅ koden. Det utfรธres hovedsakelig av utviklerne eller White Box Testere som har kunnskap om programmering.

Svart Box Testing - Svart Box Testing er en metode for testing der den interne strukturen/koden/designet er IKKE kjent for testeren. Hovedmรฅlet med denne testingen for รฅ verifisere funksjonaliteten til systemet som testes, og denne typen testing krever รฅ utfรธre hele testpakken og utfรธres hovedsakelig av testerne, og det er ikke behov for noen programmeringskunnskap.

Ocuco Svart Box Testing er igjen klassifisert i to typer.

De er

  • Funksjonell testing
  • Ikke-funksjonell testing

Funksjonell testing:

Funksjonstesting utfรธres for รฅ verifisere at alle funksjonene som er utviklet er i henhold til funksjonsspesifikasjonene, og den utfรธres ved รฅ utfรธre funksjonstestesakene skrevet av QA-teamet, i funksjonstestfasen testes systemet ved รฅ gi input, verifisere utdata og sammenligne de faktiske resultatene med de forventede resultatene.

Det er forskjellige nivรฅer av funksjonell testing, hvorav de viktigste er

  • Enhetstesting โ€“ Vanligvis er Unit en liten kodebit som kan testes, Enhetstesting utfรธres ved individuell programvareenhet og utfรธres av utviklere
  • Integrasjonstesting - Integrasjonstesting er testingen som utfรธres etter Unit Testing og utfรธres ved รฅ kombinere alle de individuelle enhetene som er testbare og utfรธres enten av utviklere eller testere
  • Systemtesting - Systemtesting er en utfรธrt for รฅ sikre om systemet fungerer i henhold til kravene og utfรธres vanligvis nรฅr hele systemet er klart, det utfรธres av testere nรฅr Build eller koden frigis til QA-teamet
  • Akseptprรธving โ€“ Aksepttesting utfรธres for รฅ verifisere om systemet har oppfylt forretningskravene og er klart til bruk eller klar for distribusjon og utfรธres vanligvis av sluttbrukerne.

Ikke-funksjonell testing: Ikke-funksjonell testing er en testteknikk som ikke fokuserer pรฅ funksjonelle aspekter og hovedsakelig konsentrerer seg om de ikke-funksjonelle egenskapene til systemet som minnelekkasjer, ytelse eller robusthet til systemet. Ikke-funksjonell testing utfรธres pรฅ alle testnivรฅer.

Det er mange ikke-funksjonelle testteknikker, hvorav de viktigste er

  • Ytelsestesting - Ytelsestesting utfรธres for รฅ sjekke om responstiden til systemet er normal i henhold til kravene under รธnsket nettverksbelastning.
  • Gjenopprettingstesting โ€“ Gjenopprettingstesting er en metode for รฅ verifisere hvor godt et system er i stand til รฅ gjenopprette fra krasj og maskinvarefeil.
  • Test av kompatibilitet โ€“ Kompatibilitetstesting utfรธres for รฅ verifisere hvordan systemet oppfรธrer seg pรฅ tvers av ulike miljรธer.
  • Sikkerhetstesting - Sikkerhetstesting utfรธres for รฅ verifisere robustheten til applikasjonen, dvs. for รฅ sikre at kun autoriserte brukere/roller fรฅr tilgang til systemet
  • Brukervennlighetstesting - Brukervennlighetstesting er en metode for รฅ verifisere brukervennligheten til systemet av sluttbrukerne for รฅ verifisere hvor komfortable brukerne er med systemet.

Dynamiske testteknikker

Dynamiske testteknikker in STLC bestรฅr av ulike oppgaver som kravanalyse for testene, testplanlegging, testcasedesign og implementering, testmiljรธoppsett, testcaseutfรธrelse, feilrapportering og til slutt testavslutning. Alle oppgavene i dynamiske testteknikker er avhengig av fullfรธringen av forrige oppgave i testprosessen.

I STLC kan vi si at den faktiske dynamiske testprosessen starter fra Test Case Design, la oss diskutere hver aktivitet i detalj.

Dynamiske testteknikker

Fรธr du gรฅr inn i prosessen, kan vi diskutere strategien som mรฅ fรธlges for dynamisk testing.

Teststrategi bรธr hovedsakelig fokusere pรฅ tilgjengelige ressurser og tidsrammen. Basert pรฅ disse faktorene mรฅ formรฅlet med testingen, omfanget av testingen, faser eller sykluser av testing, type miljรธ, antakelser eller utfordringer som kan stรฅ overfor, risikoer osv. dokumenteres.

Nรฅr strategien er definert og er akseptert av ledelsen, starter selve prosesstestcasedesignet

Hva er testdesign og implementering

I denne fasen identifiserer vi,

  • Funksjoner som skal testes
  • Utled testbetingelsene
  • Utlede dekningselementene
  • Utlede testsakene

Test miljรธoppsett

Vi mรฅ sรธrge for at testmiljรธet alltid skal vรฆre likt produksjonsmiljรธet, i denne fasen mรฅ vi installere bygge og administrere testmaskinene.

Testutfรธrelse

I lรธpet av denne fasen blir testsaker faktisk utfรธrt.

Feilrapport fanget

Basert pรฅ utfรธrelsen, hvis de forventede og faktiske resultatene ikke er de samme, mรฅ testsaken merkes som mislykket og en feil skal logges.

Fordeler med dynamisk testing

  • Dynamisk testing kan avdekke de avdekkede defektene som anses รฅ vรฆre for vanskelige eller kompliserte og som ikke kan dekkes gjennom statisk analyse
  • I Dynamic Testing utfรธrer vi programvaren ende til ende, og sikrer feilfri programvare som igjen รธker kvaliteten pรฅ et produkt og et prosjekt.
  • Dynamisk testing blir et viktig verktรธy for รฅ oppdage sikkerhetstrusler

Ulemper med dynamisk testing

  • Dynamisk testing er tidkrevende fordi den kjรธrer applikasjonen/programvaren eller koden som krever enorme mengder ressurser
  • Dynamisk testing รธker kostnadene for prosjektet/produktet fordi det ikke starter tidlig i programvarens livssyklus, og derfor kan eventuelle problemer lรธst i senere stadier resultere i en รธkning i kostnadene.

Konklusjon

In Engineering programvare, Verifikasjon og Validering er to tiltak som brukes for รฅ kontrollere at programvareproduktet oppfyller kravspesifikasjonene. Statisk testing innebรฆrer verifisering, mens dynamisk testing innebรฆrer validering. Sammen bidrar de til รฅ levere en kostnadseffektiv kvalitetsprogramvare.

Oppsummer dette innlegget med: