Hvad er dynamisk test? Typer, teknikker og eksempler

Dynamisk test

Dynamisk test er en softwaretestmetode, der bruges til at teste softwarekodens dynamiske adfรฆrd. Hovedformรฅlet med dynamisk test er at teste softwareadfรฆrd med dynamiske variabler eller variabler, som ikke er konstante og finde svage omrรฅder i software-runtime-miljรธet. Koden skal udfรธres for at teste den dynamiske adfรฆrd.

Vi ved alle, at test er verifikation og validering, og det tager 2 Vs at gรธre testen komplet. Ud af de 2 V'er kaldes verifikation en statisk test, og den anden "V", validering er kendt som dynamisk test.

Eksempel pรฅ dynamisk test

Lad os forstรฅ, hvordan man laver dynamisk test med et eksempel:

Antag, at vi tester en login-side, hvor vi har to felter, hvor der stรฅr "Brugernavn" og "Adgangskode", og brugernavnet er begrรฆnset til alfanumerisk.

Nรฅr brugeren indtaster brugernavn som "Guru99", accepterer systemet det samme. Hvor som nรฅr brugeren indtaster som Guru99@123, sรฅ sender applikationen en fejlmeddelelse. Dette resultat viser, at koden virker dynamisk baseret pรฅ brugerens input.

Dynamisk test er, nรฅr du arbejder med det faktiske system ved at give input og sammenligne applikationens faktiske adfรฆrd med den forventede adfรฆrd. Med andre ord arbejde med systemet med den hensigt at finde fejl.

Sรฅ baseret pรฅ ovenstรฅende udsagn kan vi sige eller konkludere, at dynamisk test er en proces med at validere softwareapplikationer som slutbruger under forskellige miljรธer for at bygge den rigtige software.

Hvad gรธr dynamisk test?

Hovedformรฅlet med de dynamiske tests er at sikre, at softwaren fungerer korrekt under og efter installationen af โ€‹โ€‹softwaren, hvilket sikrer en stabil applikation uden stรธrre fejl (denne erklรฆring er lavet, fordi ingen software er fejlfri, test kan kun vise tilstedevรฆrelse af defekter og ikke fravรฆr)

Hovedformรฅlet med den dynamiske test er at sikre konsistens til softwaren; lad os diskutere dette med et eksempel.

I en bankapplikation finder vi forskellige skรฆrmbilleder som f.eks. Mine konti, pengeoverfรธrsel, Bill Betal osv.. Alle disse skรฆrmbilleder indeholder belรธbsfelter, som accepterer nogle tegn.

Lad os sige, at Mine konti-feltet viser belรธb som 25,000 og pengeoverfรธrsel som $25,000 og Bill betalingsskรฆrm som $25000 Selvom belรธbet er det samme, er mรฅden, belรธbet vises pรฅ, ikke det samme, hvilket gรธr softwaren uensartet.

Konsistens er ikke kun begrรฆnset til funktionaliteten, den refererer ogsรฅ til forskellige standarder som ydeevne, brugervenlighed, kompatibilitet osv., derfor bliver det meget vigtigt at udfรธre dynamisk test.

Typer af dynamisk test

Dynamisk test er klassificeret i to kategorier

  • Hvid Box Test
  • Sort Box Test

Nedenstรฅende billedgengivelse giver os en idรฉ om typer af dynamisk testning, testniveauer osv.

Typer af dynamisk test

Lad os kort diskutere hver type test og dets tilsigtede formรฅl

Hvid Box Test - Hvid Box Test er en softwaretestmetode, hvor den interne struktur/design er kendt af testeren. Hovedformรฅlet med White Box test er at kontrollere, hvordan systemet fungerer baseret pรฅ koden. Det udfรธres hovedsageligt af udviklerne eller White Box Testere, der har viden om programmering.

Sort Box Testning - Sort Box Test er en testmetode, hvor den interne struktur/kode/design er IKKE kendt af testeren. Hovedformรฅlet med denne test for at verificere funktionaliteten af โ€‹โ€‹det system, der testes, og denne type test krรฆver at udfรธre hele testpakken og udfรธres hovedsageligt af testerne, og der er ikke behov for nogen programmeringsviden.

Sort Box Testning er igen klassificeret i to typer.

De er

  • Funktionstest
  • Ikke-funktionel test

Funktionel testning:

Funktionel test udfรธres for at verificere, at alle de udviklede funktioner er i overensstemmelse med de funktionelle specifikationer, og den udfรธres ved at udfรธre de funktionelle testcases skrevet af QA-teamet, i funktionstestfasen testes systemet ved at levere input, verificere output og sammenligne de faktiske resultater med de forventede resultater.

