HiQ ExpertsMiksi testaus on ohjelmistojen laadun kulmakivi? Jenny Salo kertoo


Ohjelmistotestaus on jokaisen loistavan ohjelmiston perusta, jolla täytetään paitsi tekniset vaatimukset, myös käyttäjien odotukset. HiQ:n Senior Test Automation Engineer Jenny Salo kertoo, miksi.

“Testaus ei ole vain yksi vaihe ohjelmistokehityksen prosessissa – se on jokaisen loistavan ohjelmiston perusta”, toteaa Jenny Salo, HiQ:n Senior Test Automation Engineer.

Ohjelmistotestaus varmistaa, että sovellukset täyttävät teknisten vaatimusten lisäksi myös niiden käyttäjien odotukset. Siksi se on kriittinen osa laadunvarmistusta.

Jos testaajat otetaan Shift Left -lähestymistavan mukaisesti mukaan jo kehityksen alkuvaiheessa, mahdollisten ongelmien korjaaminen on paitsi helpompaa, myös edullisempaa. Testausta tulisikin olla mukana kaikilla testaustasoilla yksikkötestauksesta hvyäksymistestaukseen.

“Testaus laskee todennäköisyyttä sille, että tuotteeseen jää löytämättömiä vikoja. International Software Testing Qualifications Boardin (ISTQB) testauksen periaatteen mukaisesti: ‘Testing shows the presence, not the absence of defects.’”

Suomalainen Robot Framework on maailmanlaajuinen hitti

Laadukkaassa ohjelmistokehitysprosessissa käytetään sekä manuaalista että automaattista testausta. Toistuvissa ja tarkkuutta vaativissa tehtävissä automaatiotestaus loistaa, sillä se vapauttaa aikaa haastavampiin luovuutta ja oivalluksia vaativiin ongelmiin, kuten testikeissien modularisointiin ja parametrisointiin. Ne nokkeloittavat testejä siten, että niitä voi käyttää uudelleen eri tarkoituksiin eri testidatalla.

“Muita luovuutta vaativia ongelmia ovat sellaisten testien suunnittelu, joiden tulisi lähtökohtaisestikin epäonnistua. Niissä tarkoituksenmukaisesti testattavaan sovellukseen syötetään vääränlaista dataa ja varmistetaan, että sovellus ei päästä sellaista läpi. Tällaisiin tarkoituksiin automaatiokehys on erityisen kätevä ja suositeltava työkalu”, Jenny kertoo.

Yksi automaatiotestauksen joustavimmista työkaluista on avoimen lähdekoodin automaatiokehys Robot Framework (RF).

“Suomessa kehitetty Robot Framework on saavuttanut maailmanlaajuista suosiota verkkosovellusten, rajapintojen, tietokantojen ja jopa laitteistojen testaamisessa. Monipuolisuutensa vuoksi voi käyttää melkein mihin tahansa, se on vähän kuin paikallinen sankari”, Jenny toteaa.

RF yhdistää myös useita rajapintoja ja testikohteita yhteen ja samaan testiin.

”Olen käyttänyt sitä automatisoimaan testejä selainpohjaisia käyttöliittymiä, tietokantoja ja jopa sulautettuja järjestelmiä vasten – kaikki yhdessä testitapauksessa. Tämä antaa RF:lle etulyöntiaseman monijärjestelmällisissä testausympäristöissä esimerkiksi Cypressin ja Playwrightin kaltaisiin kilpailijoihin verrattuna.”

Nopeammat ja älykkäämmät ohjelmistot kasvattavat vahvojen testauskehysten tarvetta

Tulevaisuudessa testautomaatio ja kehittyvät front-end-teknologiat lupaavat nopeampia, älykkäämpiä ja luotettavampia ohjelmistoja.

“Ohjelmistojärjestelmien monimutkaistuessa vahvojen testauskehysten merkitys kasvaa entisestään. Robot Frameworkin kyky käsitellä monipuolisia testauskokonaisuuksia ja edistää tiimien yhteistyötä tekee siitä ihanteellisen työkalun moderniin ohjelmistokehitykseen”, Jenny toteaa.

Erityisesti Jenny kuitenkin odottaa, että Robot Frameworkin kaltaiset helposti lähestyttävät työkalut ja niissä käytettävä syntaksi toisivat bisnes- ja tech-ihmiset entistäkin lähemmäksi toisiaan.

“Robot Frameworkilla on potentiaalia kaventaa bisneksen ja testaajien välistä kuilua. Sen avainsanoihin perustuva taulukkosyntaksi on yksinkertainen ja helpottaa yhteistyötä eri tiimien välillä, sillä se on helposti lähestyttävä sekä teknisille että ei-teknisille käyttäjille.”

Menestyksekäs ohjelmistotestaus vaatii yhteistyötä

Jennyn mukaan ohjelmistotestaus on pohjimmiltaan yhteistyötä, joka vaatii tiivistä koordinointia kehittäjien, testaajien ja muiden sidosryhmien välillä.

“Kehittäjien ja testaajien täytyy työskennellä yhdessä luodakseen ohjelmistoja, jotka eivät ainoastaan toimi hyvin, vaan myös ilahduttavat käyttäjiä. Parhaimmillaan testaus rakentaakin luottamusta tuotteeseen”, Jenny kertoo.

Tiivis yhteistyö sovelluskehittäjien kanssa auttaa myös heitä ymmärtämään testauksen roolia ja merkitystä, ja testitulokset toimivat suorana palautteena kehittäjille.

“Kun kehittäjät ymmärtävät testaajien kehittämiä testejä, heidän on mahdollista paikantaa vikoja omassa koodissaan. Testitulosten läpikäynti synnyttää myös hyödyllisiä keskusteluja testauksen kattavuudesta, ja usein kehittäjien kanssa tulee suunniteltua yhdessä testejä sekä keskusteltua aikatauluista ja siitä, mitä on tulossa seuraavaksi.”

Haasteita automaatiotestauksessa voi kohdata selainpohjaisten sovellusten dynaamisten elementtien ID tunnisteiden kanssa.

“Joskus elementeillä ei ole vakaita tunnisteita, kuten staattisia ID-attribuutteja tai tunnisteita HTML-elementeille. Silloin teen yhteistyötä kehittäjien kanssa, jotta elementteihin voidaan lisätä tunnisteita tai attribuutteja. Jos se ei ole mahdollista, olen keksinyt luovia kiertoteitä.”

Lisää aiheesta: