Testiautomaatio – miksi yritysten kannattaa automatisoida testauksensa
Kautto, Marcel (2021)
Kautto, Marcel
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202105178958
https://urn.fi/URN:NBN:fi:amk-202105178958
Tiivistelmä
Tämän opinnäytetyön toimeksiantajana toimi Bittium Wireless Oy, joka on Kajaanissa sijaitseva ohjelmistoalan yritys. Bittium Wireless Oy on osa Bittium Oyj:tä. Bittium Oyj kehittää pääasiassa taktisen kommunikaation, lääketeknologian sekä tietoturvallisen kommunikaation laitteita sekä palveluita.
Opinnäytetyön tavoitteena oli tuoda esille testiautomaation hyötyjä taloudelliselta, laadulliselta sekä käytännölliseltä kannalta. Hyötyjä lähdettiin etsimään teoriaan perustuen myös käytännön tapauksista yrityksistä, joissa testiautomaation avulla oli joko onnistuttu vähentämään kustannuksia, tai parantamaan tehdyn ohjelmiston laatua. Lopuksi teoreettisia mahdollisuuksia pystyttiin vertaamaan käytäntöön tutkimalla niiden esiintymistä opinnäytetyön tutkimuksen aikana laaditussa testiympäristössä.
Tutkimuksen aikana huomattiin, että testiautomaatiolla on kolme tärkeintä hyötyä ohjelmistotalolle. Testausautomaatiota voidaan käyttää uudelleen, eli sen käyttö on kustannustehokkaampaa pitkällä aikavälillä. Testausautomaatio pystyy varmistamaan ohjelmiston laatua tavoilla, jotka olisivat ihmisille joko mahdottomia tai liian tehottomia testata itse. Tämän lisäksi testausautomaatio mahdollistaa jatkuvan ohjelmistokehityksen, jossa ohjelmakoodia voidaan testata sekä kehittää sykleinä.
Teoreettisen hyödyn vertaaminen sekä viitattuun käytäntöön, mutta myös työtä varten luodun automaatioympäristön kehitys paljasti, että nämä hyödyt ovat aidosti havaittavissa myös aidossa kehitysympäristössä. Samalla havaittiin, että testiautomaation tehokkuus perustuu siihen, kuinka hyvin se on osattu toteuttaa. Saatu hyöty riippui vahvasti siitä, oliko automaatio osattu ottaa projektiin mukaan jo varhain. Samoin myös testaustiimin sekä kehittäjien kommunikaatio ja luottamus testiautomaation pystyi vaikuttamaan testausautomaation kannattavuuteen projektissa. Tutkittuun tietoon perustuen päätelmäksi jää, että testiautomaatio voi tuoda aitoa taloudellista etua ohjelmistokehityksessä, mikäli sen käyttöönotto on tietoinen päätös, jossa automaation haitat ja hyödyt on hyvin kartoitettu.
Opinnäytetyön tavoitteena oli tuoda esille testiautomaation hyötyjä taloudelliselta, laadulliselta sekä käytännölliseltä kannalta. Hyötyjä lähdettiin etsimään teoriaan perustuen myös käytännön tapauksista yrityksistä, joissa testiautomaation avulla oli joko onnistuttu vähentämään kustannuksia, tai parantamaan tehdyn ohjelmiston laatua. Lopuksi teoreettisia mahdollisuuksia pystyttiin vertaamaan käytäntöön tutkimalla niiden esiintymistä opinnäytetyön tutkimuksen aikana laaditussa testiympäristössä.
Tutkimuksen aikana huomattiin, että testiautomaatiolla on kolme tärkeintä hyötyä ohjelmistotalolle. Testausautomaatiota voidaan käyttää uudelleen, eli sen käyttö on kustannustehokkaampaa pitkällä aikavälillä. Testausautomaatio pystyy varmistamaan ohjelmiston laatua tavoilla, jotka olisivat ihmisille joko mahdottomia tai liian tehottomia testata itse. Tämän lisäksi testausautomaatio mahdollistaa jatkuvan ohjelmistokehityksen, jossa ohjelmakoodia voidaan testata sekä kehittää sykleinä.
Teoreettisen hyödyn vertaaminen sekä viitattuun käytäntöön, mutta myös työtä varten luodun automaatioympäristön kehitys paljasti, että nämä hyödyt ovat aidosti havaittavissa myös aidossa kehitysympäristössä. Samalla havaittiin, että testiautomaation tehokkuus perustuu siihen, kuinka hyvin se on osattu toteuttaa. Saatu hyöty riippui vahvasti siitä, oliko automaatio osattu ottaa projektiin mukaan jo varhain. Samoin myös testaustiimin sekä kehittäjien kommunikaatio ja luottamus testiautomaation pystyi vaikuttamaan testausautomaation kannattavuuteen projektissa. Tutkittuun tietoon perustuen päätelmäksi jää, että testiautomaatio voi tuoda aitoa taloudellista etua ohjelmistokehityksessä, mikäli sen käyttöönotto on tietoinen päätös, jossa automaation haitat ja hyödyt on hyvin kartoitettu.