Regresijsko testiranje je testiranje softverskih modula iz prethodnih izdanja programa u nastojanju da se otkriju nove pogreške koje je stvorio programer. Automatsko regresijsko testiranje odnosi se na proces kojim se računalni softver regresijski testira na automatiziran način korištenjem skripti za testiranje. Ova vrsta regresijskog testiranja je proces u kojem se testne skripte pokreću na softverskom kodu u svrhu provjere da novije verzije koda nisu dovele do problema s prethodnim verzijama.
Razvoj softvera je umjetnost pisanja softverskog koda za dovršavanje zadatka na automatiziran način, što obično povećava produktivnost pojedinaca ili organizacija. Proces kojim se softver razvija uključuje životni ciklus koji zahtijeva značajno testiranje prije nego što softver bude dostupan za javnu potrošnju. Ovo testiranje može postati zamorno i ponavljajuće ako se radi ručno, zbog čega je stvoreno automatsko regresijsko testiranje.
Testiranje je kritična funkcija za sav razvoj softvera jer je dizajnirano da osigura da softverska aplikacija zadovoljava potrebe kupaca. Testiranje softverskih aplikacija uključuje četiri primarna područja, a to su testiranje jedinica, testiranje integracije, funkcionalno testiranje i testiranje performansi. Automatsko regresijsko testiranje je proces kojim se prethodni testovi za ova područja testiranja ponovno testiraju radi potpunosti.
Testiranje bilo koje softverske komponente zahtijeva izradu testnih skripti. Testne skripte su upute za dovršavanje testa, koje uključuju zahtjeve za ulaze i izlaze testnog slučaja. Svaki testni slučaj se unosi u testnu skriptu kako bi se stvorio potpuni testni pojas aplikacije.
Testne skripte mogu se automatizirati pisanjem koda koji će izvršiti upute unutar testnog slučaja. Ova automatizacija nije potrebna za testiranje aplikacije, ali je najbolja praksa jer povećava produktivnost i smanjuje rizik od ljudske pogreške tijekom testiranja. Automatsko regresijsko testiranje je proces izvođenja prethodnih automatiziranih testnih skripti kako bi se osiguralo da bilo koji novi kod nije uveo greške koje su prethodno testirane i izbjegnute.
Softver se može smatrati složenim skupom modula koji se oslanjaju na potpunu suradnju neovisnih funkcija i hardvera i softvera računala. Ključno je da svaka iteracija softverskog koda bude potpuno testirana kako bi se osiguralo da suradnja između ovih modula ostane netaknuta. Automatsko regresijsko testiranje je proces najbolje prakse kako bi se osigurala stalna interoperabilnost između komponenti za svaku verziju softvera.