Dynamisk testing
Dynamisk testing er en programvaretestmetode som brukes til å teste den dynamiske oppførselen til programvarekoden. Hovedformålet med dynamisk testing er å teste programvareoppførsel med dynamiske variabler eller variabler som ikke er konstante og finne svake områder i programvarens kjøretidsmiljø. Koden må utføres for å teste den dynamiske oppførselen.
Vi vet alle at testing er bekreftelse og validering, og det tar 2 V å gjøre testen fullført. Ut av de to V-ene kalles Verification en Statisk testing og den andre "V", er validering kjent som Dynamic testing.
Eksempel på dynamisk testing
La oss forstå hvordan du gjør 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 brukernavnet som "Guru99", godtar systemet det samme. Hvor som når brukeren går inn som Guru99 @ 123, så sender applikasjonen en feilmelding. Dette resultatet viser at koden fungerer dynamisk basert på brukerinntastingen.
Dynamisk testing er når du jobber med det faktiske systemet ved å gi en innspill og sammenligne den faktiske oppførselen til applikasjonen med den forventede oppførselen. Med andre ord å jobbe 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 validering av programvare 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, og som sikrer et stabilt program uten store feil (denne uttalelsen er gitt fordi ingen programvare er feilfri, bare testing kan vise tilstedeværelse av feil og ikke fravær)
Hovedformålet med den dynamiske testen er å sikre konsistens i programvaren; kan vi diskutere dette med et eksempel.
I en banksøknad finner vi forskjellige skjermer som Min kontoseksjon, Overføring av penger, Bill Pay osv ... Alle disse skjermbildene 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 $ 25.000, selv om beløpet er det samme, slik måten beløpet vises på er ikke det samme, og dermed gjør programvaren ikke-konsistent.
Konsistens er ikke bare begrenset til funksjonaliteten, det 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
- White Box Testing
- Black Box Testing
Illustrasjonen nedenfor gir oss en ide om typer dynamisk testing, nivåer av testing, etc.
La oss diskutere kort hver type testing og den tiltenkte hensikten
White Box Testing - White Box Testing er en testmetode for programvare der den interne strukturen / designen er kjent for testeren. Hovedmålet med White Box-testing er å sjekke hvordan System utfører basert på koden. Det utføres hovedsakelig av utviklere eller White Box Testers som har kunnskap om programmeringen.
Black Box Testing - Black Box Testing er en testmetode der den interne strukturen / koden / utformingen IKKE er 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.
The Black Box Testing er igjen inndelt 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 samsvar med funksjonelle spesifikasjoner, og det utføres ved å utføre funksjonelle testtilfeller skrevet av QA-teamet, i funksjonell testfase, blir systemet testet ved å levere input, verifisere utdata og sammenligne de faktiske resultatene med de forventede resultatene.
Det er forskjellige nivåer av funksjonstesting som de viktigste er
- Enhetstesting - Generelt er Enhet et lite stykke kode som kan testes, Enhetstesting utføres på den enkelte enhet av programvare og utføres av utviklere
- Integration Testing - Integration Testing er testen som utføres etter Unit Testing og utføres ved å kombinere alle de individuelle enhetene som kan testes og utføres enten av utviklere eller testere
- Systemtesting - Systemtesting utføres for å sikre om systemet fungerer i henhold til kravene og vanligvis utføres når hele systemet er klart, det utføres av testere når Build eller koden blir utgitt til QA-teamet
- Akseptstesting - Akseptstesting utføres for å verifisere om systemet har oppfylt forretningskravene og er klart til bruk eller klart for distribusjon og utføres vanligvis av sluttbrukerne.
Ikke-funksjonell testing : Ikke-funksjonell testing er en testteknikk som ikke fokuserer på funksjonelle aspekter, og som hovedsakelig konsentrerer seg om systemets ikke-funksjonelle egenskaper, så som minnelekkasjer, ytelse eller robusthet i systemet. Ikke-funksjonell testing utføres på alle testnivåer.
Det er mange ikke-funksjonelle testteknikker som de viktigste er
- Performance Testing - Performance Testing utføres for å sjekke om systemets responstid er normal i henhold til kravene under ønsket nettverksbelastning.
- Recovery Testing - Recovery testing er en metode for å verifisere hvor godt et system er i stand til å gjenopprette fra krasj og maskinvarefeil.
- Kompatibilitetstesting - Kompatibilitetstesting utføres for å verifisere hvordan systemet oppfører seg i forskjellige miljøer.
- Sikkerhetstesting - Sikkerhetstesting utføres for å verifisere applikasjonens robusthet, dvs. for å sikre at bare autoriserte brukere / roller får tilgang til systemet
- Brukertesting - brukbarhetstesting er en metode for å bekrefte brukbarheten av systemet av sluttbrukere for å verifisere om hvordan behagelig brukerne er med systemet.
Dynamiske testteknikker
Dynamiske testteknikker i STLC består av forskjellige oppgaver som Kravsanalyse for testene, Testplanlegging, Test case design og implementering, Test miljø oppsett, Test case utførelse, Bug rapportering og til slutt Test avslutning. Alle oppgavene i dynamiske testteknikker er avhengig av at den forrige oppgaven i testprosessen er fullført.
I STLC kan vi si at den faktiske dynamiske testprosessen starter fra Test Case Design, la oss diskutere hver aktivitet i detaljer.
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 tidsramme. Basert på disse faktorene, må målsettingen med testing, omfanget av testing, faser eller sykluser av testing, type miljø, forutsetninger eller utfordringer som kan oppstå, risikoer etc. dokumenteres.
Når strategien er definert og er akseptert av ledelsen, starter den faktiske prosess testdesign
Hva er testdesign og implementering
I denne fasen identifiserer vi,
- Funksjoner som skal testes
- Utled testforholdene
- Utled dekningselementene
- Derive test tilfeller
Test miljøoppsett
Vi må sørge for at testmiljø alltid skal være likt produksjonsmiljøet. I denne fasen må vi installere bygningen 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 avsløre de avdekkede feilene som anses å være for vanskelige eller kompliserte og som ikke kan dekkes gjennom statisk analyse
- I Dynamic Testing utfører vi programvaren fra ende til annen, og sørger for feilfri programvare som igjen øker kvaliteten på et produkt og prosjekt.
- Dynamisk testing blir et viktig verktøy for å oppdage eventuelle trusler om sikkerhet
Ulemper ved dynamisk testing
- Dynamisk testing er tidkrevende fordi den kjører applikasjonen / programvaren eller koden som krever enorme mengder ressurser
- Dynamisk testing øker kostnadene for prosjekt / produkt fordi det ikke starter tidlig i programvarens livssyklus, og dermed kan eventuelle problemer som er løst i senere stadier føre til økte kostnader.
Konklusjon:
I programvareteknikk er verifisering og validering to tiltak som brukes for å kontrollere at programvareproduktet oppfyller kravspesifikasjonene. Statisk testing innebærer verifisering, mens dynamisk testing innebærer validering. Sammen hjelper de med å levere en kostnadseffektiv kvalitetsprogramvare.
Denne artikkelen er bidratt av Radhika Renamala