Tarkvara hõlmab operatsioonisüsteeme ja programme, mis on loodud töötama ühel või mitmel neist. Tarkvara testimine on protsess, mille käigus uuritakse ja kasutatakse tarkvara arenduse ajal ja pärast väljaandmist, kuid enne väljalaskmist, et kontrollida funktsioonide toimimist, tuvastada vigu, kontrollida veaparandusi ja veenduda, et see töötab hästi kasutajatele. Dünaamiline testimine, mida nimetatakse ka dünaamiliseks analüüsiks, on tarkvara hindamise protsess, mida kasutatakse. See erineb staatilisest testimisest, mis on programmi analüüs, mida tehakse ilma programmi käivitamata. Muud testimise tüübid hõlmavad reaktsiooniaja testimist ja retrospektiivset testimist.
Staatiline testimine ja dünaamiline testimine koos on kaks peamist tarkvara testimise tüüpi, mida tehakse ja need tasakaalustavad üksteist teatud viisil. Ühest küljest leiab staatiline testimine süntaksivead ja muud kodeerimisprobleemid ning katab kogu programmi. Teisest küljest ei pruugi suure ja keeruka programmi dünaamiline testimine sageli hõlmata kogu programmi, sest kõiki võimalikke stsenaariume ei ole võimalik testimiseks ette nähtud aja jooksul ette kujutada ega luua.
Dünaamiline testimine analüüsib tarkvaraprogrammi erinevates töökeskkondades. See hõlmab erinevat marki arvuteid ja muid riistvaralisi erinevusi, sealhulgas mitut monitori, erinevaid operatsioonisüsteeme ja masinas koos eksisteerivaid erinevaid tarkvararakenduste komplekte. Lisaks võivad testijatel olla testitava tarkvaraga seoses kasutatavaid väliseid mooduleid või pistikprogramme, mis suurendavad dünaamilises testimises testimiskeskkondade eristamist.
Tarkvaraarendusettevõtte dünaamiline testimine järgib tõenäoliselt IEEE (Institute of Electrical and Electronics Engineers) tarkvara testimiseks kehtestatud juhiseid ja protokolle ning ettevõtte poolt nende järgi välja töötatud testimisplaani. Täiendavaks testimiseks kasutatakse sageli ettevõtteväliseid beetatestijaid ja need testijad on tavaliselt täielikult seotud dünaamilise testimisega. Tavaliselt püütakse kasutada erinevat beetatestijate rühma riistvara, operatsioonisüsteemide ja programmikasutuse osas, kui see on asjakohane. Beetatestijatel, kellel võib olla ettevõttega mitteavaldamise leping, võib olla protokoll, mida järgida, või neil võib paluda kasutada tarkvara nii, nagu nad seda tavaliselt kasutaksid, või nad võivad teha mõnda neist. Üldiselt on beetatestijate jaoks olemas ametlik aruandlussüsteem, mis annab märku krahhidest, kahtlustatavatest vigadest, funktsioonide tõrgetest, nagu kirjeldatud, või mis tahes muudest ebatavalistest, ootamatutest või ebamugavatest aspektidest tarkvaraga töötamisel.