Vuoden 2020 vauhdikkaan alun jälkeen on tullut sopiva aika koota jälleen ajatuksia ohjelmistotestauksen trendeistä. Tulevat trendit riippuvat paljolti siitä keneltä kysytään ja mikä on tarkastelun näkökulma. Silti tietyt termit ja kirjainyhdistelmät ilmestyvät listoille useammin kuin muut. Näitä ovat esimerkiksi: ketterät menetelmät (agile methodologies), DevOps, big data, tekoäly (AI), koneoppiminen (ML), Internet of Things (IoT) ja testiautomaatio. Perehdytään seuraavaksi hieman tarkemmin näihin.
Testiautomaatio
Testiautomaatiomarkkinan koko, sen käyttökohteet sekä siihen liittyvien työkalujen ja toimintatapojen määrät ovat olleet kasvussa jo pitkään. Silti testiautomaation käyttäminen on edelleen monille suhteellisen uutta ja sen käyttöaste tulee uusien tekniikoiden avustamana kasvamaan jatkossakin.
Testiautomaation kasvupotentiaali tulee useasta eri lähteestä. Automaation hyödyntäminen manuaalisten testausprosessien tilalla on saavuttanut vasta osan potentiaalistaan. Uudet teknologiat ja arkkitehtuurit tulevat luomaan uusia mahdollisuuksia testiautomaation hyödyntämiselle. MarketsandMarketsin markkinatutkimuksen(1) mukaan testiautomaatiomarkkinan ennustetaan kasvavan nykyisestä 12,6 miljardista (USD) 28,8 miljardiin vuoteen 2024 mennessä.
Devops-kulttuurin ja ketterien menetelmien valtavirtaistumista pidetään testiautomaation yleistymistä kiihdyttävinä trendeinä. Yhdessä näiden toimintatapojen ja menetelmien kanssa, testiautomaatiolla voidaan nopeuttaa julkaisutahtia sekä parantaa investointien tuottoja ja sovellusten laatua. Testiautomaation käyttö on muuttunut luonteeltaan pitkäaikaiseksi ja jatkuvaksi osaksi sovellusten elinkaarta.
Vuonna 2020 testiautomaation käyttö yhdessä tekoälyn ja koneoppimisen (AI ja ML), sekä ohjelmistorobotiikanrobotiikan (RPA) kanssa yleistyy. Nämä ovat yleistyviä teknologioita, joilla on merkittäviä yhteishyötyjä testiautomaation kanssa.
Testiautomaation määrällinen kasvu tuo laadullisia ja ylläpidollisia haasteita myös itse testiautomaatiokoodille. Tässä korostuu hyväksi havaittujen ratkaisujen, käytänteiden ja jatkuvan kehityksen periaatteiden käyttäminen myös testiautomaatiokehityksessä. Kasvava osaaminen mahdollistaa testiautomaatio-osaamisen hyödyntämisen myös muussa kehitystyössä, kuten ympäristöjen konfiguroinnissa, julkaisuputkien luomisessa ja ohjelmistorobotiikassa. Testiautomaatio ja testaus ovat jatkossa vahvempi ja olennaisempi osa ohjelmistokehitystä.
Ketterät menetelmät ja DevOps
Ketterät menetelmät ja DevOps yleistyvät vauhdilla. Molemmat vaativat laajempaa osaamista ja avoimuutta uudelle ajattelulle. Ketterät menetelmät ja DevOps syventävät testauksen roolia ohjelmistokehityksessä. Ne lisäävät mm. testiautomaation, skriptauksen ja tutkivan testauksen tarvetta. Practitestin State of Testing-raportissa(2) Agile oli vuonna 2020, neljättä vuotta yhtäjaksoisesti, parhaana pidetty työskentelymetodi. DevOps oli samaisessa tutkimuksessa tänä vuonna toisena.
Näihin termeihin liittyy myös ilmeinen näkökulmasta riippuva haaste: termit eivät ole universaaleja, vaan tarkoittavat asiayhteydestä riippuen eri asioita. Yhteistä on nopeampi reagointi muuttuvaan markkinaan, tiheämpi julkaisutahti ja suurempi kehitystiimin vastuu laadusta aina kehityksestä tuotantoon asti.

Big Data
Datan keräämisestä on tullut merkittävä osa kaikenkokoisten yritysten arkea viime vuosina ja monilla yrityksillä alkaakin olla sitä melko paljon, suuremmilla yrityksillä valtavasti. Datan valtava määrä luo uusia haasteita myös testauksen näkökulmasta.
Big Data -sovellusten testaaminen vaatii uusia tai päivitettyjä työkaluja ja ohjelmistokehyksiä suurten datamäärien luonnin, prosessoinnin, tallennuksen ja analysoinnin reaaliaikaiseen testaukseen. Big Data -sovellusten testausta varten on äärimmäisen tärkeää osata luoda oikea strategia ja ympäristö testauksen suorittamiseen ja datan säilytykseen. Pilvipalvelut ja automaatioratkaisut ovat tärkeässä roolissa asiantuntemuksen ohella.

