Maailma muuttuu yhä suuremmalla vauhdilla. Näillä muutoksilla on vaikutuksia testaukseen, kuten aina. Tähän asti testaus on vain muuttunut erilaiseksi, tehokkaammaksi, aikaisemmaksi, paremmaksi. Tämänkin vuoden muutoksissa mikään ei varsinaisesti lopu, se vain muuttaa muotoaan, tai voi itse asiassa kasvaa. Näitä muutosajureita ovat ohjelmistojen lisääntyvä määrä, pilvi, suurempi määrä ohjelmistojen integraatioita, ohjelmistot yhä kriittisemmässä roolissa, tiimien ketteröityminen ja autonomian lisääntyminen, jatkuvaan julkaisuun ja devopsiin suuntautuminen, testiautomaatio ja tekoäly, jossa tänä vuonna erityisesti kasvaa generatiivinen tekoäly.

Tietotekniikan määrä yleensä on lisääntynyt. Se on tarkoittanut tietenkin myös enemmän testausta, mutta itse asiassa suhteellisesti enemmän testausta kuin koodausta, sillä kun ohjelmistojen monimutkaisuus kasvaa, lisääntyvät mahdolliset käyttötavat moninkertaisesti enemmän kombinaatioräjähdykseksikin kuvatulla tavalla.

Roolien muutos kohti ketteriä moniosaajatiimejä on ollut yksi vastaus lisääntyneeseen testaustarpeeseen. Se on korostanut aikaisen testauksen merkitystä ja sitä kautta myös testauksen sisältymistä kaikkiin ohjelmistokehityksen rooleihin, alkaen koodaajasta ja vaatimusten määrittelijästä aina käyttäjiin ja muihin sidosryhmiin asti. Tämä korostaa testauksen perustaitojen ja kriittisen ajattelun levittämisen merkitystä. Tässä ei aina olla onnistuttu. Muutos on vielä pahasti kesken. Kuitenkin on ilo nähdä onnistumisiakin tällä saralla.

Toinen muutos, joka on lähtenyt lisääntyneestä testaustarpeesta ja samalla myös asiakkaiden tarpeista saada yhä nopeammin yhä laadukkaampia ohjelmistoja, on jatkuva julkaisu, tai DevOps, kuten tätä kokonaisuutta usein myös kutsutaan. Puhutaan myös modernien hyvin toimivien digitaalisten organisaatioiden rakentamisesta. Tämä muutos on vahvistanut autonomisten tiimien kulttuuria ja testauksen ja laadun vastuun jakautumista koko tiimille yhdessä. Se on myös luonnollisesti tarvinnut runsaasti automaatiota, niin julkaisuputken automatisointiin kuin testiautomaatioonkin. Automaatio itsessään on muuttanut testausta paljon – keskimääräinen testaaja on näinä päivinä paljon teknisempi kuin vielä joitakin vuosia sitten. Kuitenkin myös ihmisen näkemykselle, esim. tutkivan testauksen tai hyväksymistestauksen muodossa on edelleen tarvetta.

Samalla testauksen sijaan on alettu korostamaan laadun merkitystä, sen rakentamista olennaiseksi osaksi ohjelmistoja ihan ajatuksesta lähtien. Testauksen sanansaattajuudesta on siirrytty laadun mahdollistamiseen, mikä näkyy mm. testausroolien muunnoksessa johdon valmentajiksi, tiimien laadun tukijoiksi, ketteryyden puolesta puhujiksi ja DevOps-asiantuntijoiksi. Laatu on koko yrityksen asia, lähtien yrityksen hallituksesta, toimitusjohtajasta, johtoryhmästä ja CxO-tasosta.

Kuitenkin ehkä isoin muutos testaukselle on tekoäly. Tekoäly on vaikuttanut ohjelmistotestaukseen monin tavoin. Tässä lyhyt yhteenveto:

Tuo yhteenveto ei ollut minun tekstiäni vaan Microsoft Copilotin vastaus kysymykseeni ”Mikä on tekoälyn vaikutus ohjelmistotestaukselle?” Huomasitko eron minun tekstiini? Tekoälyn, ja erityisesti generatiivisen tekoälyn, kuten juuri Microsoft Copilot tai vaikkapa GitHub Copilot ajatellaankin juuri tehostavan testauksen kohdentamista ja testiautomaatiota. On myös totta, että tekoälyn soveltaminen myös testaukseen kehittyy huimaa vauhtia ja on arjen todellisuutta monessa yrityksessä.

