Vad är dynamisk testning? Typer, tekniker & Exempel

Innehållsförteckning:

Anonim

Dynamisk testning

Dynamisk testning är en testmetod för programvara som används för att testa mjukvarukodens dynamiska beteende. Huvudsyftet med dynamisk testning är att testa programvarubeteende med dynamiska variabler eller variabler som inte är konstanta och hitta svaga områden i programvarans runtime-miljö. Koden måste köras för att testa det dynamiska beteendet.

Vi vet alla att testning är verifiering och validering, och det tar 2 V för att göra testningen komplett. Av de två V: erna kallas Verification en statisk testning och den andra "V", är validering känd som dynamisk testning.

Exempel på dynamiskt test

Låt oss förstå hur man gör dynamisk testning med ett exempel:

Antag att vi testar en inloggningssida där vi har två fält som säger "Användarnamn" och "Lösenord" och användarnamnet är begränsat till Alfanumeriskt.

När användaren anger användarnamn som "Guru99" accepterar systemet detsamma. Var som när användaren kommer in som Guru99 @ 123 då kastar applikationen ett felmeddelande. Detta resultat visar att koden fungerar dynamiskt baserat på användarinmatningen.

Dynamisk testning är när du arbetar med det faktiska systemet genom att ge en inmatning och jämföra applikationens faktiska beteende med det förväntade beteendet. Med andra ord att arbeta med systemet i syfte att hitta fel.

Så baserat på ovanstående uttalanden kan vi säga eller dra slutsatsen att dynamisk testning är en process för att validera programvaruapplikationer som slutanvändare under olika miljöer för att bygga rätt programvara.

Vad gör dynamisk testning?

Huvudsyftet med de dynamiska testerna är att säkerställa att programvara fungerar ordentligt under och efter installationen av programvaran, vilket säkerställer en stabil applikation utan större brister (detta uttalande görs eftersom ingen programvara är felfri, testning kan endast visa närvaron av defekter inte frånvaro)

Huvudsyftet med det dynamiska testet är att säkerställa enhetlighet i programvaran; låt oss diskutera detta med ett exempel.

I en bankapplikation hittar vi olika skärmar som Mina kontosektion, överföring av pengar, fakturering osv ... Alla dessa skärmar innehåller beloppsfält som accepterar vissa tecken.

Låt oss säga att fältet Mina konton visar belopp som 25 000 och överföring av pengar som 25 000 dollar och skärmen för betalning av fakturor som 25 000 dollar, även om beloppet är detsamma, men hur beloppet visas är inte detsamma, vilket gör att programvaran är oförenlig.

Konsistens är inte bara begränsad till funktionaliteten, det hänvisar också till olika standarder som prestanda, användbarhet, kompatibilitet etc, därför blir det mycket viktigt att utföra dynamisk testning.

Typer av dynamisk testning

Dynamisk testning klassificeras i två kategorier

  • White Box Testing
  • Black Box Testing

Nedanstående bildrepresentation ger oss en uppfattning om typer av dynamisk testning, testnivåer etc.

Låt oss diskutera kort varje typ av test och dess avsedda syfte

White Box Testing - White Box Testing är en testmetod för programvara där den interna strukturen / designen är känd för testaren. Huvudsyftet med White Box-testning är att kontrollera hur systemet fungerar baserat på koden. Det utförs huvudsakligen av utvecklare eller White Box Testers som har kunskap om programmeringen.

Black Box Testing - Black Box Testing är en testmetod där den interna strukturen / koden / designen INTE är känd för testaren. Huvudsyftet med denna testning för att verifiera funktionaliteten hos det testade systemet och denna typ av testning kräver att hela testpaketet utförs och utförs huvudsakligen av testarna, och det finns inget behov av någon programmeringskunskap.

Den Black Box Testing åter delas in i två typer.

Dom är

  • Funktionell testning
  • Icke-funktionell testning

Funktionell testning:

Funktionell testning utförs för att verifiera att alla utvecklade funktioner är i enlighet med funktionsspecifikationerna, och det utförs genom att utföra funktionella testfall skrivna av QA-teamet, i funktionstestfasen testas systemet genom att tillhandahålla input, verifiera utdata och jämför de faktiska resultaten med de förväntade resultaten.

