Tarkvara testimine
Tarkvara testimine on tarkvaraarenduse protsess, mille käigus püütakse hinnata tarkvara kvaliteeti. Kitsamas mõttes tähendab tarkvara testimine tarkvara käivitamist/täitmist selles olevate vigade avastamiseks ja tarkvara vastavuse kontrollimist ettenähtud nõuetele. Laiemas mõttes on testimine tarkvara analüüsi protsess, mille käigus "püütakse leida erinevusi olemasolevate ja nõutud tingimuste vahel ning hinnata tarkvara omadusi". Testimine laiemas mõttes on tarkvaratoote planeerimise, ettevalmistuse ja hindamisega seotud elutsükli tegevusi hõlmav protsess. Tarkvara testimine on paljuski kogemustel põhinev tehniline uurimine. Testides võetakse arvesse konteksti, milles programm töötama peab. Testimise eesmärk on saada programmi käivitades tulemuseks viga. Testimine annab infot toote kvaliteedi kohta, kuid tarkvara kvaliteet on iga kasutaja jaoks subjektiivne. Seepärast ei saa testimisega kunagi tagada programmi täiuslikkust. Kasutaja kritiseerib või võrdleb programmi seisu või käitumist oma seisukohast lähtuvalt. Tarkvara testimine püüab anda objektiivse ja erapooletu ülevaate tarkvarast, et äripool saaks aru selle tarkvara arendusega kaasnevatest riskidest. Seda saab nimetada ka protsessiks, kus kontrollitakse tarkvaraprogrammi, rakenduse või toote vastavust projekteerimis- ja arendustegevuse ajal kindlaks määratud tehnilistele nõuetele, et see rakendus või toode toimiks nii, nagu vaja ja oleks rakendatav. Tarkvara saab testida arendusprotsessi igal hetkel. Mõnikord kasutatakse teste juba arendusprotsessi algusjärgus, kuid sageli toimub suurem osa testimisest pärast nõuete määratlemist ja programmeerimise lõppemist. Testimise meetodid sõltuvad seega tarkvaraarenduse metoodikast.