Tekoäly ja koneoppiminen
2020 sekä sitä seuraavat lähivuodet ovat tekoälyn valtavirtaistumisen aikaa. Capgeminin World Quality reportin(3) organisaatioista 96% hyödynsi tekoälyä projekteissaan vuonna 2019 tai suunnitteli hyödyntävänsä sitä seuraavan vuoden aikana.
Tekoäly on mielenkiintoinen trendi testauksessa, sillä se on niin testauksen kohde kuin myös sen työkalu. Sen rooli ja merkitys ei rajoitu ainoastaan ohjelmistotestaukseen vaan ulottuu lopulta pitkälle yli perinteisen ohjelmistokehityksen viitekehyksen.
Tekoälyn ja koneoppimisen hyödyntämisessä testauksessa suurimpana haasteena on oikeanlainen osaaminen. Teknisen, matemaattisen ja tilastollisen osaamisen yhdistelmä yhdistettynä rohkeuteen ja kokeilunhaluun mahdollistaa mm. testiautomaation parantamisen ja luomisen tekoälyn ja koneoppimisen avulla.
Tekoälyn ja koneoppimisen rooli myös testaustarpeiden tunnistamisessa on yleistynyt viime vuosien aikana. Sen avulla voidaan muun muassa tunnistaa tarpeettomia tai esimerkiksi automaatiolle soveltuvimpia testitapauksia, ennustaa historiadatalla testausprosessin avainparametreja, sekä tunnistaa sovelluksen riskipitoisia osa-alueita regressiotestausta varten.
Voidaan sanoa, että näiden teknologioiden täysimittainen hyödyntäminen nyt ja tulevaisuudessa vaatii olemassa olevaa vahvaa testiautomaatio- ja arkkitehtuuriosaamista sekä kykyä nopeisiin, jopa perustavanlaatuisiin muutoksiin ohjelmistokehityksessä.
IoT
IoT:ta käyttävien älylaitteiden määrän arvioitiin vuonna 2018 olevan jopa 22 miljardia, saman luvun odotetaan nousevan aina 50 miljardiin asti vuoteen 2030 mennessä. Ei vaadi sen syvällisempää analyysiä ymmärtää, että näihin laitteisiin välittömästi liittyvällä testauksella on valtava rooli testauksen tulevaisuudessa.
5G:n ja muiden uusien verkkotekniikoiden evoluutio pelaa suurta roolia siinä mihin suuntaan kehitys lopulta jatkuu. Testaustarpeiden kasvun voidaan kuitenkin odottaa olevan jo varmaa. IoT -testauksella voidaan helpottaa ja mahdollistaa turvallisuuden arviointia, datan luotettavuuden arviointia, yhteyden viiveen seurantaa ja skaalautuvuuden testausta.
IoT:n lisäksi pilvipalvelut ja mobiilisovellukset ovat nopeasti kasvavia testauksen kohteita, joiden roolin tiedetään kasvavan tulevaisuudessa. Osaltaan juuri IoT laitteiden määrän kasvusta johtuen.

Yhteenveto
Eli mitkä ohjelmistojen laadunvarmistuksen ja testauksen osat ovat niitä keskeisimpiä testauksen kehitykselle? Edelleen asia riippuu näkökulmasta ja vastaajasta.
Testaaminen muuttuu ja ennen kaikkea laajenee jatkuvasti. Oppimishaluisille ja motivoituneille ohjelmistoalan asiantuntijoille on tarjolla uusia ja muuttuvia haasteita. Nämä haasteet mahdollistavat uuden oppimisen ja taitojen soveltamisen uudella tavalla. Laatu voidaan saavuttaa yhteistyöllä ja selkeillä yhteisillä tavoitteilla.
Tässä tekstissä käsitellyt trendit ovat niitä, joiden uskomme olevan eniten pinnalla nyt ja tulevaisuudessa. Testauksen trendeissä vuonna 2020 on paljon samaa kuin vuonna 2019 ja väitämme, että näin on myös vuoden kuluttua.
Monien tässä käsittelemiemme trendien yleistyminen ja laaja omaksunta vie aikaa. Nämä trendit eivät myöskään ole toisistaan irrallisia vaan kuuluvat osittain hyvinkin tiiviisti yhteen. Ketterien menetelmien täysimittainen käyttö vaatii testiautomaatiota, joka taas mahdollistaa tekoälyn ja koneoppimisen soveltamisen testauksessa ja ylläpidossa sekä ohjelmistokehityksessä yleensä. Näiden vapauttama aika voidaan käyttää uuden tutkimiseen ja löytämiseen.
Lähteet:
- https://www.marketsandmarkets.com/Market-Reports/automation-testing-market-113583451.html
- https://www.practitest.com/assets/pdf/PT_repo4_20-20.pdf
- https://content.microfocus.com/world-quality-report-quality-driven-development-tb/world-quality-report-2019-2020?lx=R6G46K?utm_source=techbeacon&utm_medium=techbeacon&utm_campaign=00134846
- https://www.statista.com/statistics/802690/worldwide-connected-devices-by-access-technology/
- https://www.lambdatest.com/blog/software-testing-trends-2020/
- https://www.kiwiqa.com/software-testing-trends-for-2020/
- https://testguild.com/trends-2020/
- https://www.qamadness.com/the-future-is-here-top-software-testing-trends-2020/
- https://www.softwaretestinghelp.com/software-testing-trends/
- https://www.testingxperts.com/blog/software-testing-trends-2020
- https://www.functionize.com/blog/the-future-of-software-testing-in-2020-heres-whats-coming/