Regresijsko testiranje je testiranje programskih modulov iz prejšnjih izdaj programa, da bi odkrili nove napake, ki jih je ustvaril razvijalec programske opreme. Avtomatizirano regresijsko testiranje se nanaša na postopek, s katerim se računalniška programska oprema regresijsko testira na avtomatiziran način z uporabo skriptov za testiranje. Ta vrsta regresijskega testiranja je postopek, ko se testni skripti izvajajo proti programski kodi za namene preverjanja, ali novejše različice kode niso povzročile težav s prejšnjimi različicami.
Razvoj programske opreme je umetnost pisanja programske kode za dokončanje naloge na avtomatiziran način, kar običajno poveča produktivnost posameznikov ali organizacij. Proces, s katerim se razvija programska oprema, vključuje življenjski cikel, ki zahteva pomembno testiranje, preden je programska oprema na voljo za javno porabo. To testiranje lahko postane dolgočasno in ponavljajoče se, če ga izvajate ročno, zato je bilo ustvarjeno samodejno regresijsko testiranje.
Testiranje je ključna funkcija za ves razvoj programske opreme, saj je zasnovano tako, da zagotovi, da programska aplikacija ustreza potrebam strank. Testiranje programskih aplikacij vključuje štiri glavna področja, ki so testiranje enot, testiranje integracij, funkcionalno testiranje in testiranje zmogljivosti. Avtomatizirano regresijsko testiranje je postopek, s katerim se predhodni testi za ta področja testiranja ponovno testirajo glede popolnosti.
Testiranje katere koli programske komponente zahteva izdelavo testnih skriptov. Testni skripti so navodila za dokončanje testa, ki vključujejo zahteve za vhode in izhode testnega primera. Vsak testni primer se vnese v testni skript, da se ustvari celoten testni pas aplikacije.
Testne skripte je mogoče avtomatizirati s pisanjem kode, ki bo izvajala navodila v testnem primeru. Ta avtomatizacija ni potrebna za testiranje aplikacije, je pa najboljša praksa, saj poveča produktivnost in zmanjša tveganje za človeške napake med testiranjem. Samodejno regresijsko testiranje je postopek izvajanja predhodnih avtomatiziranih testnih skriptov, da se zagotovi, da nobena nova koda ni povzročila napak, ki so bile predhodno preizkušene in preprečene.
Programsko opremo si lahko predstavljamo kot kompleksen nabor modulov, ki temeljijo na popolnem sodelovanju neodvisnih funkcij tako strojne kot programske opreme računalnika. Ključnega pomena je, da se vsaka ponovitev programske kode v celoti preizkusi, da se zagotovi, da sodelovanje med temi moduli ostane nedotaknjeno. Avtomatizirano regresijsko testiranje je postopek najboljše prakse za zagotovitev stalne interoperabilnosti med komponentami za vsako različico programske opreme.