Mitä on testausautomaatio, ja miten teet siitä liiketoimintasi vauhdittajan?

Mitä on testausautomaatio?

Tietojärjestelmien testausautomaatio (tai testiautomaatio) tarkoittaa sitä, että ihmisen sijaan tietojärjestelmää testaa sovellus eli testirobotti. Toisin sanoen, testausautomaatio on sovellus, joka annetun briefin mukaisesti testaa liiketoimintasi tietojärjestelmää etsien korjattavia virheitä. 

Tietojärjestelmävirhe tarkoittaa minkä tahansa järjestelmän ominaisuutta, joka toimii ei-halutulla tavalla. Tällaisia tilanteita ovat esimerkiksi vikatoiminnot, käyttökatkot ja häiriöt, tai muilla tavoin käyttäjien elämää hankaloittavat tietotekniset ongelmat. 

Tyypillisesti tietojärjestelmävirheet ovat toistuvia tai satunnaisia vikatoimintoja, jotka aiheuttavat liiketoimintaprosesseihin häiriöitä ja siten vahingoittavat asiakaskokemusta ja liiketoiminnan tuloksellisuutta. Vakavimmat ja onneksi harvinaisimmat virheet ovat tietysti sellaisia, joissa vikatoiminto voisi aiheuttaa vaaran omalle tai toisen hengelle, terveydelle, omaisuudelle tai vaikka luottamukselliselle tiedolle. 

Monimutkaisista järjestelmäkokonaisuuksista löytyy aina suunnittelu- ja toteutusvirheitä, jotka on testaamalla kitkettävä pois ennen järjestelmän laajamittaista käyttöä.

Ihminen vs. kone

Vaikka me ihmiset voitamme koneet vielä monessa asiassa, emme mitenkään pärjää ohjelmoidun tekoälyn vauhdille. Samassa ajassa, kun sovellustestaaja on suorittanut yhden testin, kone on voinut suorittaa 20 testiä.

Älykäs ja oppiva tekoäly ei myöskään sorru ihmisten tekemiin inhimillisiin virheisiin, joita teemme aina välillä – halusimme tai emme. Työn palautesilmukan nopeus ja laatu on näin ollen taloudellisten mittareiden puolesta aina parempi: mitä nopeammin testausautomaation tuottama palaute saadaan, sitä nopeammin asia voidaan korjata – ja sitä tuottavampaa on itse tekeminen. 

Hyvänä esimerkkinä toimii eräs asiakkaamme, joka aiemmin testasi kriittisiä tietojärjestelmiään 3–4 kertaa vuodessa. Testaus oli pullonkaula, koska myöskään järjestelmän ominaisuuksia ei voitu päivittää kuin 3–4 kertaa vuodessa. Testausautomaation avulla yritys voi nykyisin testata 3–4 kertaa viikossa. Näin ollen uusia ominaisuuksia saadaan liiketoiminnan käyttöön tarvittaessa viikon tai jopa muutaman päivän varoajalla verrattuna entiseen, jolloin päivityksiä saatiin liveksi muutaman kerran vuodessa.

“Vaikka me ihmiset voitamme koneet vielä monessa asiassa, emme mitenkään pärjää ohjelmoidun tekoälyn vauhdille. Samassa ajassa, kun sovellustestaaja on suorittanut yhden testin, kone on voinut suorittaa 20 testiä.“

Testausautomaatio osana liiketoiminnan strategiaa ja tuotekehitystä

Mikä on ohjelmiston laadun merkitys liiketoiminnallesi? Entä riippuuko liiketoimintasi menestys tietojärjestelmän virheettömästä toiminnasta?

Näin on useimpien yritysten kohdalla. Virheellisten, huonosti toimivien ohjelmistojen vaikutukset voivat olla mittavia ja heilauttaa kymmenien miljoonien ihmisten arkea kerralla. Mitä esimerkiksi tapahtuisi, jos Google Maps esittäisi reitit puolen tunnin ajan 500 kilometriä pieleen?

Vaikka harva niin ajattelee, testausautomaatio on tärkeä osa liiketoiminnan strategiaa sekä tuotekehitystä.

