Tako kot se testira fizični izdelek, da se preveri, ali ustreza želenemu obnašanju in specifikacijam, se testira tudi programska oprema. Preizkušanje programske opreme lahko izvajajo ročno ljudje ali z uporabo orodij. Orodje za avtomatsko testiranje je del programske opreme, ki se uporablja za testiranje ciljne programske opreme, torej obravnavane programske opreme. Takšno orodje izvaja različne teste na ciljni programski opremi in ugotavlja, ali so testi uspešno opravljeni.
Programsko opremo je treba preizkusiti, da se zagotovi, da so generirani pravilni rezultati, da so veljavni vnosi sprejeti in pravilno obdelani ter da so neveljavni vnosi zavrnjeni. Testiranje je potrebno, da ugotovimo, ali so rezultati generirani hitro, programska oprema deluje dobro, tudi če do nje hkrati dostopa veliko število ljudi itd. Pogosto se uporabljajo ročni testi, vendar so odvisni od temeljitosti ljudi, ki testirajo. Ročno testiranje programske opreme zahteva čas in zahteva veliko število ljudi za večino netrivialnih aplikacij, kar poveča stroške. Poleg tega testiranja za tisoče hkratnih uporabnikov ali velike količine podatkov ni mogoče zlahka izvesti na ročni način.
Avtomatizacija testiranja je uporaba orodij za testiranje programske opreme. Orodje za avtomatsko testiranje je samo programska oprema, ki bi jo lahko razvili, kupili ali pridobili. Orodje običajno začne izvajati ciljno programsko opremo in posreduje različne vhode ciljni programski opremi za testiranje različnih pogojev. Ocenjuje ustrezne izhode ciljne programske opreme in spremlja izid uspešnosti/neuspešnosti vsakega testa. Na koncu serije testov orodje običajno poda povzetek rezultatov, tako da lahko hitro ugotovite število in resnost napak.
Orodje za avtomatsko testiranje lahko deluje na dva načina. Prvič, lahko ga poganja koda, to pomeni, da je orodje lahko tesno povezano z napisano kodo, tako da preveri, ali so rezultati za različne vnose pravilni. Drugič, lahko temelji na uporabniškem vmesniku, kjer se posnemajo dejavnosti uporabnikov, kot so premiki miške, vnosi s tipkovnico, glasovni vnosi itd., in se preverjajo pravilnosti izhodov, ki so zagotovljeni uporabnikom. V slednjem primeru bi lahko orodje posnelo dejanske dejavnosti osebe in jih nato ponovno predvajalo ali pa bi se takšne dejavnosti lahko ustvarile iz skripta ukazov, ki se dovajajo v orodje.
Na trgu so na voljo orodja za avtomatsko testiranje splošnega namena. Večina je precej dragih, vendar so nekatera orodja na voljo brezplačno. Če je ciljna programska oprema zelo specifična ali edinstvena, mora ta programska ekipa sama razviti orodje za testiranje po meri. Kot pri vsej programski opremi imajo orodja sama po sebi omejitve in delujejo pravilno le, če imajo dobre vhodne podatke. Če ne zagotovite relativno popolnega nabora testov, orodje ne bo pomagalo določiti kakovosti ciljne programske opreme.
Orodje za avtomatsko testiranje ima številne prednosti. Ko je ustvarjena serija testov, se lahko testi izvedejo hitreje, kot jih lahko izvede oseba. Testi se lahko izvajajo čez noč ali ob nenavadnih urah, tako da se ljudje lahko osredotočijo na tisto, kar najbolje delajo. Teste je mogoče izvajati znova in znova, da ugotovimo, ali so se napake prikradle v ciljno programsko opremo, ko se sčasoma spreminja.