Det finns olika nivåer av funktionstestning som de viktigaste är

  • Enhetstestning - I allmänhet är enheten en liten kod som kan testas. Enhetstestning utförs vid enskild enhet av programvara och utförs av utvecklare
  • Integration Testing - Integration Testing är testningen som utförs efter Unit Testing och utförs genom att kombinera alla enskilda enheter som är testbara och utförs antingen av utvecklare eller testare
  • Systemtestning - Systemtestning utförs för att säkerställa om systemet fungerar enligt kraven och utförs vanligtvis när hela systemet är klart, det utförs av testare när Build eller koden släpps till QA-teamet
  • Acceptantestning - Acceptantestning utförs för att verifiera om systemet har uppfyllt företagets krav och är redo att användas eller redo för distribution och utförs i allmänhet av slutanvändarna.

Icke-funktionell testning : Icke-funktionell testning är en testteknik som inte fokuserar på funktionella aspekter och huvudsakligen koncentrerar sig på systemets icke-funktionella attribut såsom minnesläckage, systemets prestanda eller robusthet. Icke-funktionell testning utförs på alla testnivåer.

Det finns många icke-funktionella testtekniker som de viktigaste är

  • Prestandatestning - Prestandatestning utförs för att kontrollera om systemets svarstid är normal enligt kraven under önskad nätverksbelastning.
  • Återställningstestning - Återställningstestning är en metod för att verifiera hur bra ett system kan återhämta sig efter kraschar och maskinvarufel.
  • Kompatibilitetstestning - Kompatibilitetstestning utförs för att verifiera hur systemet beter sig i olika miljöer.
  • Säkerhetstestning - Säkerhetstestning utförs för att verifiera applikationens robusthet, dvs för att säkerställa att endast behöriga användare / roller har åtkomst till systemet
  • Användbarhetstestning - Användbarhetstestning är en metod för att verifiera systemets användbarhet av slutanvändarna för att verifiera hur bekvämt användarna är med systemet.

Dynamiska testtekniker

Dynamiska testtekniker i STLC består av olika uppgifter som Kravsanalys för testerna, Testplanering, Testfallets utformning och implementering, Testmiljöinstallation, Testfallskörning, Felrapportering och slutligen Teststängning Alla uppgifter i dynamiska testtekniker är beroende av att den tidigare uppgiften har slutförts i testprocessen.

I STLC kan vi säga att den faktiska dynamiska testprocessen startar från Test Case Design, låt oss diskutera varje aktivitet i detalj.

Innan vi går in i processen kan vi diskutera strategin som måste följas för dynamisk testning.

Teststrategi bör främst fokusera på tillgängliga resurser och tidsram. Baserat på dessa faktorer måste testets mål, testomfånget, testets faser eller cykler, typ av miljö, antaganden eller utmaningar som kan ställas inför, risker etc. dokumenteras.

När strategin är definierad och accepterad av ledningen börjar den faktiska utformningen av processtestfallet

Vad är testdesign och implementering

I denna fas identifierar vi

  • Funktioner som ska testas
  • Få testvillkoren
  • Hämta täckningsobjekten
  • Få testfallet

Testa miljöinställningar

Vi måste se till att testmiljön alltid ska likna produktionsmiljön, i denna fas måste vi installera byggnaden och hantera testmaskinerna.

Testutförande

Under denna fas genomförs faktiska fall.

Felrapport fångad

Baserat på utförandet om de förväntade och faktiska resultaten inte är desamma måste testfallet markeras som Fail och ett fel ska loggas.

Fördelar med dynamisk testning

  • Dynamisk testning kan avslöja de upptäckta defekter som anses vara för svåra eller komplicerade och som inte kan täckas genom statisk analys
  • I Dynamic Testing kör vi mjukvaran från slut till slut, vilket säkerställer felfri programvara som i sin tur ökar kvaliteten på en produkt och ett projekt.
  • Dynamisk testning blir ett viktigt verktyg för att upptäcka säkerhetshot

Nackdelar med dynamisk testning

  • Dynamisk testning är tidskrävande eftersom den kör applikationen / programvaran eller koden som kräver enorma resurser
  • Dynamisk testning ökar kostnaden för projekt / produkt eftersom den inte startar tidigt i programvarans livscykel och alltså eventuella problem som åtgärdas i senare skeden kan leda till en ökad kostnad.

Slutsats:

I programvaruteknik är verifiering och validering två åtgärder som används för att kontrollera att programvaruprodukten uppfyller kraven. Statisk testning innebär verifiering medan dynamisk testning innebär validering. Tillsammans hjälper de till att leverera en kostnadseffektiv kvalitetsprogramvara.

Denna artikel har bidragit av Radhika Renamala