Devaajamme tutki lopputyössään saavutettavuustestausta – mitkä ovat sen hyödyt ja haasteet?

Saavutettavuus
20.3.2024
Devaajamme tutki lopputyössään saavutettavuustestausta – mitkä ovat sen hyödyt ja haasteet?

Devaajamme Jenna teki meille lopputyön ja tarkasteli, miten saavutettavuuden testausta voitaisiin tulevaisuudessa suorittaa jatkuvana osana kehitysprosessia.

Lopputyön aihe löytyi omalta työpaikalta

Tein lopputyöni Funidatalle ja tarkastelin, miten saavutettavuuden testaustyökalut voitaisiin integroida jo olemassa oleviin testaustyökaluihin, kuten Jenkinsiin tai Cypressiin, jotta saavutettavuuden testaus voidaan suorittaa jatkuvana osana kehitysprosessia. Lopputyön tarkoituksena oli tutkia automatisointiin liittyviä mahdollisuuksia ja kirjoittaa suunnitelma, miten päätuotteemme Sisun saavutettavuustestausta voisi helpottaa jatkossa.

Aloitin työt saavutettavuushaasteiden parissa jo vuoden 2020 aikana, kun saavutettavuusdirektiivi astui voimaan. Siinä samassa kiinnostuin aiheesta ihan huomaamattani, sillä todella useassa verkkopalvelussa oli silloin huomattavissa saavutettavuusongelmia. Graduaihetta miettiessäni päädyin lopulta siihen, että haluan tutkia, miten saavutettavuustestaus voisi sulautua osaksi Funidatan ohjelmistokehitysprosessia. Tämä varmistaisi, että saavutettavuus on huomioitu kaikissa kehityksen vaiheissa ja näin ohjelmistokehitysprosessista voisi tehdä samalla tehokkaamman ja kestävämmän. Oman mielenkiintoni lisäksi aiheeni tietysti koettiin myös Funidatan näkökulmasta hyödylliseksi.

Mitä saavutettavuus ja sen testausprosessi tarkoittavat?

Saavutettavuus tarkoittaa, että tuotteet, palvelut tai järjestelmät on suunniteltu ja toteutettu siten, että kaikki käyttäjät voivat käyttää niitä esteettömästi ja yhdenvertaisesti, mukaan lukien ne käyttäjät, joilla on erityistarpeita. Erityistarpeisia käyttäjiä voivat olla esimerkiksi näkö- tai kuulorajoitteiset tai esimerkiksi liikuntarajoitteiset. Saavutettavuus varmistaa, että kaikki käyttäjät voivat saada samat tiedot ja käyttää verkkopalveluita yhdenvertaisesti, riippumatta heidän fyysisistä tai teknisistä rajoitteistaan.

Saavutettavuustestaus on prosessi, joka varmistaa, että verkkopalvelut ovat käyttökelpoisia erityistarpeisille käyttäjille. Se sisältää manuaalista ja automatisoitua testausta, mukaan lukien navigaatio- ja käyttöliittymätestit näkö- ja kuulorajoitteisille käyttäjille. Saavutettavuuden huomioiminen laajentaa verkkopalvelun kohdeyleisöä ja parantaa käyttäjäkokemusta. Testausmenetelmät vaihtelevat yrityksittäin, mutta automatisoituja testausvälineitä ja -prosesseja voidaan hyödyntää saavutettavuuden varmistamiseksi.

Devaajamme Jenna tietokoneella.
Devaajamme Jenna teki meille lopputyönä saavutettavuustestauksen automatisointisuunnitelman.

Saavutettavuuden automaattisen testauksen haasteet

Päätuotteemme Sisu ei vielä tällä hetkellä täytä kaikkia saavutettavuusvaatimuksia. Sisun saavutettavuus on meille ja omistajakorkeakouluillemme tärkeä asia, jonka eteen työskentelemme jatkuvasti muun kehityksen ohessa. Vaikka järjestelmä on laaja ja luotu ennen saavutettavuusdirektiivin käyttöönottoa, on tärkeää huomata, että monet näistä ongelmista eivät ole ainutlaatuisia.

Erityisen suuri haaste saavutettavuuden näkökulmasta Sisussa on jo olemassa oleva tekninen velka. Järjestelmä on sekoitus vanhaa angularJS-sovelluskehystä ja uutta angular-sovelluskehystä. Vanhan ja uuden sekoitus aiheuttaa ajoittain haasteita esimerkiksi käyttöliittymän navigoinnissa. Tämän korjaamiseksi angularisointia eli vanhan angularJS:n kääntämistä uudeksi angulariksi tehdään jatkuvasti muiden töiden ohella.

