Ohjelmistotestaus on erittäin tärkeässä roolissa toiminnanohjausjärjestelmän (ERP) käyttöönotossa. Testauksen ensisijaisena tavoitteena on tuottaa tietoa ohjelmiston laadusta, ja tuoda esille mahdolliset puutteet. Testaus ei sinällään paranna ohjelmistoa, mutta sen avulla on mahdollista tunnistaa järjestelmässä esiintyviä virheitä ja kehityskohteita. Hyvin laadittu testisuunnitelma tukee ERP-hankkeen tavoitteita ja mahdollistaa nopean, laadukkaan sekä kustannustehokkaan käyttöönottoprojektin.
Ohjelmistoa testataan erilaisilla testiskenaarioilla, jotta sen toimintaa on mahdollista arvioida käytännössä. Testaaminen on kuitenkin toisinaan hidasta, ja se koetaan monesti hyvin työlääksi. Osa testiskenaarioista on suositeltavaa suorittaa manuaalisesti, mutta usein toistuvat, työläät testiskenaariot ovat suositeltavaa automatisoida.
Ennen kuin paneudumme tarkemmin testiautomaation pariin, käydään lyhyesti läpi ohjelmistotestaukseen liittyviä keskeisiä käsitteitä:
- Savutestaamisella tarkoitetaan nopeasti suoritettavaa perustason testiä, jolla varmistetaan, että ohjelmiston keskeisimmät toiminnot toimivat ilman suuria virheitä.
- Yksikkötestaamisella pyritään testaamaan järjestelmän yksittäisiä toimintoja. Sen tarkoitus on varmistaa, että jokainen osio toimii odotetusti.
- Etenemistestaamisella tarkoitetaan järjestelmän uusien tai mukautettujen osien testausta.
- Uusintatestaamisella tarkoitetaan aiemmin epäonnistuneiden testitapausten tarkistamista. Sen tarkoituksena on varmistaa, että aiemmin esille tullut ongelma on korjattu oikein.
- Hyväksyntätestaamisella varmistetaan, täyttääkö ohjelmisto sille asetetut käyttäjä- ja liiketoimintavaatimukset. Hyväksyntätestauksen suorittavat usein loppukäyttäjät, ja sen avulla varmistetaan, että ohjelmisto on valmis otettavaksi käyttöön. Esimerkiksi palkanlaskentaohjelmistossa hyväksyntätestauksella tarkistetaan, että palkkalaskelmat muodostuvat oikein ja sisältävät kaikki tarvittavat tiedot.
- Integraatiotestaamisella tarkastellaan, miten eri käyttöliittymät toimivat yhdessä. Esimerkiksi, jos verkkokauppasovelluksessa tilausjärjestelmä lähettää tiedot maksujärjestelmään, integraatiotestauksella varmistetaan, että tieto siirtyy oikein eikä synny yhteensopivuusongelmia. Integraatiotestaukseen kuuluu myös end-to-end-prosessitestaus, joka testaa koko prosessin sujuvuutta ja toimivuutta, kun eri järjestelmät toimivat yhdessä.
- Performaatiotestaamisella varmistetaan ohjelmiston nopeus, skaalautuvuus ja vakaus eri kuormitustilanteissa. Esimerkiksi verkkosivustolle voidaan tehdä testi, jossa tarkistetaan, kuinka nopeasti se latautuu, kun tuhannet käyttäjät yrittävät käyttää sitä samaan aikaan.
- Regressiotestaamisella varmistetaan, että ohjelmistoon tehdyt muutokset, kuten esimerkiksi uudet ominaisuudet tai virhekorjaukset, eivät riko aiemmin toimineita osia. Tämä on erityisen tärkeää jatkuvassa kehityksessä, jossa ohjelmistoa päivitetään usein. Regressiotestausta on mahdollista suorittaa manuaalisesti tai se on helppo automatisoida ajamaan aiemmat testit uudelleen.
Oikein toteutettuna testaus tukee liiketoiminnan tavoitteita, vähentää ohjelmistokehityksen riskejä ja mahdollistaa nopeamman sekä luotettavamman julkaisusyklin. Testiautomaatio on yksi tärkeimmistä keinoista vastata ohjelmistokehityksen nopeusvaatimuksiin. Sen avulla voidaan myös parantaa testauksen kattavuutta, vähentää manuaalisen testauksen työmäärää sekä nopeuttaa palautesykliä ja virheiden löytämistä. Testiautomaatio kannattaakin kohdistaa kriittisiin ja toistuvasti ajettaviin testeihin, jotta sen ylläpito pysyy tehokkaana ja kustannukset hallinnassa.
Testiautomaatio ei yksin riitä takaamaan laadukasta ohjelmistoa, vaan se kannattaa ottaa osaksi laajempaa testausstrategiaa. Karkeasti sanottuna testiautomaation hyödyntämisen osalta on nähtävissä kahdenlaista koulukuntaa: osa organisaatiosta pyrkii automatisoimaan suurimman osan kaikesta testauksesta, ja osa taas havaitsee automaation tarpeellisuuden vasta projektin viime metreillä. Paras hyöty saadaan usein niissä organisaatioissa, joissa tarvittava toiminnallisuuksien harmonisointi on tehty jo ERP-hankkeen alkumetreillä ja testiskenaarioita on alettu jo luonnostella. Tällöin on helpompi tunnistaa ne prosessin osa-alueet, jotka ovat helposti automatisoitavissa ja täten kehityshankkeessa mukana olevat henkilöt voivat keskittää energiaansa kompleksisempiin variaatioihin, joiden toiminnallisuutta yrityksen liiketoiminta edellyttää.
Seuraavassa blogisarjan osiossa tarkastelemme syvällisemmin, minkälaisia yleisimpiä haasteita testiautomaation käyttöönotossa kohdataan.

Blogin kirjoittaja
Asta Lehto on SAP-asiantuntija Isletin ERP-tiimissä. Yli 17 vuoden kokemuksella hän on ollut mukana useissa SAP:n käyttöönottoprojekteissa eri toimialojen yrityksissä.
Lisätietoja: