Hva er dynamisk testing?
Programvare inkluderer operativsystemer og programmer som er laget for å kjøre på en eller flere av dem. Testing av programvare er en prosess for å undersøke og bruke programvare under og etter utvikling, men før utgivelse, for å bekrefte at funksjonene fungerer, for å oppdage feil, for å sjekke feilrettinger og for å sikre at det fungerer bra for brukere. Dynamisk testing, også kalt dynamisk analyse, er prosessen med å evaluere programvare mens den blir brukt. Det står i motsetning til statisk testing, som er analyse av et program som gjøres uten å kjøre programmet. Andre typer tester inkluderer svartidstesting og retrospektiv testing.
Statisk testing og dynamisk testing sammen er to av hovedtyper av programvaretesting som utføres, og de balanserer hverandre på bestemte måter. På den ene siden finner statisk testing syntaksfeil og andre kodingsproblemer og dekker hele programmet. På den annen side kan det hende at dynamisk testing av et stort og sammensatt program ofte ikke dekker hele programmet fordi ikke alle mulige scenarier kan tenkes eller opprettes i tiden som er avsatt til testing.
Dynamisk testing analyserer programvaren i forskjellige driftsmiljøer. Dette inkluderer forskjellige merker av datamaskiner og andre maskinvareforskjeller, muligens inkludert flere skjermer, forskjellige operativsystemer og forskjellige sett med programvare som eksisterer samtidig på maskinen. I tillegg kan testere ha eksterne moduler eller plugin-moduler som de bruker i forbindelse med programvaren som tester, noe som øker differensieringen av testmiljøene i den dynamiske testen.
Dynamisk testing i et programvareutviklingsfirma vil sannsynligvis følge retningslinjene og protokollene satt av IEEE (Institute of Electrical and Electronics Engineers) for programvaretesting og testplanen som selskapet har utviklet i samsvar med disse. Betatestere eksternt for et selskap blir ofte brukt til ekstra testing, og disse testerne er vanligvis helt involvert i dynamisk testing. Det blir vanligvis gjort forsøk på å ha en mangfoldig gruppe betatestere når det gjelder maskinvare, operativsystemer og programbruk, når det gjelder. Betatestere, som kan ha en avtale om ikke-avsløring med selskapet, kan ha en protokoll som skal følges eller bli bedt om å bruke programvaren på den måten de normalt bruker den, eller de kan gjøre noe av hvert. Det er generelt et formelt rapporteringssystem for betatestere som indikerer krasj, mistenkte feil, funksjonssvikt som funksjoner som beskrevet, eller andre uvanlige, uventede eller upraktiske aspekter ved å jobbe med programvaren.