Testausautomaation mahdollistama ripeys ja tarkkuus vauhdittavat liiketoimintaa ja ylläpitävät kilpailukykyä, kun markkinoille voidaan tuoda uusia testattuja tuotteita vaikka joka viikko.

Alkaako aihe kiinnostaa? Hyvä! Mikäli harkitset testausautomaation hyödyntämistä, mieti, mikä on se hyöty, jonka haluat automaatiolla ensisijaisesti saavuttaa. Onko tavoitteenasi 

  • turvata riittävä laatu kaikissa tilanteissa
  • pyrkiä täydelliseen virheettömyyteen testaamalla kattavammin
  • säästää rahaa pienentämällä testaukseen kuluvaa aikaa ja työmäärää
  • vai kenties nopeuttaa prosessia?

Tavoiteltavat hyödyt vaikuttavat siihen, miten testiautomaatio kannattaa rakentaa, miten korkealle riman haluaa asettaa ja millaisia muutoksia toimintatapoihin tarvitaan. 

Miksi testausautomaation merkitys kasvaa koko ajan?

Nopeatahtisia ohjelmistojen julkaisusyklejä on lähes mahdotonta hallita ilman testausautomaatiota. Mikäli tarkoituksena on pysyä ketterän ohjelmistokehityksen tahdissa, pelkkä manuaalinen testaus on yksinkertaisesti liian hidasta. Ohjelmistojen ja niiden välisten integraatioiden validoinnissa manuaalinen testaus muodostuu ajan myötä ensin taakaksi ja sitten mahdottomuudeksi.

Testaaminen kuluttaa keskimäärin 30–40 prosenttia yrityksen IT-kehityksen kuluista, vaikka sitä harvemmin budjetteihin näin kirjoitetaan. On selvää, että manuaalinen testaus ei pian enää riitä kompleksisten ekosysteemien toiminnan varmistamiseen. Tämän vuoksi testaaminen on muodostunut yhdeksi merkittävimmistä pullonkauloista ohjelmistoista ja IT:stä puhuttaessa, ja juuri siksi testausautomaation merkitys kasvaa koko ajan.

“Testausautomaatio on tärkeä osa liiketoiminnan strategiaa sekä tuotekehitystä. Testausautomaation mahdollistama ripeys ja tarkkuus vauhdittavat liiketoimintaa ja ylläpitävät kilpailukykyä, kun markkinoille voidaan tuoda uusia testattuja tuotteita vaikka joka viikko.“

Mitä ovat testausautomaation hyödyt?

Yksi testausautomaation ilmeisistä eduista on, että se on lähes aina halvempaa, kun pitää testata paljon ja usein. Koneen suorittamat testit syntyvät edullisemmin ja nopeammin verrattuna testaajan rajalliseen työpanokseen.

Testausautomaatio, eli kone, on aina saatavilla. Koneen työajat ovat rajattomat. Se ei nuku eikä pidä lomaa, ei sairastu eikä käy kokouksissa. Vaikka ihminen pystyisi testaamaan uuden version kahdessa tunnissa ja kone viidessätoista minuutissa (jolloin ei vielä puhuta älyttömän suurista aikaeroista), kone voi aina aloittaa työt heti, toisin kuin kalenterinsa kanssa kamppailevat ihmiset.

Testausautomaatio on heikoimmillaan kolme kertaa ihmistä nopeampi, vahvimmillaan jopa 100 kertaa nopeampi. Ja aina tarkempi. Tekoäly karsii inhimilliset virheet, joita ihmisille syntyy väistämättä.

Lue myös: Testiautomaatiolla sykettä Elisan ohjelmistokehitykseen

Testausautomaatio toimii nopeammin, kattavammin ja edullisemmin. Testausautomaation suurimpia etuja ovat edellä mainittujen työtuntien karsinnan sekä kustannusten ja työajan säästön lisäksi se, miten nopeasti uusi versio on mahdollista saadaan testattavaksi, eli kuinka nopeasti saadaan tarvittava palaute siitä, mitä tulee ja pitää korjata. Mitä nopeammin tieto saadaan, sitä nopeammin asia voidaan korjata ja jalkauttaa tuotantoon. 

