Skip to content

Regeressiotestaus

Kuvauksen kirjoitti: Tapani Alastalo

Kuvaus käsitteestä

Regressiotestauksella pyritään varmistamaan, ettei tehdyt muutokset ohjelma- koodiin riko ohjelmaan aiemmin tehtyjä toimintoja. Regressiotestaus koostuu varhaisemmassa vaiheessa suoritetuista testeistä ja niiden uudelleen ajosta.

Ohjelman kasvaessa ja haarautuessa se muuttuu kompleksisemmaksi, tällöin myös testauspolkujen lukumäärät kasvavat ja yksikkötestaukset eivät riitä ohjelman kokonaisuuden toiminnallisuuden varmistamiseksi esimerkiksi versiopäivityksen yhteydessä.

Regressiotestausta suoritetaan manuaalisesti, automaattisesti, sekä näitä yhdistelemällä.

Testaaminen yleisesti

Testauksella pyritään saamaan tietoa ohjelmakoodin toimivuudesta ja laadusta. Testauksella voidaan todeta projektin kaupallisten ja teknisten vaatimusten täyttyminen. Suoritettavien testien tavoitteena on löytää ohjelmavirheitä, jotta virheet saadaan korjattua ennen ohjelman käyttöönottovaihetta.

Regressiotestauksen merkitys

Regressiotestausta voidaan suorittaa kaikissa prosessin vaiheissa. Regressiotestaukella halutaan varmistaa, että ohjelmaan tehdyt muutokset eivät rikkoisi ohjelmaan aiemmin tehdyn osa-alueen toiminnallisuutta. Yleensä regressiotestaus suoritetaan tehdyn korjauksen tai päivityksen viimeisenä vaiheena.

Regressiotestin osa-alueet

Regressiotestit voidaan jakaa kolmeen ryhmään:

  • ohjelman kaikkiin toteutettuihin ominaisuuksiin liittyvät testit
  • testit niille toiminnoille, joihin muutokset vaikuttavat todennäköisimmin
  • muutettuihin ja lisättyihin komponentteihin kohdistuvat testit

Muuta aiheeseen liittyvää

Manuaalitestaus

Manuaaliset testitapaukset voivat olla yksinkertaiset asiat, kuten yksittäisen painikkeen toiminta. Usein testejä joudutaan toistamaan useaan kertaan, jolloin kannattaa miettiä testauksen automatisointia.

Plussat:

  • virheitä voi olla helpompi löytää manuaalisesti
  • aloittelevalle testaajalle opettaa testaamisen tarkoitusta ja perusteita
  • auttaa oppimaan testattavaa kohdetta loppukäyttäjän näkökulmasta

Miinukset:

  • hidas kestoista
  • itseääntoistavaa ja liian helppoa

Automaatiotestaus

Automaatiotestauksella tavoitellaan toistuvien testitapausten suorittamiseen, jotta voidaan kohdistaa henkilöresurssit järkevämmin. Yleisiä automaatiotestauksen työkaluja ovat Selenium, Robot Framework ja Jenkins.

Plussat:

  • kustannukset pienenevät
  • henkilöresurssien tarve vähenee
  • testaukset voidaan ajastaa
  • testauksia voidaan toistaa kuinka monta kertaa tahansa
  • testit saadaan ajettua nopeasti

Miinukset:

  • vaatii tarkkaa suunnittelua, varsinkin jos ohjelma on kompleksinen
  • useasti muuttuvat testitapaukset eivät sovellu hyvin automatisoituna

Linkit ulkopuolisiin lähteisiin

Avainsanat