Integrating a hardware platform to a test automation solution
Rasio, Aleksi (2018)
Rasio, Aleksi
Metropolia Ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201804144680
https://urn.fi/URN:NBN:fi:amk-201804144680
Tiivistelmä
Insinöörityö tehtiin suomalaisen tieto- ja viestintätekniikkayrityksen testiautomaatioprojektin yhteydessä, jonka tavoitteena oli tuoda kuluttajalaitteistoalusta ja siihen liittyvät ohjelmistomoduulit testiautomaation piiriin. Projektin taustalla olivat organisaation ohjelmistotestauskäytäntöjen muutokset ja valmistautuminen uusiin, pidemmän aikavälin vaatimuksiin.
Projektin onnistumisen kriteerinä oli luoda testiautomaatiojärjestelmä Jenkins-automaatiopalvelinohjelmistoa ja Robot Framework -testausohjelmistokehystä hyväksi käyttäen. Projekti aloitettiin jakamalla kriteerit pienempiin kokonaisuuksiin ja selvittämällä niiden keskinäiset riippuvuussuhteet. Ensimmäisenä työvaiheena oli testitapausten toiminnan varmistaminen suoritusympäristöstä riippumatta. Tämän jälkeen testilaitteita asennettiin räkkiympäristöön ja varmistettiin niiden saavutettavuus verkossa. Testilaitteet määriteltiin resursseiksi Jenkins-palvelimelle, jolle luotiin myös laitteita käyttäviä testaustyötehtäviä. Testiajoja myös ajastettiin suoritettavaksi tunnin välein, ja niiden toiminta varmistettiin palvelimen lokeista.
Järjestelmän toimintaa testattiin varsinaisessa ohjelmistotestaustyössä, joka paljasti yhteysongelmia Jenkins-palvelimen ja testilaitteiden välillä. Yhteysongelmat ratkaistiin lisäämällä viivettä palvelimen ja testilaitteiden välisiin verkkokutsuihin. Lisäksi havaittiin muistivuoto-ongelma, joka korjattiin lisäämällä yksittäinen puuttuva komentoriviparametri.
Projektin tuloksena syntynyttä testiautomaatiojärjestelmää hyödynnetään yrityksessä päivittäisessä ohjelmistotestaustyössä. Järjestelmä täytti tilaajan tarpeen ja on helposti muunneltavissa tulevaisuutta ajatellen. Projekti oli prosessina erittäin opettavainen.
Projektin onnistumisen kriteerinä oli luoda testiautomaatiojärjestelmä Jenkins-automaatiopalvelinohjelmistoa ja Robot Framework -testausohjelmistokehystä hyväksi käyttäen. Projekti aloitettiin jakamalla kriteerit pienempiin kokonaisuuksiin ja selvittämällä niiden keskinäiset riippuvuussuhteet. Ensimmäisenä työvaiheena oli testitapausten toiminnan varmistaminen suoritusympäristöstä riippumatta. Tämän jälkeen testilaitteita asennettiin räkkiympäristöön ja varmistettiin niiden saavutettavuus verkossa. Testilaitteet määriteltiin resursseiksi Jenkins-palvelimelle, jolle luotiin myös laitteita käyttäviä testaustyötehtäviä. Testiajoja myös ajastettiin suoritettavaksi tunnin välein, ja niiden toiminta varmistettiin palvelimen lokeista.
Järjestelmän toimintaa testattiin varsinaisessa ohjelmistotestaustyössä, joka paljasti yhteysongelmia Jenkins-palvelimen ja testilaitteiden välillä. Yhteysongelmat ratkaistiin lisäämällä viivettä palvelimen ja testilaitteiden välisiin verkkokutsuihin. Lisäksi havaittiin muistivuoto-ongelma, joka korjattiin lisäämällä yksittäinen puuttuva komentoriviparametri.
Projektin tuloksena syntynyttä testiautomaatiojärjestelmää hyödynnetään yrityksessä päivittäisessä ohjelmistotestaustyössä. Järjestelmä täytti tilaajan tarpeen ja on helposti muunneltavissa tulevaisuutta ajatellen. Projekti oli prosessina erittäin opettavainen.