Mittausohjelmiston testausmenetelmien kehitys
Lahtinen, Kalle (2014)
Lahtinen, Kalle
Tampereen ammattikorkeakoulu
2014
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201403213373
https://urn.fi/URN:NBN:fi:amk-201403213373
Tiivistelmä
Tässä opinnäytetyöraportissa käsitellään Novatron Oy:llä kesällä 2013 tehtyä ohjelmistotestauksen kehitysprojektia. Projektin tavoitteena oli ohjelmistotestausmenetelmien tehostaminen jatkuvan integraation ja testivetoisen ohjelmistokehityksen työskentelymenetelmien avulla. Testausmenetelmien kehityksen pitkän aikavälin tavoite on nopeuttaa uusien ohjelmistoversioiden julkaisua ja parantaa niiden laatua. Työssä selvitetään ohjelmistotestauksen yleiseen teoriaan liittyviä käsitteitä, mutta raportin pääpaino on Novatron Oy:llä havaittujen ohjelmistotestaukseen liittyvien ongelmien sekä kehitetyn testausjärjestelmän toiminnan ja rakenteen esittelyssä.
Työ aloitettiin tekemällä testattavalle ohjelmistoprojektille käännösautomaatio, joka versionhallintaan tehdyn muutoksen jälkeen automaattisesti kääntää projektin tietokoneella suoritettavaksi sovellukseksi, luo asennustiedostot ja siirtää ne Novatron Oy:n sisäiseen lähiverkkoon. Kun työssä käytettävään automatisointi- ja monitorointityökaluun (Jenkins CI) oli tutustuttu ja käännösautomaatio saatu toimimaan, siirryttiin projektissa ohjelmis-totestausmenetelmien opiskeluun.
Kesän aikana testausautomaatiojärjestelmän testaustyökaluiksi valikoituivat Python-ohjelmointikieli, PyTest-testausmoduuli sekä Google test -yksikkötestikirjasto. Kehitystyö eteni siihen vaiheeseen, että testausjärjestelmän toiminta saatiin testatuksi. Automaattista testausta ei kuitenkaan vielä saatu osaksi jokapäiväistä ohjelmistojen kehitystyötä. Testausjärjestelmän perusrakenteet saatiin toimimaan, mutta testitapausten suunnittelu ja käyttöönotto vaativat lisätyötä.
Merkittävin saavutettu hyöty projektin ensimmäisen vaiheen jälkeen oli ohjelmistoprojektin käännösautomaation käyttöönotto, sillä sen avulla saatiin karsituksi ohjelmistokehittäjien päivittäisestä työstä aikaa vieviä ja itseään toistavia tehtäviä. Projektille asetetut ensimmäiset tavoitteet saavutettiin kesän aikana. Testausjärjestelmän jatkokehitys tulee olemaan osana Novatron Oy:n tuotekehitystyötä tulevaisuudessa.
Työ aloitettiin tekemällä testattavalle ohjelmistoprojektille käännösautomaatio, joka versionhallintaan tehdyn muutoksen jälkeen automaattisesti kääntää projektin tietokoneella suoritettavaksi sovellukseksi, luo asennustiedostot ja siirtää ne Novatron Oy:n sisäiseen lähiverkkoon. Kun työssä käytettävään automatisointi- ja monitorointityökaluun (Jenkins CI) oli tutustuttu ja käännösautomaatio saatu toimimaan, siirryttiin projektissa ohjelmis-totestausmenetelmien opiskeluun.
Kesän aikana testausautomaatiojärjestelmän testaustyökaluiksi valikoituivat Python-ohjelmointikieli, PyTest-testausmoduuli sekä Google test -yksikkötestikirjasto. Kehitystyö eteni siihen vaiheeseen, että testausjärjestelmän toiminta saatiin testatuksi. Automaattista testausta ei kuitenkaan vielä saatu osaksi jokapäiväistä ohjelmistojen kehitystyötä. Testausjärjestelmän perusrakenteet saatiin toimimaan, mutta testitapausten suunnittelu ja käyttöönotto vaativat lisätyötä.
Merkittävin saavutettu hyöty projektin ensimmäisen vaiheen jälkeen oli ohjelmistoprojektin käännösautomaation käyttöönotto, sillä sen avulla saatiin karsituksi ohjelmistokehittäjien päivittäisestä työstä aikaa vieviä ja itseään toistavia tehtäviä. Projektille asetetut ensimmäiset tavoitteet saavutettiin kesän aikana. Testausjärjestelmän jatkokehitys tulee olemaan osana Novatron Oy:n tuotekehitystyötä tulevaisuudessa.