Der er forskellige niveauer af funktionel test, hvoraf de vigtigste er

  • Enhedstest โ€“ Generelt er Unit et lille stykke kode, som kan testes, Enhedstest udfรธres pรฅ individuel softwareenhed og udfรธres af udviklere
  • Integrationstest - Integrationstest er den test, som udfรธres efter Unit Testing og udfรธres ved at kombinere alle de individuelle enheder, som er testbare og udfรธres enten af โ€‹โ€‹udviklere eller testere
  • Systemtest - Systemtest er en udfรธrt for at sikre, om systemet fungerer i henhold til kravene og udfรธres generelt, nรฅr hele systemet er klar, det udfรธres af testere, nรฅr Build eller koden frigives til QA-teamet
  • Acceptantestning โ€“ Accepttest udfรธres for at verificere, om systemet har opfyldt forretningskravene og er klar til brug eller klar til implementering og udfรธres generelt af slutbrugerne.

Ikke-funktionel test: Ikke-funktionel test er en testteknik, som ikke fokuserer pรฅ funktionelle aspekter og hovedsageligt koncentrerer sig om systemets ikke-funktionelle egenskaber sรฅsom hukommelseslรฆkager, ydeevne eller robusthed af systemet. Ikke-funktionel test udfรธres pรฅ alle testniveauer.

Der er mange ikke-funktionelle testteknikker, hvoraf de vigtigste er

  • Test af ydeevne - Test af ydeevne udfรธres for at kontrollere, om systemets responstid er normal i henhold til kravene under den รธnskede netvรฆrksbelastning.
  • Gendannelsestest โ€“ Gendannelsestest er en metode til at verificere, hvor godt et system er i stand til at genoprette efter nedbrud og hardwarefejl.
  • Test af kompatibilitet โ€“ Kompatibilitetstest udfรธres for at verificere, hvordan systemet opfรธrer sig pรฅ tvรฆrs af forskellige miljรธer.
  • Sikkerhedsprรธvning - Sikkerhedsprรธvning udfรธres for at verificere applikationens robusthed, dvs. for at sikre at kun de autoriserede brugere/roller fรฅr adgang til systemet
  • Test af brugervenlighed - Test af brugervenlighed er en metode til at verificere systemets anvendelighed af slutbrugerne for at verificere, hvor komfortable brugerne er med systemet.

Dynamiske testteknikker

Dynamiske testteknikker in STLC bestรฅr af forskellige opgaver som kravanalyse til testene, Testplanlรฆgning, Testcase design og implementering, Testmiljรธ opsรฆtning, Testcase eksekvering, Bug rapportering og til sidst Test lukning. Alle opgaverne i dynamiske testteknikker er afhรฆngige af fรฆrdiggรธrelsen af โ€‹โ€‹den foregรฅende opgave i testprocessen.

I STLC kan vi sige, at den faktiske dynamiske testproces starter fra Test Case Design, lad os diskutere hver aktivitet i detaljer.

Dynamiske testteknikker

Inden vi gรฅr ind i processen, lad os diskutere den strategi, der skal fรธlges for dynamisk test.

Teststrategi bรธr hovedsageligt fokusere pรฅ de tilgรฆngelige ressourcer og tidsrammen. Baseret pรฅ disse faktorer skal formรฅlet med testen, omfanget af testen, faser eller cyklusser af test, type miljรธ, antagelser eller udfordringer, der kan stรฅ over for, risici osv. dokumenteres.

Nรฅr strategien er defineret og accepteret af ledelsen, starter selve procestestcase-designet

Hvad er testdesign og -implementering

I denne fase identificerer vi,

  • Funktioner, der skal testes
  • Udled testbetingelserne
  • Udled dรฆkningselementerne
  • Udled testcaserne

Test miljรธopsรฆtning

Vi skal sikre, at testmiljรธet altid skal ligne produktionsmiljรธet, i denne fase skal vi installere opbygningen og styre testmaskinerne.

Testeksekvering

I denne fase udfรธres testcases faktisk.

Fejlrapport fanget

Baseret pรฅ udfรธrelsen, hvis de forventede og faktiske resultater ikke er de samme, skal testtilfรฆldet markeres som mislykket, og en fejl skal logges.

Fordele ved dynamisk test

  • Dynamisk test kan afslรธre de afdรฆkkede defekter, der anses for at vรฆre for vanskelige eller komplicerede, og som ikke kan dรฆkkes gennem statisk analyse
  • I Dynamic Testing udfรธrer vi softwaren fra ende til anden, hvilket sikrer fejlfri software, som igen รธger kvaliteten af โ€‹โ€‹et produkt og et projekt.
  • Dynamisk test bliver et vigtigt vรฆrktรธj til at opdage eventuelle sikkerhedstrusler

Ulemper ved dynamisk test

  • Dynamisk test er tidskrรฆvende, fordi det udfรธrer applikationen/softwaren eller koden, som krรฆver enorme mรฆngder ressourcer
  • Dynamisk test รธger omkostningerne ved projekt/produkt, fordi det ikke starter tidligt i softwarens livscyklus, og derfor kan eventuelle problemer, der er rettet i senere faser, resultere i en stigning i omkostningerne.

Konklusion

In Software Engineering, Verifikation og Validering er to foranstaltninger, der bruges til at kontrollere, at softwareproduktet opfylder kravspecifikationerne. Statisk test involverer verifikation, mens dynamisk test involverer validering. Sammen hjรฆlper de med at levere en omkostningseffektiv kvalitetssoftware.

Opsummer dette indlรฆg med: