Automaatio kontekstilähtöisessä ohjelmistotestauksessa
Lindgren, Joni (2013)
Lindgren, Joni
Metropolia Ammattikorkeakoulu
2013
All rights reserved
Julkaisun pysyvä osoite on
http://urn.fi/URN:NBN:fi:amk-2013120520307
http://urn.fi/URN:NBN:fi:amk-2013120520307
Tiivistelmä
Insinöörityössä oli tavoitteena tutkia ja hyödyntää automaatiota Intermarketing Oy:n ohjelmisto- ja laiteratkaisujen testauksessa. Erityisesti tavoitteena oli tehostaa testausta järjestelmissä, joihin kuuluu lähes aina manuaalisesti käsiteltäviä käteistä rahaa käsitteleviä fyysisiä laitteita.
Ensin tutkittiin erilaisia näkökantoja ja lähestymistapoja ohjelmistotestaukseen. Tutkituista ajatusmalleista kontekstiohjautunut testaus osoittautui työn kannalta hyväksi näkökulmaksi ohjelmistotestaukseen ja koko työhön. Tämän jälkeen tutkittiin testauksen automatisoinnin yleisiä ongelmia ja mahdollisuuksia. Tutkimuksen perusteella päätettiin, että testauksen täydelliseen automaatioon ei kannata pyrkiä, ja työn kannalta automaattisten testien hyödyllisin käyttötarkoitus on olla tukena manuaaliselle tutkivalle testaukselle.
Seuraavaksi tutustuttiin automatisoinnissa käytettäviin skriptaustekniikoihin, joista valittiin lopulta hyvinkin laajamittaisen ja ylläpidettävän testiautomaatioratkaisun mahdollistava avainsanaohjattu testaus. Tämän jälkeen esiteltiin automatisoinnissa käytettävä työkalu, Robot Framework -testiautomaatiokehys, joka soveltuu erinomaisesti avainsanaohjatun testauksen toteuttamiseen. Seuraavaksi toteutettiin konseptin todennus ohjelmisto- ja laiteratkaisuun, joka koostuu setelinlaskimesta/lajittelijasta ja Swing-käyttöliittymällisestä Java-sovelluksesta. Järjestelmällä suoritetaan laskentaeriä, joiden tulokset tallennetaan XML-muodossa. Lopputuloksena oli yksi onnistuneen laskentaerän suorittava avainsanaohjattu testi, joka voidaan suorittaa puoliautomaattisesti tai täysin automaattisesti. Automaattinen testiajo suoritetaan simulaattoria vasten ja puoliautomaattinen fyysisen laitteen kanssa. Avainsanaohjattu testi on molemmissa sama, mutta puoliautomaattisessa suorituksessa lisätään aikaviivettä pakollisen manuaalisen toiminnon suorituksen kohdalle. Aikaviiveen käyttö oli yksinkertainen ja tehokas ratkaisu manuaalisen osuuden hoitamiseksi.
Insinöörityön tutkimuksen ja konseptin todennuksen pohjalta työn toimeksiantaja sai paljon tärkeää tietoa testauksesta sekä testiautomaation haasteista ja mahdollisuuksista. Intermarketing Oy:n ohjelmistokehityksessä tullaan jatkossa ottamaan testiautomaatiota käyttöön työn pohjalta. Työn tutkimusosuudessa mainittuja automaatiomenetelmiä, konseptin todennusta, ja jatkokehitysideoita tullaan tutkimaan ja hyödyntämään yrityksen ohjelmistokehityksessä.
Ensin tutkittiin erilaisia näkökantoja ja lähestymistapoja ohjelmistotestaukseen. Tutkituista ajatusmalleista kontekstiohjautunut testaus osoittautui työn kannalta hyväksi näkökulmaksi ohjelmistotestaukseen ja koko työhön. Tämän jälkeen tutkittiin testauksen automatisoinnin yleisiä ongelmia ja mahdollisuuksia. Tutkimuksen perusteella päätettiin, että testauksen täydelliseen automaatioon ei kannata pyrkiä, ja työn kannalta automaattisten testien hyödyllisin käyttötarkoitus on olla tukena manuaaliselle tutkivalle testaukselle.
Seuraavaksi tutustuttiin automatisoinnissa käytettäviin skriptaustekniikoihin, joista valittiin lopulta hyvinkin laajamittaisen ja ylläpidettävän testiautomaatioratkaisun mahdollistava avainsanaohjattu testaus. Tämän jälkeen esiteltiin automatisoinnissa käytettävä työkalu, Robot Framework -testiautomaatiokehys, joka soveltuu erinomaisesti avainsanaohjatun testauksen toteuttamiseen. Seuraavaksi toteutettiin konseptin todennus ohjelmisto- ja laiteratkaisuun, joka koostuu setelinlaskimesta/lajittelijasta ja Swing-käyttöliittymällisestä Java-sovelluksesta. Järjestelmällä suoritetaan laskentaeriä, joiden tulokset tallennetaan XML-muodossa. Lopputuloksena oli yksi onnistuneen laskentaerän suorittava avainsanaohjattu testi, joka voidaan suorittaa puoliautomaattisesti tai täysin automaattisesti. Automaattinen testiajo suoritetaan simulaattoria vasten ja puoliautomaattinen fyysisen laitteen kanssa. Avainsanaohjattu testi on molemmissa sama, mutta puoliautomaattisessa suorituksessa lisätään aikaviivettä pakollisen manuaalisen toiminnon suorituksen kohdalle. Aikaviiveen käyttö oli yksinkertainen ja tehokas ratkaisu manuaalisen osuuden hoitamiseksi.
Insinöörityön tutkimuksen ja konseptin todennuksen pohjalta työn toimeksiantaja sai paljon tärkeää tietoa testauksesta sekä testiautomaation haasteista ja mahdollisuuksista. Intermarketing Oy:n ohjelmistokehityksessä tullaan jatkossa ottamaan testiautomaatiota käyttöön työn pohjalta. Työn tutkimusosuudessa mainittuja automaatiomenetelmiä, konseptin todennusta, ja jatkokehitysideoita tullaan tutkimaan ja hyödyntämään yrityksen ohjelmistokehityksessä.