Programska oprema vključuje operacijske sisteme in programe, ki so zasnovani za delovanje na enem ali več od njih. Testiranje programske opreme je postopek preverjanja in uporabe programske opreme med razvojem in po njem, vendar pred izdajo, da se preveri, ali funkcije delujejo, za odkrivanje hroščev, za preverjanje popravkov napak in za zagotovitev, da dobro deluje za uporabnike. Dinamično testiranje, imenovano tudi dinamična analiza, je proces ocenjevanja programske opreme, ko se uporablja. Je v nasprotju s statičnim testiranjem, ki je analiza programa, ki se izvede brez izvajanja programa. Druge vrste testiranja vključujejo testiranje odzivnega časa in retrospektivno testiranje.
Statično in dinamično testiranje skupaj sta dve glavni vrsti testiranja programske opreme, ki se izvajata in na določene načine uravnotežita drug drugega. Po eni strani statično testiranje odkrije sintaktične napake in druge težave s kodiranjem ter pokriva celoten program. Po drugi strani pa dinamično testiranje velikega in zapletenega programa pogosto morda ne pokriva celotnega programa, ker si ni mogoče zamisliti ali ustvariti vsakega možnega scenarija v času, ki je namenjen testiranju.
Dinamično testiranje analizira programsko opremo v različnih operacijskih okoljih. To vključuje različne znamke računalnikov in druge razlike v strojni opremi, morda vključno z več monitorji, različnimi operacijskimi sistemi in različnimi nabori programskih aplikacij, ki soobstajajo na napravi. Poleg tega imajo lahko preizkuševalci zunanje module ali vtičnike, ki jih uporabljajo v povezavi s programsko opremo, ki se preizkuša, kar poveča razlikovanje okolij za testiranje pri dinamičnem testiranju.
Dinamično testiranje v podjetju za razvoj programske opreme bo verjetno sledilo smernicam in protokolom, ki jih je določil IEEE (Inštitut inženirjev elektronike in elektronike) za testiranje programske opreme in načrtu testiranja, ki ga je podjetje razvilo v skladu s temi. Za dodatno testiranje se pogosto uporabljajo zunanji preizkuševalci beta, ki so običajno v celoti vključeni v dinamično testiranje. Običajno se poskuša imeti raznoliko skupino beta preizkuševalcev glede na strojno opremo, operacijske sisteme in uporabo programov, kot je primerno. Preizkuševalci beta, ki imajo morda s podjetjem pogodbo o nerazkrivanju podatkov, imajo lahko protokol, ki mu morajo slediti, ali pa so pozvani, da uporabljajo programsko opremo na način, kot bi jo običajno uporabljali, ali pa nekaj od vsakega od njih. Na splošno obstaja uradni sistem poročanja za preizkuševalce beta, ki označuje zrušitve, domnevne napake, nedelovanje funkcij, kot je opisano, ali kakršne koli druge nenavadne, nepričakovane ali neprijetne vidike dela s programsko opremo.