Vaikka ihminen saattaa nähdä paremmin sen, toimiiko uusi muutos vai ei, kone näkee uuden asian lisäksi toimivatko vanhat muutokset uusien muutosten kanssa.

Testausautomaation yksi tärkeimmistä kysymyksistä lieneekin siinä, mitä ihmiseltä vaaditaan ja kuinka usein hänen tarvitsee tehdä kyseistä asiaa, eli kuinka paljon ja kuinka usein ihmistä tarvitaan. Tai paremminkin: kuinka vähän ja kuinka harvoin ihmisten panosta enää tarvitaan?

Ammattitaitoisia tekijöitä tarvitaan kuitenkin aina, sillä koneet eivät vielä tee kaikkea puolestamme. Tällä hetkellä ihminen onkin koneeseen verrattuna ylivertainen kahdella testauksen osa-alueella: testien suunnittelussa ja käyttökokemuksen arvioinnissa.

testausautomaatio-riskit

Kuinka nopeasti testausautomaatio maksaa itsensä takaisin?

Jokainen projekti on erilainen ja eri pituinen, minkä vuoksi tähän ei ole olemassa yhtä oikeaa vastausta. Hyvänä nyrkkisääntönä voidaan kuitenkin todeta, että jos et aio toistaa testiä kymmentä kertaa, testausautomaatio tuskin on kannattavaa missään tapauksessa. 

Toisaalta, ihmiset hyvin helposti aliarvioivat tarvittavien testien määrän ollessaan liian optimistisia tuotteensa ja palvelunsa suhteen – kerralla tai edes kolmannellakaan kun tulee harvoin valmista. 

Näin ollen testausautomaation rakentaminen edellyttää aina erilaisten välineiden käyttöönottoa. Tämä tarkoittaa, että välineitä pitää todella käyttää sekä testejä suorittaa ja toistaa niin monta kertaa, että automatisointi alkaa tuottaa hyötyä.

Ja ainakin yksi relevantti vastaus otsikon kysymykseen: nopeimmillaan testausautomaatio on Qentinelin historian aikana maksanut itsensä takaisin kolmessa viikossa.

testausatomaatio-takaisinmaksuaika

Mistä testausautomaation kustannukset koostuvat?

Testausautomaation kustannukset syntyvät testaukseen suunnitellun automaatioteknologian hankinta- ja ylläpitokustannuksista, testien suunnittelun ja ylläpidon kustannuksista sekä testitulosten analysoinnin ja raportoinnin kustannuksista. 

On tärkeä muistaa, että vaikka työkalut automatisoivat suuren osan työstä, ihmistyötä tarvitaan aina ja vähintään testien ylläpitoon. Törmäämme myös usein ajattelumalliin, jossa kun testaus on kerran automatisoitu, olisi se tämän jälkeen ilmaista. Valitettavasti tämäkään ei vielä täysin pidä paikkaansa. 

“Testausautomaatio on heikoimmillaan kolme kertaa ihmistä nopeampi, vahvimmillaan jopa 100 kertaa nopeampi. Ja aina tarkempi. “

Millaisissa tilanteissa testausautomaatiota tarvitaan?

Testausautomaatiosta saadaan varmuudella hyötyä silloin, kun tarvitaan nopeaa palautetta ja paljon toistoja. Yleisesti sanottuna kaikki se, mikä vaatii ulkoisia riippuvuuksia tai tapahtuu säännöllisesti ja yhä kiihtyvällä vauhdilla, kannattaa automatisoida. Testausautomaatio nousee arvoonsa myös silloin, kun testaamiseen kuluvalla ajalla on merkitystä – kuten esimerkiksi tuotekehityksessä.

Myös ylläpitoa koskevien muutosten testaus kannattaa automatisoida, samoin versiopäivitysten käyttöönottotestaus. Esimerkki yritysten tietojärjestelmä-klassikoista ovat SAP-järjestelmän päivitykset. Usein päivitysten testaamiseen varataan liiketoiminnasta sellaisia loppukäyttäjiä, jotka tuntevat liiketoimintaprosessit hyvin. 

