Programinė įranga apima operacines sistemas ir programas, kurios yra sukurtos veikti vienoje ar keliose iš jų. Programinės įrangos testavimas yra programinės įrangos tikrinimo ir naudojimo procesas kūrimo metu ir po jo, bet prieš išleidžiant, siekiant patikrinti, ar funkcijos veikia, aptikti klaidas, patikrinti klaidų pataisymus ir įsitikinti, kad ji gerai veikia vartotojams. Dinaminis testavimas, dar vadinamas dinamine analize, yra programinės įrangos įvertinimo procesas, kai ji naudojama. Tai skiriasi nuo statinio testavimo, kuris yra programos analizė, kuri atliekama nevykdant programos. Kiti testavimo tipai apima atsako laiko testavimą ir retrospektyvų testavimą.
Statinis ir dinaminis testavimas kartu yra du pagrindiniai programinės įrangos testavimo tipai, kurie tam tikrais būdais subalansuoja vienas kitą. Viena vertus, statinis testavimas randa sintaksės klaidas ir kitas kodavimo problemas ir apima visą programą. Kita vertus, didelės ir sudėtingos programos dinaminis testavimas dažnai gali neaprėpti visos programos, nes ne kiekvienas galimas scenarijus gali būti įsivaizduojamas ar sukurtas per testavimui skirtą laiką.
Dinaminis testavimas analizuoja programinę įrangą įvairiose veiklos aplinkose. Tai apima skirtingų gamintojų kompiuterių ir kitus aparatinės įrangos skirtumus, galbūt kelis monitorius, skirtingas operacines sistemas ir skirtingus programinės įrangos rinkinius, esančius įrenginyje. Be to, bandytojai gali turėti išorinių modulių arba papildinių, kuriuos jie naudoja kartu su testuojama programine įranga, kurie padidina testavimo aplinkų diferenciaciją atliekant dinaminį testavimą.
Dinaminis testavimas programinės įrangos kūrimo įmonėje greičiausiai atitiks IEEE (Elektros ir elektronikos inžinierių instituto) programinės įrangos testavimo gaires ir protokolus bei testavimo planą, kurį įmonė sukūrė pagal juos. Be įmonės beta versijos testuotojai dažnai naudojami papildomam testavimui, o šie testuotojai paprastai yra visiškai susiję su dinaminiu testavimu. Paprastai bandoma turėti įvairią beta versijos bandytojų grupę pagal aparatinę įrangą, operacines sistemas ir programų naudojimą. Beta versijos bandytojai, kurie gali turėti neatskleidimo susitarimą su įmone, gali turėti protokolą, kurio reikia laikytis, arba gali būti paprašyta naudoti programinę įrangą taip, kaip jie paprastai ją naudotų, arba jie gali atlikti kai kuriuos iš jų. Paprastai beta versijos bandytojai turi oficialią ataskaitų teikimo sistemą, kad praneštų apie strigtis, įtariamas klaidas, funkcijų neveikiančius taip, kaip aprašyta, arba bet kokius kitus neįprastus, netikėtus ar nepatogius darbo su programine įranga aspektus.