Yksi testausautomaatio, kiitos

testiautomaatio ohjelmistokehitys

Testausautomaatio on oleellinen osa tuotteen kehitystä

Ohjelmistokehitysprojektiin kuuluu oleellisena osana kehitystyön alla olevan ratkaisun testaus. Testausta voidaan tehdä sekä manuaalisesti että tukeutumalla testausautomaatioon. Jälkimmäisessä tapauksessa työhön valjastetaan testirobotti, joka suorittaa ennalta määritettyä ohjelmasekvenssiä testaten järjestelmän ja siihen kuuluvat toiminnallisuudet. Testauksella pyritään varmistamaan, että järjestelmä toimii halutulla tavalla ja täyttää sille asetetut laatuvaatimukset ennen markkinoille päätymistä. Testauksen kohteena on usein suuri määrä teknisiä ominaisuuksia sekä lainsäädännön, turvallisuuden ja liiketoiminnan asettamia tarpeita ja vaatimuksia.

Testausautomaation suosio jatkaa nopeaa kasvuaan ja markkinoilla onkin olemassa laaja valikoima kaupallisia ja avoimen lähdekoodin testausautomaatiotyökaluja ja -ratkaisuja. Testausrobotin suurimpia etuja on, että se tekee työnsä aina samalla tavoin ja mitä se on ohjelmoitu tekemään.

Testausautomaatio ei korvaa ihmistä

Vaikka puhutaan automaatiosta, pitää muistaa, että ihmistä tarvitaan edelleen. Ihmisen, ainakin vielä, on toteutettava itse testiautomaatio ympäristöineen ja ajettavat testit (skriptit). Testirobotti on kuitenkin väsymätön, ei vaadi palkkaa, eikä sorru virheisiin. Oikein hyödynnettynä testausautomaatioon siirtyminen voi tuoda merkittäviä  kustannussäästöjä.

Kaikkea ei kuitenkaan kannata yrittää automatisoida, manuaalitestausta tarvitaan edelleen. Karkeasti voisikin ilmaista, että testiautomaation tuoma hyötysuhde on toteutuksen ja suorituskertojen määrän suhde. Mitä useammin sama testi voidaan suorittaa ilman muutoksia sitä suurempi hyötysuhde automaatiolla saavutetaan.

Testiautomaatio hyvin toteutettuna toimii taustalla äänettömästi ja näkymättömissä. Havainnot, puutteet ja raportit saadaan ilmestymään henkilöiden palvelukanaviin, mistä ne ovat luettavissa pian testin ajamisen jälkeen. Automaation tasoa voidaan nostaa yhä korkeammalle, kiitos nopean teknologisen kehityksen.

Toisaalta nopea kehitys tuo myös haasteita, kuten yhteensovittaminen. Tähän liittyvä työ puolestaan laskee automaation kannattavuutta. Korkealle nostettu automaatiotaso voi luoda myös illuusion, että testausrobottien avulla voidaan korvata ihmisten suorittama manuaalinen testaus jopa kokonaan. Näin ei suinkaan ole, sillä myös automaatiotyökaluja on ylläpidettävä ja testejä on päivitettävä. Jotta testausautomaatio tuottaa lisäarvoa it-projektiin, tulee testauksen perustua selkeään strategiaan missä asiakkaan tarpeet, liiketoiminta ja läpivietävä projekti tunnetaan hyvin. Tällöin myös testiautomaation mahdollisuudet ja hyödyt voidaan arvioida ja valjastaa tehokkaasti käyttöön.

Mihin testausautomaatiota kannattaa käyttää?

Testien suunnitteluun ja toteutukseen kannattaa varata riittävästi aikaa. Käyttötapauksista evaluoidaan testitapaukset ja itse testit. Lähes poikkeuksetta ensimmäinen testauskierros tapahtuu ”manuaalisesti”.  Testille tehdään ns. ”happy case”, tarkistuspisteet ja robotin vaatimat ”säädöt” viilataan paikoilleen. Kehitystyön edetessä ohjelmistopaketista muodostuu yhä useampia versioita. Kun samoja testejä ajetaan yhä uudelleen ja uudelleen, testiautomaatio jalostuu ja alkaa tukemaan asiakkaan liiketoimintaa. Näin ohjelmiston kokonaislaatu paranee ja testausautomaation hyödyntäminen pitkällä aikavälillä kasvattaa myös testauksen kokonaislaatua.

Testausautomaatio sopii erityisen hyvin ajastettuun testaukseen ja regressiotestaukseen. Testaus tulee suorittaa sellaisina aikoina, kun järjestelmä tai sovellus on mahdollisimman stabiilissa tilassa. Työpäivän aikana kehitysprojektin kimpussa työskentelevät niin koodarit, testaajat kuin liiketoiminnan henkilöstökin. Työpäivän ulkopuolelle, kuten yöllä on usein testiympäristöissä rauhallista, joten testausrobotti voi rauhassa työskennellä ja ajaa isojakin testimääriä. Aamulla kehitystiimiä odottavat sitten tuoreet testausraportit, joiden perusteella virheitä päästään korjaamaan.

Toinen esimerkki voisi olla tilanne, jossa tarvitaan 8 tunnin yhtäjaksoinen testaaminen 50 testaajan voimin. Resurssien löytäminen näin massiiviseen testiin voi tuottaa haasteita. Kymmeneltä testirobotilta työ sujuu kuitenkin tasalaatuisesti, ja testikierroksia voidaan suorittaa useita satoja tai tuhansia samassa ajassa. Joko sinä hyödynnät testausautomaation mahdollisuudet?

 

Markku Kestikievari
Johtava testauskonsultti

Markku on kokenut testausalan ammattilainen. Hän on toiminut asiakasprojekteissa testauksen eri rooleissa ja vetänyt useita testausprojekteja. Markulla on kymmenien vuosien laaja kokemus IT-alalta.

Edellinen
Edellinen

Hajota ja hallitse – laadun varmistuksen ohjaaminen ja johtaminen it-projektissa

Seuraava
Seuraava

Hyödynnä pilvipalvelut testauksen tukena