Skip to content

Regressiotestaus (Regression Testing)

Kuvauksen kirjoitti: Senko Leung N3717

Lyhyt kuvaus käsitteestä tai aiheesta

Regressiotestaus on testien uudelleen suorittaminen jotta varmistetaan päivitetty tai muutetussa ohjelmistossa ei tule mitään ongelmia tai uusia vikoja. Kun vaaditaan regressiotestausta muutoksen jälkeen ovat yleensä virheenkorjaukset, ohjelmistopäivitys, kokoonpanomuutokset ja jopa komponenttien korvaaminen. Testausta voidaan vielä käyttää ohjelman oikeellisuuden testaamiseen ja myös tulosten laadun seuraaminen.

Kun koodimuutoksia tulee niin regressiotestausta tehdään. Koodimuutokseksi luokitellaan kun tuotetta on parannettu, tuotteessa tapahtuu muutoksia tai virheenkorjaukset. Toimivassa ohjelmistossa tarvitaan ylläpitoa ja muutosta tarpeiden mukaan. Lisäksi voi olla virheitä tai ongelmia tai muutoksia, jotka vaativat muutoksia. Koodimuutosten testaamisen jälkeen testaajat suorittavat regressiotestin. Tässä varmistetaan nykyisen toiminnan toimivuuden että se on hyvä. Sen jälkeen varmistetaan ettei uusia vikoja tule tai vikoja tuotu uusien koodimuutosten vuoksi.

Regressiotestaukseen edellytetään yksikkötestaus että integraatiotestaus uusista moduuleista. Tarvitaan myös regressiotestisarja, testausympäristö ja virheenseurantatyökalu. Kun testataan laadunvalvontatestaajat kehittävät regressiotestipaketin kun tehdään testiä ensimmäistä kertaa. Tulevaisuudessa testipakettia voidaan testejä pienellä muutoksilla. Regressiotapaukset ovat yleensä toistuvia joten automatisointi on hyvä valinta tehtävään ja ajan säästämiseksi.

Regressiotestaus tekniikat ovat seuraavat:

  • Retest all
  • Regression test selection
  • Test case prioritization
  • Hybrid

Retest all tekniikalla tarkistetaan kaikki nykyisen ohjelman testitapaukset. Kallista kun testataan kaikkia tapauksia uudelleen.

Regression test selection suorittaa vain osan testisarjasta. Kustannus on tietenkin halvempi kuin retest all.

Test case prioritization tekniikka priorisoi tärkeimmät testitapaukset ensin. Tällä tavalla vian havaintonopeus kasvaa testauksen aikana. Tärkeimmät testitapaukset ovat yleensä ovat yleensä joista on hyötyä tai ohjelmistoversion mukaan.

Hybridillä yhdistetään testauksen valinta ja testien priorisointi

Regressiotestauksen etuna on varmistaa järjestelmään ei tule uusia vikoja. Testaus on toistuvaa joten siihen soveltuu todella hyvin automatisointi. Automatisointi nopeutaa regressiotestausprosessia ja päästäään tarkistaa järjestelmää helposti.

Haasteena on kun tuotetta muutetaan useasti niin regressiotestausta on tehtävä useasti. Tämän takia kustannukset kasvavat. Ajan myötä testipaketit tulee olemaan melko valtavia. Näitten käsitteleminen kaikkien skenaarioiden on vaikeaa.

Linkit ulkopuolisiin lähteisiin