Nämä ihmiset, joilla olisi varsinaista työtäkin tehtävänä, kokoontuvat siten sovittuna aikana testaamaan eli suorittamaan aiemminkin suoritettuja testejä, jotka konekin voisi hoitaa. Harmillisesti joskus käy kuitenkin niin, että testaajien aloittaessa työnsä ei päivitys vielä olekaan valmis testattavaksi. Toisinaan testeissä taas löytyy niin perustavanlaatuisia vikoja, ettei testien suorittamista kannata jatkaa.

Entä jos liiketoimintakäyttäjät voisivat testata sovellusta vain kerran, minkä jälkeen kone hoitaisi toistot? 

testausautomaatio-työtaakka

Testausautomaatio vapauttaa työtaakkaa

SAP-järjestelmien kaltaisia esimerkkejä löytyy yritysten kaikista ydinjärjestelmistä, joita ovat esimerkiksi Oracle, Salesforce, Temenos, Guidewire, Epic ja monet monet muut. 

Näille kaikille on yhteistä iso ja kompleksinen tietojärjestelmä sekä datan määrä, käyttäjien määrä ja lukuisat integraatiot muihin järjestelmiin. Eikä sovi myöskään unohtaa asiakaskohtaisesti kustomoitavia tietomalleja ja liiketoimintaprosesseja. Tästä kaikesta seuraa se, ettei onnistunut käyttöönotto aina ole itsestäänselvyys: epäonnistunut käyttöönotto tulisi liiketoiminnalle erittäin kalliiksi. 

Yritysten IT-tekijöillä on myös alati paisuva testaustaakka. Suurin ongelma on usein se, että yrityksellä on käytössään monta erilaista ja toisistaan riippuvaista tietojärjestelmää, joista yhden muuttuessa ei voida enää olla varmoja, miten muutos vaikuttaa itse kokonaisuuteen. Tässäkin tapauksessa testausautomaatio olisi todennäköisesti selvittänyt tilanteen jo ennen kuin työntekijä olisi ehtinyt raivaamaan työaikaa jo täydestä kalenteristaan. 

milloin-testausautomaatiota-tarvitaan

Millaisissa tilanteissa testausautomaatio ei ole oikea ratkaisu?

Automaatio on osa ohjelmistojen tekemisen ketjua, ja jos vain yksi osa laitetaan huippukuntoon, on hyvin epätodennäköistä, että toiminta kokonaisuudessaan paranisi. 

Meillä Qentinelilla on tapana sanoa: “Jos automatisoit huonon prosessisi, sinulla on automaattinen huono prosessi.”

Nimestään huolimatta automatisointi ei ole vielä tänäkään päivänä liian helppoa tai halpaa, minkä vuoksi testausautomaatio on ratkaisu silloin, kun samaa asiaa testataan usein ja paljon.

testausautomaation riskit

Mitä riskejä testausautomaatioon liittyy?

Kuten kaikkeen muuhunkin teknologiaan, testausautomaatioon liittyy aina riskejä. Yleisimmin ongelmia aiheuttavat tilanteet, joissa on valittu projektin alusta alkaen väärä automaatioteknologia tai vaihtoehtoisesti sellainen teknologia, joka ei enää tulevaisuudessa toimi, eli se ei skaalaudu liiketoiminnan kasvun ja tarpeiden mukana. 

Testiä on myös voitu lähteä tekemään väärin odotuksin, mikä johtuu lähes aina ymmärtämättömyydestä. 

Riskialtista on myös rakentaa automaatioratkaisu niin, että se tulee riippuvaiseksi tietyistä ihmisistä tai asiantuntijoista. Mitä tapahtuu, jos he vaihtavat työpaikkaa tai jäävät eläkkeelle? 

Kannattaa muistaa, ettei automaatio korvaa ihmistä, vaikka se toki pienentää tarvittavien tekijöiden määrää. Tämä taas voi nostaa ihmisiltä vaadittavaa taitotasoa, joten myös työntekijöiden kouluttamiseen ja sitouttamiseen sekä uusien osaajien rekrytointiin täytyy panostaa enemmän. 