Saavutettavuuden automaattiseen testaukseen liittyvät haasteet voivat käsittää teknisen velan, oikeiden työkalujen valinnan ja konfiguroinnin, sekä testien päivittämisen. Kehittäjien resursseja sitoo työkalujen huolellinen valinta, kun heitä on paljon yhden tuotteen kehityksessä. Testien uudistaminen on aikaa vievää, ja olemassa olevien testien määrä on huomioitava testauksen suunnittelussa. Koulutukset ja uusien toimintatapojen juurruttaminen vaativat vaivannäköä scrum mastereilta ja ohjelmistokehittäjiltä. Kehittäjien koulutus ja tietoisuuden lisääminen ovat keskeisiä automaattisen testauksen onnistumisen kannalta.

Automaattinen saavutettavuustestaus parantaa laatua ja tehokkuutta

Automaattinen saavutettavuustestaus parantaa Funidatan tuotekehityksen laatua ja tehokkuutta. Automatisointi mahdollistaa saavutettavuuden arvioinnin ja testauksen tehokkaan ja toistettavan suorittamisen. Tämän avulla voidaan myös säästää aikaa ja resursseja verrattuna manuaaliseen testaukseen, joka voi olla aikaa vievää ja altista inhimillisille virheille. Testaustyökalut on integroitava nykyiseen ohjelmistokehitysprosessiin riittävän kevyesti. Testien tulisi olla osa kehitysputkea ja suorittua automaattisesti osana jatkuvaa integrointi ja julkaisu (CI/CD) -prosessia. Näin varmistetaan, että saavutettavuutta testataan jatkuvasti ja virheet havaitaan ajoissa. Mitä aiemmin virheet huomataan, sen helpompi ne yleensä on korjata.

Automaattiset testit voidaan suorittaa nopeasti ja tehokkaasti ilman käyttäjän tai testaajan jatkuvaa osallistumista. Lisäksi automaattiset testit parantavat testien tarkkuutta. Saavutettavuuden arvioinnissa on monia sääntöjä ja standardeja, jotka on otettava huomioon. Manuaalisessa testauksessa saattaa kuitenkin ilmetä inhimillisiä virheitä tai unohtumisia, sillä ihmisen aivot ovat rajallinen tietovarasto. Automaattiset testit sen sijaan noudattavat tarkasti määriteltyjä testaussääntöjä ja pystyvät tunnistamaan saavutettavuuspuutteita luotettavasti ja johdonmukaisesti. Tämä parantaa testien luotettavuutta ja varmistaa saavutettavuusvaatimusten tehokkaan noudattamisen.

Mitä opin lopputyötä tehdessäni?

Saavutettavuustestauksen automatisointisuunnitelman luominen vaatii huolellista valmistelua. Ensimmäisessä vaiheessa analysoimme järjestelmän saavutettavuuden tarpeita ja vaatimuksia sekä käyttäjäryhmiä ja odotuksia. Tämän jälkeen määrittelemme, mitkä testit automatisoidaan ja mitkä edelleen vaativat manuaalista testausta. Tämä lähestymistapa tukee saavutettavuuden arviointia ja varmistaa sen johdonmukaisuuden ajan myötä. Automaattiset testit kattavat toistuvat testit, kun taas manuaalinen testaus keskittyy monimutkaisempiin saavutettavuuskysymyksiin ja tärkeisiin osa-alueisiin.

Vaikka kirjoitin graduni melko pienessä ajassa aikataulupaineiden takia, opin sitä tehdessä paljon Funidatan nykyisestä ohjelmistokehitysprosessista ja siihen liittyvistä työkaluista sekä Sisun saavutettavuuden tilasta. Uskon, että gradustani saattaa olla tulevaisuudessa hyötyä, mutta en usko, että saavutettavuustestauksen automatisointi on kovin pieni homma, joskin se olisi todella hyödyllistä. Toki testauksen automatisointi vaikuttaa myös ohjelmistokehittäjän arkipäivän työhön, jolloin kaikkien kehittäjien ja testaajien pitäisi ymmärtää muutoksen hyödyt ja toimia uusien sovittujen tapojen mukaisesti.

Oli huippua, kun sain tehdä työpaikalleni lopputyön nopealla aikataululla. Sain myös työkavereilta aina tarvittaessa apua ja tukea! Aiheeksi valikoitui sekä minulle että Funidatalle hyödyllinen aihe.

Jenna
Full Stack Developer
Jaa artikkeli
not a link