Tekoälyn soveltuvuus ohjelmistotestaukseen
Tekoälyn nopea kehittyminen on helpottanut useiden eri työtehtävien suorittamista ja sitä hyödynnetäänkin jo laajalti tietotekniikan alan työtehtävissä kuten ohjelmistotestauksessa. Millaisilla tavoilla tekoälyä voidaan hyödyntää ohjelmistotestaamisessa ja mitä mahdollisia ongelmia se tuo mukanaan?
Ohjelmistotestauksen tarkoituksena on testata kehityksessä olevaa ohjelmaa, jotta voidaan todentaa, että ohjelmisto toimii varmasti halutulla tavalla. Ohjelmistotestauksen eri osa-alueita ovat manuaalitestaus ja automaatiotestaus. Manuaalitestauksessa ohjelmistotestaaja suorittaa ohjelmistotestauksen itse ilman mitään automaatioita. Manuaalitestaus on hidasta mutta sen avulla mahdolliset virheet ohjelmistoista löydetään parhaiten. Automaatiotestaus on nimensä mukaisesti automatisoitua testaamista. Automaatiotestauksen tarkoituksena on säästää aikaa ja automaatiotestaus onkin huomattavasti nopeampaa kuin manuaalitestaus. Automaatiotestauksessa on kuitenkin todennäköisempää, että jokin virhe ohjelmistossa jää huomaamatta.
Tekoälyn hyödyntäminen
Tekoälyn hyödyntämisellä ohjelmistotestauksessa pyritään säästämään aikaa entisestään. Tekoäly pystyy esimerkiksi nopeuttamaan testien luomista samalla suorittaen kattavamman testauksen, joka vaatii vähemmän aktiivista seurantaa työntekijältä. [1] Säästetty aika vapauttaa työntekijän aikaa vievältä ohjelmistotestaukselta ja näin ollen työtehtäviä pystytään suorittamaan enemmän.
Tekoäly ei kuitenkaan kykene testaamaan epävakaita tai kehitteillä olevia ohjelmistoja sillä tekoäly vaatii jonkinlaisen pohjan, jotta testiautomaatio voidaan kehittää. Edellä mainituiden syiden takia testiautomaatioita ja tekoälyä hyödynnetäänkin vasta sellaisiin ohjelmistoihin, jotka ovat vakaita ja jollain tavalla toiminnallisia. Tekoäly onkin siis hyvä työkalu, kun suoritetaan regressiotestausta eli pyritään varmistamaan ohjelmistoon tulleiden päivitysten vaikutus jo toimiviksi todetuissa ominaisuuksissa.
Tekoäly ja sen tulevaisuus
Tulevaisuudessa tekoäly tulee olemaan varmasti laajalti käytössä kaikilla tietotekniikan aloilla, sillä se tarjoaa kustannustehokkaan vaihtoehdon alkeelliselle manuaalitestaukselle. Vaikkei automaatiotestauksen ja tekoälyn hyödyntäminen olekaan vielä pakollista se on silti ajankohtaista koska tekoälyn ja tietotekniikan alan kehitys on nopeaa. Näiden mahdollisuuksien hyödyntämättä jättäminen merkitsee yrityksille suurempia kustannuksia ja työnteko on työntekijöille kuluttavampaa.
Tekoälyn nopean kehityksen myötä valtaosalle työntekijöistä on muodostunut huoli siitä, että tulevaisuudessa tekoäly korvaisi täysin tarpeen oikeille työntekijöille. Ohjelmistotestauksessa näin ei kuitenkaan ole sillä manuaalitestaus on edelleen relevanttia tulevaisuudessa, ja tekoälyn hyödyntäminen vaatii sellaisen työntekijän, joka osaa hyödyntää sitä ja ymmärtää sen toimintatapoja. Vaikka tekoäly pystyykin suorittamaan ohjelmistotestausta vaativat työtehtävät nopeammin kuin oikea työntekijä, tekoäly ei kykene samanlaiseen luovuuteen, intuitioon ja kriittiseen ajatteluun kuin ihminen. [2]
Tekstin kirjoitti Konsta Jäske
Tietojenkäsittelyn opiskelija, TIK21KM
Lähteet
[1] Donovan, Megan 2023. Artificial Intelligence in Test Automation. Hakupäivä 31.01.2024. https://smartbear.com/blog/artificial-intelligence-in-test-automation/
[2] Workbox Technologies 2023. Will AI Replace Software Quality Assurance (SQA) Roles? A Deep Dive. Hakupäivä 31.01.2024. https://medium.com/@workboxtech/will-ai-replace-software-quality-assurance-sqa-roles-a-deep-dive-b92964e3c1aa#theimpactofaionsoftwaretestingwillitreplacesoftwarequalityassurancesqaroles
Opinnäytetyö, johon blogi perustuu:
Jäske, Konsta 2023. Ohjelmistotestaajan työnkuva, päiväkirjamuotoinen opinnäytetyö. Oulun ammattikorkeakoulu. Tietojenkäsittelyn tradenomi, Tietojenkäsittelyn tutkinto-ohjelma.