Blogi 22.2.2024

Testiautomaatiota ketterästi palveluna

Digitaalinen yhteiskunta

Älykäs teollisuus

Testaus ja testiautomaatio on aiemmin mielletty lähinnä yhdeksi osaksi ohjelmistokehitystä, mutta digitalisaation kehityksen myötä aihe on tullut tutuksi lähestulkoon jokaisessa yrityksessä. Mitä jos voisit tilata testiautomaatiota ja testausta palveluna – aivan kuten tilaisit putkiremontin?

Monessa tapauksessa testaaminen ja liiketoiminnalle kriittisten prosessien varmistaminen on pudonnut yrityksen syliin ostettujen järjestelmien mukana vähän yllättäen. Esimerkiksi pilvipohjaisiin järjestelmiin siirryttäessä ei ole välttämättä osattu ennakoida kuinka isosta ja pysyvästä muutoksesta testaamisessa on kysymys.

Aihe on monelle yritykselle uusi, eikä olemassa olevaa testauskulttuuria tai muuttuneeseen tarpeeseen skaalautuvia käytäntöjä vielä ole. Testausrupeamat ovat aiemmin hoituneet muutamien järjestelmäasiantuntijoiden johdolla ja kohdistuneet usein hyvinkin spesifeihin ja ennalta tiedettyihin muutoksiin. Mitään laajamittaista ja säännöllistä regressiotestausta ei ole tehty, tai sitä on tehty todella harvoin.

Kun järjestelmätoimittajien versiopäivityksiä alkaa yhtäkkiä valumaan vähintään kvartaaleittain ja kaiken testaamisen tapahduttava muutamassa viikossa, ollaan tilanteessa, jossa aiemmat käytännöt ja resurssit eivät enää riitä. Haasteiden ja kasvavan testauskuorman kanssa päädytään nopeasti lopputulemaan, että testaukseen tarvitaan apua ja ison testaajajoukon sijasta järkevämmäksi lähestymistavaksi nähdään testiautomaatio.

Testiautomaatiotarpeesta kohti käyttöönottoa

Testiautomaatiotarpeen tiedostamisesta on usein pitkä matka tilanteeseen, jossa automaatio hoitaa mitään kokonaista osaa testaustarpeista. On aika vastata seuraaviin kysymyksiin: Millaisia kyvykkyyksiä tarvitaan, kuinka paljon niitä tarvitaan, kuinka kauan niitä tarvitaan, mistä niitä saadaan ja paljonko ne maksavat?

Testiautomaation käyttöönoton suunnittelu ja valmistelu

Tyypillisesti automaation käyttöönottoprojekti sisältää jonkinlaisen suunnittelu- ja valmisteluprosessin, jonka laajuus on usein suoraan verrannollinen yrityksen lähtötilanteeseen testauksen suhteen.

Lopputuotoksena on vähintään testaussuunnitelma, riittävän yksityiskohtaisesti määritellyt käyttötapaukset sekä tekninen analyysi testattavista prosesseista ja niiden soveltuvuudesta automatisoitavaksi. Lisäksi tarvitaan testiympäristöt, -käyttäjät ja -data. Lopuksi päätetään, miten asiat priorisoidaan, monitoroidaan, raportoidaan ja reagoidaan sekä missä tätä kaikkea hallinnoidaan.

Tarvittavien kyvykkyyksien varmistaminen

Projektin tekninen toteutus vaatii infraosaajia, ohjelmistokehittäjiä ja testiautomaatioasiantuntijoita. Vaihtoehtoisesti voidaan valita jokin kaupallinen tuote, jolla osa haasteista saadaan valmiiksi taklatuksi.

Usein tarvittavan osaamisen määrää on niin vaikea hahmottaa etukäteen, että lähdetään etsimään sekalaista määrää osaajia ilman tietoa todellisesta osaamistarpeesta. Rekrytointiprosessit ovat tällöin usein tarpeettoman raskaita ja testiautomaation eteneminen käyttöönottopäätöksestä käynnistysvaiheeseen voi olla vielä useiden kuukausien – ja useiden testaussyklien – päässä.



Testing as a Service

Mitä jos esimerkiksi rakentamisessa sivuutettaisiin vakiintuneet toimintamallit ja laskettaisiin itse omin käsin kaikki tarvittavat resurssit seuraavalle kolmelle vuodelle tavoitteena saada toimitilat saneerattua. Suunniteltaisiin kaikki tarpeet ja hankittaisiin ne onnistuneesti. Niinpä. Vaikeaa on ja varmaan myös melko hidasta, kallista ja riskialtista.

Käännetään asetelma toisin päin: Mitä jos testausta- ja testiautomaatioprojekteja voisi tilata ja toimittaa kuten putkiremonttia?

Tilaaja ostaa palvelun ja toimittaja huolehtii, että tilaajalla on aina projektin kulloisessakin työvaiheessa sillä hetkellä tarvittava ydinosaaminen käytössään. Työtä ja kustannuksia voidaan rytmittää ketterästi tilaajalle sopivimmalla aikataululla ja kapasiteetilla. Joissain tilanteissa palvelu voi olla muutama jatkuvasti projektissa tarvittava henkilö ja tarpeen tullen määrää voidaan skaalata tilanteeseen sopivaksi.

Toisessa tapauksessa voidaan hyödyntää yhden henkilöstöresurssin mallia, jossa työpanoksen antaa tänään testipäällikkö, huomenna pilviasiantuntija ja ensi viikolla testiautomaatiokehittäjä. Kolmannessa tapauksessa voidaan esimerkiksi sopia määrämittainen 2 viikosta kuukauteen kestävä sprintti, jossa toimittaja toimittaa yhdessä määritellyn työmääräarvioon perustuvan työsuoritteen ja vastaa sen toteutumisesta. Palvelu skaalautuu kaikissa tapauksissa tarpeen ja tilanteen mukaan.

Hanki testiautomaatiota ketterästi palveluna

Nopeus ja ketteryys ovat suoraan toimintamallissa. Se ei sido tilaajaansa mihinkään muuhun kuin yhteen ostoon, joka voi olla esimerkiksi koulutus tai yhden käyttötapauksen automatisointi. Laskutus juoksee ainoastaan silloin, kun tekeminen on käynnissä ja toimittaja varmistaa, että oikeanlainen osaaja varmistaa sovitun lopputuloksen. Yhden henkilön sijaan toteutuksesta huolehtii isompi tiimi, josta löytyy kaikki tarpeellinen osaaminen kaikkiin projektin haasteisiin.

Tutustu testiautomaation ja laadunvarmistuksen palveluihimme →

testaus

testiautomaatio

Jani Haapala

DevOps Lead

Jani on intohimoinen DevOpsin ja testiautomaation puolestapuhuja, joka aloitti uransa perinteisenä manuaalisena testaajana, mutta innostui nopeasti automaatiosta testiautomaation muodossa. Jania kiinnostaa erityisesti infrastruktuurien automatisointi ja ohjelmistokehitysprosessien modernisointi käyttämällä moderneja menetelmiä kuten Lean, Agile ja DevOps.
Takaisin ylös