Täsmälleen samanlainen kehitys on tapahtunut teollisuustuotannossa: automaatio on poistanut runsaasti ihmisiä tuotantolinjojen ääreltä, mutta kasvattanut tarvittavien automaatioasiantuntijoiden määrää.

“Jos automatisoit huonon prosessisi, sinulla on automaattinen huono prosessi.“

Millaista teknologiaa testausautomaatioon tarvitaan?

Testausautomaatioteknologiaa on monenlaista. Minimissään tarvitaan ohjelmisto, joka suorittaa testejä ihmisen puolesta. Yleensä sana “testiautomaatiotyökalu” tarkoittaa juuri tätä ohjelmistoa. 

Testausautomaatiota tuottavia sovelluksia on kuitenkin useita, toinen toistaan hienompia ja tekoälykkäämpiä: osa perustuu avoimeen lähdekoodiin, toiset ovat ilmaisia ja osa on maksullisia.

Päävaihtoehtoja on kuitenkin vain kaksi: 

  1. Ottaa käyttöönsä ilmainen ohjelma ja alkaa harjoitella, jolloin ongelmana on se, että pitäisi jo valmiiksi osata paljon. 
  2. Toinen vaihtoehto on ottaa käyttöönsä jokin kaupallinen työkalu, josta saa yleensä vähintään kokeiluversion sekä edullisempia versioita, ja lähteä perehdyttämään itseään tätä kautta.

Molemmat vievät aikaa ja voivat tuottaa tuloksia, mutta kevyimmät tai edes vähän paremmat mallit harvoin skaalautuvat kovin laajaan käyttöön. Ja juuri tässä piilee suurimpia haasteita aiheuttava ero ilmaisten ja laadukkaiden testausautomaatioiden välillä.

man-pointing-at-laptop-screen-analytics

Qentinel Pace on uuden sukupolven tekoälyä hyödyntävä alusta

Pilvipohjainen Qentinel Pace on ohjelmistotestaukseen tarkoitettu uuden sukupolven tekoälyä hyödyntävä alusta, joka mullistaa ohjelmistotestauksen poistamalla tyypillisimmät laadunvarmistuksen pullonkaulat: hitaat palautesyklit, suuret ylläpitokustannukset, puutteet skaalautuvuudessa ja lähes olemattoman näkyvyyden. 

Qentinel Pacen avulla hyödynnät robottipohjaisen testiautomaation nopeasti skaalautuvan, helposti ylläpidettävän ja tuottavan ratkaisun koko potentiaalin. 

Tästä syystä voit lisätä versioiden ja julkaisujen tahtia ja määrää tukemaan strategiaa ja liiketoimintaa. Samalla Qentinel Pace tarjoaa kokonaisvaltaisen näkökulman DevOpsin toimivuuteen ja laatuun ennakoivan analytiikan avulla. Testaus on kattavaa ja helposti ylläpidettävää jopa kompleksisissa ympäristöissä. 

Tutustu Qentinel Paceen tarkemmin

laadukas testausautomaatio

Mistä tunnistat laadukkaan ja toimivan testausautomaation?

Laadukkaan ja toimivan testausautomaation tunnistaa ensisijaisesti siitä, että testausautomaatio itsessään toimii. Mikään automaatio ei myöskään toimi ilman ylläpitoa, joten se, kuinka paljon ylläpitoon pitää käyttää aikaa ja energiaa sekä resursseja, on hyvä indikaattori laadukkaalle ja toimivalle testausautomaatiolle.

Toinen tärkeä tekijä on se, miten hyvin testausautomaatio skaalautuu. Kun testaustarpeet kasvavat ja sovellusta pitää pystyä skaalaamaan suuremmille järjestelmäkokonaisuuksille, tulee miettiä, pysyykö nykyinen testausautomaatio toiveiden mukana. Pystyykö se vastaamaan sille esitettyihin haasteisiin? Onko se ylipäätään monistettavissa laajempaan käyttöön? 

Ei tule myöskään vähätellä sitä, pitävätkö käyttäjät sovelluksesta vai eivät, sillä nimestään huolimatta automaatio ei toimi ilman ihmistä. 