Huomiotta jää usein se, että tekoälyn avulla tuotetut ohjelmistot muuttavat myös testausta. Kun koko ohjelmisto perustuu todennäköisyyksiin (kuten kaikki tekoäly), muuttuu testaus otoksen omaiseksi. Sama testi ei saa uudelleen ajettuna (muutoksen jälkeen) samaa tulosta, sillä tekoäly ei toimi aina samalla tavalla; se toimii vain keskimäärin saman suuntaisesti. Lisäksi tekoäly voi toimia radikaalisti väärin, pahimmillaan huomaamattomalla tavalla. Se, että tehostamme ohjelmiston määrittelyä ja koodausta tekoälyn avulla, voikin lisätä testaus-, laatu- ja katselmointityötä jopa moninkertaisesti. Kaikki, mitä tekoäly tuottaa, täytyy käydä läpi kriittisesti ja erityisen huolella. Paras kysymys on ”olisinko itse toteuttanut ohjelmiston näin?”. Jos et ymmärrä tekoälyn koodia tai vastausta, et voi sitä käyttää.

Kuitenkin maailma muuttuu ja testaus sen mukana, tahdoimme sitä tai ei. Käyttäjien laatukokemus täytyy muuttua joka tapauksessa yhä paremmaksi. Osa tätä työtä on testaus, ja se kuuluu kaikille. Kuitenkin myös testausammattilaisten työt ovat edelleen olemassa, mutta nekin muuttavat muotoaan. Yhdessä löydämme tavat tehdä yhä parempia ohjelmistoja!

Kirjoittaja on Vuoden testaaja 2021, EuroSTAR Testing Excellence Award 2021 voittaja, Exemplary DevOps instructor 2023 voittaja, lasten ja aikuisten testauskirjailija Dragons Out Oy:ssä, Knowitin konsultti, Finnish Software Testing Boardin varainhoitaja, ISTQB:n aktiivi, TMMi:n hallituksen jäsen, ja innokas meloja.

QOSHE - Tekoäly muuttaa testausta - Kari Kakkonen
menu_open
Columnists Actual . Favourites . Archive
We use cookies to provide some features and experiences in QOSHE

More information  .  Close
Aa Aa Aa
- A +

Tekoäly muuttaa testausta

13 0
26.03.2024

Maailma muuttuu yhä suuremmalla vauhdilla. Näillä muutoksilla on vaikutuksia testaukseen, kuten aina. Tähän asti testaus on vain muuttunut erilaiseksi, tehokkaammaksi, aikaisemmaksi, paremmaksi. Tämänkin vuoden muutoksissa mikään ei varsinaisesti lopu, se vain muuttaa muotoaan, tai voi itse asiassa kasvaa. Näitä muutosajureita ovat ohjelmistojen lisääntyvä määrä, pilvi, suurempi määrä ohjelmistojen integraatioita, ohjelmistot yhä kriittisemmässä roolissa, tiimien ketteröityminen ja autonomian lisääntyminen, jatkuvaan julkaisuun ja devopsiin suuntautuminen, testiautomaatio ja tekoäly, jossa tänä vuonna erityisesti kasvaa generatiivinen tekoäly.

Tietotekniikan määrä yleensä on lisääntynyt. Se on tarkoittanut tietenkin myös enemmän testausta, mutta itse asiassa suhteellisesti enemmän testausta kuin koodausta, sillä kun ohjelmistojen monimutkaisuus kasvaa, lisääntyvät mahdolliset käyttötavat moninkertaisesti enemmän kombinaatioräjähdykseksikin kuvatulla tavalla.

Roolien muutos kohti ketteriä moniosaajatiimejä on ollut yksi vastaus lisääntyneeseen testaustarpeeseen. Se on korostanut aikaisen testauksen merkitystä ja sitä kautta myös testauksen sisältymistä kaikkiin ohjelmistokehityksen rooleihin, alkaen........

© Tivi


Get it on Google Play