Regressiotestaus on ohjelman aiempien julkaisujen ohjelmistomoduulien testaus, jonka tarkoituksena on paljastaa ohjelmistokehittäjän luomat uudet virheet. Automatisoidulla regressiotestillä tarkoitetaan prosessia, jolla tietokoneohjelmisto regressiotestataan automaattisella tavalla käyttämällä testikomentosarjoja. Tämäntyyppinen regressiotestaus on prosessi, jossa testikomentosarjoja ajetaan ohjelmistokoodia vastaan sen varmistamiseksi, että koodin uudemmat versiot eivät aiheuttaneet ongelmia aiempien versioiden kanssa.
Ohjelmistokehitys on taidetta kirjoittaa ohjelmistokoodia tehtävän suorittamiseksi automatisoidulla tavalla, mikä yleensä lisää yksilöiden tai organisaatioiden tuottavuutta. Ohjelmiston kehittämisprosessi sisältää elinkaaren, joka vaatii merkittävää testausta ennen ohjelmiston saattamista julkiseen käyttöön. Tämä testaus voi tulla työlääksi ja toistuvaksi, jos se tehdään manuaalisesti, minkä vuoksi luotiin automaattinen regressiotestaus.
Testaus on kriittinen toiminto kaikelle ohjelmistokehitykselle, koska se on suunniteltu varmistamaan, että ohjelmistosovellus täyttää asiakkaiden tarpeet. Ohjelmistosovellusten testaus sisältää neljä ensisijaista aluetta, jotka ovat yksikkötestaus, integraatiotestaus, toiminnallinen testaus ja suorituskyvyn testaus. Automaattinen regressiotestaus on prosessi, jolla näiden testausalueiden aiemmat testit testataan uudelleen täydellisiksi.
Minkä tahansa ohjelmistokomponentin testaaminen edellyttää testikomentosarjojen luomista. Testikomentosarjat ovat ohjeita testin suorittamiseen, ja ne sisältävät testitapauksen tulojen ja lähtöjen vaatimukset. Jokainen testitapaus syötetään testiskriptiin sovelluksen täydellisen testisarjan luomiseksi.
Testikomentosarjat voidaan automatisoida kirjoittamalla koodi, joka suorittaa ohjeet testitapauksessa. Tätä automaatiota ei tarvita sovelluksen testaamiseen, mutta se on paras käytäntö, koska se lisää tuottavuutta ja vähentää inhimillisten virheiden riskiä testauksen aikana. Automaattinen regressiotestaus on prosessi, jolla suoritetaan aiemmat automaattiset testikomentosarjat sen varmistamiseksi, että mikään uusi koodi ei ole tuonut aiemmin testattuja ja estettyjä virheitä.
Ohjelmistoa voidaan ajatella monimutkaisena moduulijoukkona, joka perustuu täysin riippumattomiin toimintoihin sekä tietokoneen laitteistosta että ohjelmistosta. On tärkeää, että jokainen ohjelmistokoodin iterointi testataan kokonaan sen varmistamiseksi, että näiden moduulien välinen yhteistyö säilyy ennallaan. Automaattinen regressiotestaus on paras käytäntö, jolla varmistetaan, että komponenttien välinen yhteentoimivuus saavutetaan jokaisen ohjelmistoversion osalta.