Ohjelmistotestaus tekoälyn aikakaudella

Julkaistu 4.9.2023
Lukuaika noin 3 min

Ohjelmistotestauksen tulevaisuus herättää miettimään aihetta: voiko testauksen antaa kokonaan robotin eli tekoälyn hoidettavaksi? Tämä tuo esiin lisäkysymyksen ihmisen roolista testiautomaatiossa. Miten tekoäly vaikuttaa ohjelmistotestaukseen ja tuleeko se muuttamaan ihmisen roolia tai testausprosesseja? Näiden pohdintojen myötä nousee yhä vahvemmin esiin tekoälyn haasteet ohjelmistotestauksessa.

Kysyimme Vuoden testaaja 2022 -voittaja Sami Söderblomilta tekoälyn vaikutuksista ohjelmistotestaukseen. Lue Samin pohdintoja alta.

Voiko ohjelmistotestauksen antaa kokonaan robotin hoidettavaksi?

Ensin pitäisi vähän tarkastella mitä se ohjelmistotestaus oikein onkaan. Monille tulee yllätyksenä, että devauskaan ei ole koodaamista ja vielä isompana yllätyksenä, että testaus ei ole testitapausten ajamista. Robotin harteilla testaus typistyy juuri tällaiseksi toiminnaksi ja yhtälöstä unohtuu mm. suunnittelu, arviointi, päättely, oppiminen, mukautuminen, tutkimus, havaintojen tekeminen ja käsittely, muutosten ohjaaminen, häiriöt ja niiden hallinta, mallintaminen, kartoittaminen, kyseenalaistaminen, päättely, ihmismielten kanssa touhuaminen ja jatkuva seikkailu tuntemattomissa vesissä. Kun robotti pystyy hoitamaan kaiken tuon ja paljon muuta ammattimaisen testaajan tontille osuvaa, voin varovasti antaa tälle lisää liekaa.

Mikä on ihmisen rooli testiautomaatiossa?

On jokseenkin hassu ajatus, että siinä missä esimerkiksi timpuri tai kokki sovittaa työkaluja oman tarpeeseensa ja oman ammattitaitonsa jatkeeksi, tämä jatkuvasti alalla esitetty kysymys sovittaa ihmistä ja tämän ammattitaitoa automaation asettamiin viitekehyksiin, vaikka tilanteen pitäisi olla täysin päinvastainen. Vastaamme Python, Robot Framework ja Playwright vaikka kukaan ei ole edes esittänyt kysymystä. Töihin ei oteta sen takia, että hallitsisi testauksen taidot (ks. edellinen vastaus) ja pystyisi tuottamaan arvokasta havaintomassaa ja näkemystä päätöksenteon tueksi vaan sen takia, että osaa sen uusimman ja kohta jo vanhenevan työkalun sielunelämän. Jopa kohtalokkaasti kiillotamme näitä kattiloita, vaikka devaajat tekevät senkin jo paremmin.

Miten tekoäly muuttaa ohjelmistotestausta? Tuleeko se muuttamaan ihmisen roolia tai prosesseja?

Testauksen termein tekoäly on ”musta laatikko”. Emme näe sen sisään kuten näemme ”valkoisen laatikon” sisään. Tiedämme yhä vähemmän siitä miten tekoälysovellukset kuten laajat kielimallit (engl. Large Language Model) ja esimerkiksi koodaustyötä avustavat työkalut (mm. Copilot, TabNine ja CodeWhisperer) toimivat, mutta olemme yhä enemmän riippuvaisia niistä. Tämän riippuvuuden takia joudumme jatkuvasti myös testaamaan niitä. Nyt näitä mustia laatikoita kuitenkin syntyy kiihtyvällä tahdilla ja niitä riivaavat mm. mutaatio- ja regressio-ongelmat. Tarve testausosaamiselle kasvaa ja se voi tehdä kohtaanto-ongelmasta vaikean. Siinä missä tietotekniikkaa ja esim. koodaustaitoja voi opetella jo koulun penkillä, testausta ei juurikaan opeteta systemaattisesti. Vastuu tästä on jätetty yrityksille ja muutamille yksityisille tahoille, mikä ei valitettavasti riitä alkuunkaan.

Näitä mustia laatikoita käytetään myös testausta avustavina työkaluina mm. datan käsittelyssä, testitapausten luonnissa ja testiajotulosten automaattisessa analysoinnissa. Hyödyt ovat ilmeiset kun työkalua käytetään tarkoituksenmukaisesti ja ammattitaidolla. Tuloksena on tarkempaa ja nopeampaa toteuttamista ja mikä parasta, ihminen pääsee hyödyntämään vahvuuksiaan testauksessa. Lupaus ei ole juurikaan muuttunut siitä kuin mitä automaation kanssa on eletty vuosikymmeniä. Nyt vain skaalataan nopeammin ja näkyvyys työkalun sisään on heikompi.

Mitkä ovat tekoälyn haasteet ohjelmistotestauksessa?

Avasinkin asiaa edellisessä vastauksessa. Suurimmat haasteet nimenomaan kaiken nopeudessa ja heikkenevässä näkyvyydessä sekä tietty siinä, että testausosaaminen on katoava voimavara. Kun kohdistamme touhua ja työkaluja oikein ja aina välillä vähän harkitsemmekin asioita, ja tietysti vaalimme testauksen jaloa taitoa, koska se on ainoa tapa luoda elintärkeää näkyvyyttä ympärillemme, meillä voi olla toivoa.

Kysymyksiin vastasi Vuoden testaaja 2022 Sami Söderblom. Sami työskentelee tällä hetkellä SOK:n teknologiatoiminnoissa ja vetää siellä laadunhallintaa sekä siihen erikoistunutta, lähes 40 ammattilaisen tiimiä. Hänellä on pitkä kokemus testauksen ja laadunhallinnan toteuttamisesta ja johtamisesta.

Katso myös Tekoälyn testaus – laadukas harjoitusdata laadunvarmistuksen tukena -blogi.

Lisää testausosaamistasi koulutuksella

Asiasanat:

Ohjelmistotestaus Tekoäly Testausautomaatio Testaus Robot Framework