
Kuusi myyttiä testauksen ostamisesta
16.12.2024Tekoälystä on tulossa yhä tärkeämpi osa testaajan työkalupakkia. Tekoälyn fiksulla hyödyntämisellä voi esimerkiksi testiautomaation testiskriptien tuottamisessa tehdä usean päivän manuaalisen työn minuuteissa.
Testiautomaatio on yksi ohjelmistotestauksen kulmakivistä, mutta sen kehittäminen ja ylläpito voivat olla aikaa vieviä tehtäviä. Tekoäly (AI) tarjoaa uuden lähestymistavan, joka nopeuttaa testiskenaarioiden luomista, optimoi testisuunnitelmat ja parantaa testauksen kattavuutta.
Tässä artikkelissa tarkastelemme, miten tekoäly voi tehostaa testiautomaatiota ja jaamme käytännön esimerkin AI-avusteisesta Robot Framework -testauksen kehittämisestä Visual Studio Coden ja Cline-pluginin avulla.
Tekoälyn hyödyntäminen testiskenaarioiden luomisessa Visual Studio Codessa
Perinteisesti testiautomaation kehitys alkaa testiskriptien manuaalisella kirjoittamisella. Tätä tarpeellista, mutta joskus työlästä työvaihetta voidaan merkittävästi nopeuttaa tekoälyä hyödyntämällä.
Tässä esimerkissä käytämme Visual Studio Codea yhdistettynä Cline-pluginin ja Antropic Claude 3.7 Sonnet -tekoälyn kanssa.
Tekoälylle annettiin seuraava komento Cline-pluginin kautta:
"Go to address https://www.testimate.fi/ and based on the source code of the page, create a Robot Framework file for testing all links from bottom to top, plus all headers."
Tekoäly analysoi verkkosivun lähdekoodin ja loi toimivan Robot Framework -testiskriptin vain muutamassa minuutissa. Skripti käytti Robot Frameworkin Browser Library -kirjastoa Playwrightin kanssa luotettavan ja modernin testauksen varmistamiseen.
Lisäksi testiskripti:
- Testasi linkit ja otsikot käänteisessä järjestyksessä (alhaalta ylös).
- Ohitti ulkoiset ja tyhjät linkit välttääkseen navigointiongelmia
- Käsitteli evästeilmoituksen automaattisesti.
- Tarjosi kattavan virhelokin ja aikakatkaisut testien luotettavuuden takaamiseksi
Testiskriptiä ajettiin useita kertoja ja se toimi moitteettomasti. Koko prosessi komennon antamisesta valmiiseen ja toimivaan koodiin kesti vain noin 5 minuuttia – käsin tehtynä työhön olisi mennyt aikaa noin 1-2 työpäivää. Itse tekoälyn käytön kustannus oli hyvin minimaalinen: hintalappu Clauden käytöstä oli vain 0,31 dollaria.
Testien analysointi ja parantaminen AI:n avulla
Tekoäly ei ainoastaan helpota testiskriptien luomista, vaan se voi myös analysoida ja parantaa niitä. Testiskenaarioita laajennettiin pyytämällä AI:ta lisäämään tilastollinen analyysi, joka seurasi testien onnistumisprosenttia kymmenen viimeisen ajon perusteella.
Cline-pluginin avulla annettiin seuraava pyyntö tekoälylle:
"Include a section that compares historical runs and calculates the percentage average of successful runs. The idea is to display the average of the last 10 runs in the report. Run the code and test that it works, fixing it if necessary."
Tekoäly loi Python-pohjaisen Run Statistics Library -komponentin, joka:
- Tallentaa testihistoriaa JSON-tiedostoon.
- Laskee testien onnistumisprosentin.
- Luo HTML-raportin, jossa on visuaaliset tilastot, kuten edellisten ajojen taulukko ja edistymispalkki.
Tämä mahdollisti testauksen laadun jatkuvan seurannan ja testiskriptien tehokkuuden parantamisen datan pohjalta.
Havainnot ja jatkokehitysmahdollisuudet
Jo lyhyen kokeilun perusteella selvisi, että tekoäly testiautomaation apuna tarjoaa useita merkittäviä etuja:
- Nopeus: Skriptien generointi ja muokkaaminen onnistuu minuuteissa.
- Kustannustehokkuus – Pilvipohjaiset tekoälyratkaisut maksavat murto-osan manuaalisesta työstä.
- Laajennettavuus – AI voi integroitua muihin järjestelmiin, kuten GitHubiin, Jiraan, Slackiin ja SQL-tietokantoihin.
- Helppo käyttöönotto – Cline-pluginin avulla AI:ta voi hyödyntää suoraan Visual Studio Codessa, mikä tekee kehityksestä sujuvaa.
Kokeilun yhteydessä tunnistimme useita jatkokehitysmahdollisuuksia, joilla tekoälyavusteinen työ tekee automaatiotestauksesta vieläkin sujuvampaa.
Esimerkkejä tehostamisesta on mm. lokaalin AI:n käyttö (esim. DeepSeek AI), joka voidaan ajaa suoraan Dockerissa sekä hybridimallit, kuten MinionS, joka yhdistää paikallisen ja pilvipohjaisen AI:n. Näillä tekniikoilla voidaan säilyttää tietoturva ja pienentää paikallisesti käytetyn AI:n avulla tekoälyn käytön kustannuksia jopa 82,5 %.
Yhteenvetona: testiautomaatio kehittyy jatkuvasti, ja tekoälyn hyödyntäminen Visual Studio Coden ja Cline-pluginin avulla avaa uusia mahdollisuuksia luotettavampaan ja älykkäämpään testaukseen.
AI:n avulla ohjelmistotestauksen ammattilainen voikin keskittyä enemmän testauksen strategiseen suunnitteluun ja vähemmän rutiininomaiseen koodin kirjoittamiseen.
Onko teidän testiautomaatioprosessinne valmis AI-vallankumoukseen?