Improving Web User Interface Test Automation in Continuous Integration
Sinisalo, Markus Tapani (2016)
Sinisalo, Markus Tapani
2016
Tietotekniikan koulutusohjelma
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2016-06-08
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201605264158
https://urn.fi/URN:NBN:fi:tty-201605264158
Tiivistelmä
Nykyaikaisessa ohjelmistokehityksessä hyödynnetään ketteriä menetelmiä, joiden avulla yritetään nopeasti vastata asiakkaiden muuttuviin vaatimuksiin ja havaittuihin ongelmiin. Tästä syystä ohjelmisto voi käydä läpi nopeita muutoksia lyhyillä aikaväleillä. Muutokset ohjemistoon voivat aiheuttaa aikaisemmin toimiviin ominaisuuksiin virheitä, joita voidaan nopeasti havaita automatisoidun regressiotestauksen avulla. Eräs tähän ongelmaan vastaava menetelmä on jatkuva integrointi, johon kuuluu automaatiotestien liittäminen osaksi buildia. Siten kehittäjät saavat nopeaa palautetta ja ohjelmiston perusta voidaan jatkuvasti yrittää pitää stabiilina.
Suomalainen ohjelmistoyritys M-Files on kehittänyt web-käyttöliittymän automaatiotestausta osana tuotteensa laadunvarmistusta. Tämän työn tavoitteena on kehittää parannusehdotuksia, joiden avulla voidaan korjata tai lieventää kyseiseen testiautomaatioon liittyvän testausprosessin ja testaustyökalun hyödyntämisessä havaittuja ongelmia. Lisäksi tavoitteena on joidenkin parannusehdotusten toteuttaminen. Tärkeimmät havaitut ongelmat ovat testikierrokseen kuluvan ajan pituus ja useiden automaatioon liittyvien työvaiheiden manuaalisuus. Muita havaittuja ongelmia ovat testeihin kuluvan ajan systemaattisen mittauksen puuttuminen, testitulosten heikko näkyvyys organisaatiossa ja testeissa havaitut laatuongelmat.
Työn kirjallisuuskatsauksessa tarkasteltiin jatkuvan integraation periaatteita sekä testisautomaatiota osana buildeja jatkuvassa testauksessa. Lisäksi tutustuttiin web-käyttöliittymien kehitykseen, testausmenetelmiin, ja toteutusteknologioihin. Vastauksena web-käyttöliittymän automaatiotestauksessa havaittuihin ongelmiin ja tarkemman analyysin pohjalta luotiin 11 parannusehdotusta. Näistä ehdotuksista työn puitteissa toteutettiin kolme ja kahden toteuttaminen aloitettiin. Toteutukset olivat web-käyttöliittymätestien liittäminen osaksi jatkuvan integraation buildia, testisettien jakaminen rinnakkaisuutta paremmin tukeviin pienempiin kokonaisuuksiin ja peräkkäisissä testiajoissa käytettyjen selaimien kiertoperiaatteen luominen. Lisäksi testien laadun tarkempi seuranta aloitettiin ja testityökaluun luotiin alustava toteutus kommunikointiin M-Files REST-rajapinnan kanssa, jotta testien alustustoimenpiteitä voitaisiin jatkossa virtaviivaistaa. Työn tuloksena web-käyttöliittymän automaatiostestauksesta saatu palaute on nyt nopeampaa, testitulokset näkyvämpiä ja suurin osa työvaiheista on automatisoitu osaksi buildia. Testiautomaation kehittäminen organisaatiossa jatkuu muunmuassa jalostamalla tämän työn tuloksia eteenpäin.
Suomalainen ohjelmistoyritys M-Files on kehittänyt web-käyttöliittymän automaatiotestausta osana tuotteensa laadunvarmistusta. Tämän työn tavoitteena on kehittää parannusehdotuksia, joiden avulla voidaan korjata tai lieventää kyseiseen testiautomaatioon liittyvän testausprosessin ja testaustyökalun hyödyntämisessä havaittuja ongelmia. Lisäksi tavoitteena on joidenkin parannusehdotusten toteuttaminen. Tärkeimmät havaitut ongelmat ovat testikierrokseen kuluvan ajan pituus ja useiden automaatioon liittyvien työvaiheiden manuaalisuus. Muita havaittuja ongelmia ovat testeihin kuluvan ajan systemaattisen mittauksen puuttuminen, testitulosten heikko näkyvyys organisaatiossa ja testeissa havaitut laatuongelmat.
Työn kirjallisuuskatsauksessa tarkasteltiin jatkuvan integraation periaatteita sekä testisautomaatiota osana buildeja jatkuvassa testauksessa. Lisäksi tutustuttiin web-käyttöliittymien kehitykseen, testausmenetelmiin, ja toteutusteknologioihin. Vastauksena web-käyttöliittymän automaatiotestauksessa havaittuihin ongelmiin ja tarkemman analyysin pohjalta luotiin 11 parannusehdotusta. Näistä ehdotuksista työn puitteissa toteutettiin kolme ja kahden toteuttaminen aloitettiin. Toteutukset olivat web-käyttöliittymätestien liittäminen osaksi jatkuvan integraation buildia, testisettien jakaminen rinnakkaisuutta paremmin tukeviin pienempiin kokonaisuuksiin ja peräkkäisissä testiajoissa käytettyjen selaimien kiertoperiaatteen luominen. Lisäksi testien laadun tarkempi seuranta aloitettiin ja testityökaluun luotiin alustava toteutus kommunikointiin M-Files REST-rajapinnan kanssa, jotta testien alustustoimenpiteitä voitaisiin jatkossa virtaviivaistaa. Työn tuloksena web-käyttöliittymän automaatiostestauksesta saatu palaute on nyt nopeampaa, testitulokset näkyvämpiä ja suurin osa työvaiheista on automatisoitu osaksi buildia. Testiautomaation kehittäminen organisaatiossa jatkuu muunmuassa jalostamalla tämän työn tuloksia eteenpäin.