Helppokäyttöinen ja helposti tulkittavissa oleva sovellus vapautti eräänkin asiakkaamme kohdalla kuukauden työajasta jopa 40 % muihin työtehtäviin. 

Miten sinä hyödyntäisit tuon ylijäävän ajan oman liiketoimintasi kehittämiseen?

“Qentinel Pacen avulla hyödynnät robottipohjaisen testiautomaation nopeasti skaalautuvan, helposti ylläpidettävän ja tuottavan ratkaisun koko potentiaalin. “

Kuinka ja mistä aloittaa testausautomaation hyödyntäminen?

Testausautomaation hyödyntäminen kannattaa aloittaa sellaisista kohteista, joissa testejä joudutaan toistamaan usein, mutta suuria muutoksia tapahtuu harvoin.

Usein kannattaa aloittaa “pienesti”: hankkia kokemusta, oppia tekemällä ja lisätä automaatioastetta sitä mukaa, kun kokemusta karttuu. 

Tässä kohtaa on kuitenkin paikallaan varoittaa: ne automaatioratkaisut, joilla pääsee kätevästi ja halvalla alkuun, eivät välttämättä skaalaudu laajamittaiseen käyttöön helposti. 

Kenelle testausautomaation johtaminen kuuluu?

Testausautomaatiossa johdetaan itse teknologiaa ja varsinaista testaamista. Teknologian johtaminen kuuluu yleensä arkkitehtitaustaiselle tekijälle, jolla on vastuu liiketoiminnan työkaluista ja kyky katsella tarpeeksi laajasti sitä, miten testaustyötä kannattaa tehdä. Varsinaista testaamista taas voi johtaa esimerkiksi projektipäällikkö, testauspäällikkö tai liiketoimintapäällikkö.

Miten hyvin tai huonosti testaus tehdään, vaikuttaa siihen, kuinka hyviä lopputuloksia syntyy. Myös se, miten itse testausautomaatio tehdään, merkitsee, kuinka paljon työ lopulta tulee maksamaan.

testausautomaatio-valinta

Miten valitsen sopivan kumppanin testausautomaation rakentamiseen ja toteuttamiseen?

Kun etsit sopivaa kumppania, mieti ensin: 

  • kuinka paljon aikaa testaukseen saa kulua
  • kuinka laajasti halutaan testata
  • kuinka usein halutaan testata

Tämä helpottaa valintaa siitä, mihin kumppania tarvitaan: 

  • teknologiatoimittajaksi
  • toteuttamaan automaatio palveluna
  • oman tekemisen tueksi
  • resurssiksi töitä tekemään, jos projektia johdetaan itse 

Vaihtoehtoja on monia. Kun nämä pointit ovat selviä, sopivan kumppanin löytäminen testausautomaation rakentamiseen ja toteuttamiseen on helpompaa. Kannattaa kuitenkin aina valita sellainen taho, johon voi luottaa pitkäikäisenä kumppanina, jolla on näkemystä, ja joka on olemassa tulevaisuudessakin.

qentinel-testausautomatio

Qentinel tarjoaa kuhunkin tilanteeseen sopivan toimintamallin

On tärkeää miettiä, miten testausta halutaan tehdä, eli halutaanko testaaminen ja sen automatisointi tehdä kokonaan itse, vai halutaanko se mahdollisesti ostaa toisaalta. 

Qentinel tarjoaa kuhunkin tilanteeseen sopivan toimintamallin: voit automatisoida testauksen kokonaan itse Qentinelin työkaluilla, ostaa testiautomaation palveluna Qentinelilta tai automatisoida itse ja saada Qentinelilta tarvittavan tuen ja koulutuksen. 

Toteutamme mielellämme arvion yrityksenne nykytilasta, jolloin saatte ehdotukset seuraavista toimenpiteistä sekä tiedon siitä, mihin rima kannattaa tällä hetkellä vetää. Ei nimittäin ole järkevää ahnehtia kaikkea kerralla, kun voi edetä fiksusti siten, että palveluiden skaalautuminen laajempaan käyttöön on tulevaisuudessa haasteiden sijaan mahdollista – ja toivottu kehityssuunta.

Tutustu tarkemmin osaamiseemme ja ratkaisuihimme