Kao što se fizički proizvod testira kako bi se provjerilo zadovoljava li željeno ponašanje i specifikacije, tako se testira i softver. Testiranje softvera mogu obavljati ljudi ručno ili pomoću alata. Alat za automatizirano testiranje dio je softvera koji se koristi za testiranje ciljnog softvera, odnosno softvera koji se razmatra. Takav alat izvršava različite testove na ciljnom softveru i utvrđuje jesu li testovi uspješno prošli.
Softver je potrebno testirati kako bi se osiguralo da su generirani točni rezultati, da su valjani ulazi prihvaćeni i ispravno obrađeni te da su nevažeći ulazi odbijeni. Testiranje je potrebno kako bi se utvrdilo jesu li rezultati generirani brzo, softver radi dobro čak i ako mu istovremeno pristupi veliki broj ljudi i tako dalje. Često se koriste ručni testovi, ali oni ovise o temeljitosti ljudi koji testiraju. Ručno testiranje softvera oduzima vrijeme i zahtijeva značajan broj ljudi za većinu netrivijalnih aplikacija, što povećava troškove. Osim toga, testiranje za tisuće istodobnih korisnika ili velike količine podataka ne može se lako izvesti na ručni način.
Automatizacija testiranja je korištenje alata za testiranje softvera. Alat za automatizirano testiranje sam je softver koji se može razviti, kupiti ili nabaviti. Alat obično počinje izvršavati ciljni softver i prosljeđuje različite ulaze ciljnom softveru za testiranje različitih uvjeta. On ocjenjuje odgovarajuće izlaze ciljnog softvera i prati ishod svakog testa koji je prošao/nije prošao. Na kraju niza testova, alat obično daje sažete rezultate tako da se može brzo odrediti broj i ozbiljnost nedostataka.
Alat za automatizirano testiranje može raditi na dva načina. Prvo, može biti vođen kodom, odnosno alat može biti usko povezan s napisanim kodom tako da provjerava jesu li rezultati za različite ulaze točni. Drugo, može se temeljiti na korisničkom sučelju u kojem se oponašaju aktivnosti korisnika kao što su pokreti miša, unosi tipkovnice, glasovni unosi itd., a rezultati koji se pružaju korisnicima se ispituju za ispravnost. U potonjem slučaju, stvarne aktivnosti osobe mogu se snimiti i zatim reproducirati pomoću alata ili se takve aktivnosti mogu generirati iz skripte naredbi koje se unose u alat.
Na tržištu su dostupni automatizirani alati za testiranje opće namjene. Većina je prilično skupa, ali neki alati dostupni su besplatno. Ako je ciljni softver vrlo specifičan ili jedinstven, tada taj softverski tim vjerojatno treba posebno razviti alat za testiranje. Kao i sa svim softverom, sami alati imaju ograničenja i rade ispravno samo kada su dati dobri ulazni podaci. Ako se ne unese relativno kompletan skup testova, alat neće pomoći u određivanju kvalitete ciljanog softvera.
Alat za automatsko testiranje ima mnoge prednosti. Nakon što se napravi niz testova, testovi se mogu izvršiti brže nego što ih osoba može izvršiti. Testovi se mogu izvoditi preko noći ili u neparne sate, ostavljajući ljudima slobodu da se usredotoče na ono što rade najbolje. Testovi se mogu izvoditi iznova i iznova kako bi se utvrdilo jesu li se pogreške uvukle u ciljni softver kako se mijenja tijekom vremena.