Robot Framework -automaatiotestit osana tuotekehitysketjua
Kärkkäinen, Taneli (2023)
Kärkkäinen, Taneli
2023
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-2023112832219
https://urn.fi/URN:NBN:fi:amk-2023112832219
Tiivistelmä
Opinnäytetyön tavoitteena oli toteuttaa automatisoitu regressiotestisarja tietojärjestelmän ohjelmistokomponentille sekä integroida näiden testien suoritus osaksi CI/CD-ketjua. Tämän ansiosta testattavan ohjelmistokomponentin laadunvarmistus kehittyisi eteenpäin, sillä aikaisemmin testit suoritettiin pelkästään
manuaalisesti. Yhtenä opinnäytetyön tavoitteena oli myös vertailla muutamaa ajankohtaista automaatiotestikehystä.
Opinnäytetyön toimeksiantajana toimi Mediconsult Oy, joka on suomalainen sote-alan järjestelmätoimittaja. Regressiotestisarja tehtiin Saga-tuotteen terveys- ja hoitosuunnitelma -komponentille. Terveys- ja hoitosuunnitelma on terveydenhuollon asiakirja, joka on tarkoitettu potilaan hoidon koordinointiin, suunnitteluun sekä tukemaan hoidon jatkuvuutta.
Automaatiotestisarja luotiin käyttäen automaatiotestityökalu Robot Frameworkia. Testejä toteutettiin yhteensä yhdeksän kappaletta. Testiajon integroiminen osaksi tuotekehitysketjua tehtiin Jenkins-automaatiopalvelimen avulla. Jenkins-sivustolle luotiin kaksi kappaletta Jenkins-työtä, joiden tehtävänä on siirtää
tuorein lähdekoodiversio testiympäristöön ja sen jälkeen suorittaa automatisoitu testikokonaisuus terveys ja hoitosuunnitelmalle. Testit asetettiin ajettavaksi joka arkipäiväaamu. Testien suorittamisen jälkeen Jenkins-sivustolle muodostuu raportti, josta voi käydä selvittämässä onnistuiko testiajo vai ei. Automaatiotestikehyksien vertailua opinnäytetyössä ei tehty ajanpuutteen takia.
Opinnäytetyössä päästiin kehitystavoitteisiin muilta paitsi automaatiotestikehyksien vertailun osalta. Työn lopputuloksena toimeksiantajalla on automaatiotestisetti, jonka avulla toteutetaan säännöllistä laadunvarmistusta komponentille. Savutestien avulla on mahdollista havaita, jos komponentin perusominaisuuksiin on ilmennyt virheitä lähdekoodin muutosten myötä. Tulevaisuudessa automaatiotestejä on mahdollista kehittää kattavammiksi sekä niiden lukumäärää voi lisätä.
manuaalisesti. Yhtenä opinnäytetyön tavoitteena oli myös vertailla muutamaa ajankohtaista automaatiotestikehystä.
Opinnäytetyön toimeksiantajana toimi Mediconsult Oy, joka on suomalainen sote-alan järjestelmätoimittaja. Regressiotestisarja tehtiin Saga-tuotteen terveys- ja hoitosuunnitelma -komponentille. Terveys- ja hoitosuunnitelma on terveydenhuollon asiakirja, joka on tarkoitettu potilaan hoidon koordinointiin, suunnitteluun sekä tukemaan hoidon jatkuvuutta.
Automaatiotestisarja luotiin käyttäen automaatiotestityökalu Robot Frameworkia. Testejä toteutettiin yhteensä yhdeksän kappaletta. Testiajon integroiminen osaksi tuotekehitysketjua tehtiin Jenkins-automaatiopalvelimen avulla. Jenkins-sivustolle luotiin kaksi kappaletta Jenkins-työtä, joiden tehtävänä on siirtää
tuorein lähdekoodiversio testiympäristöön ja sen jälkeen suorittaa automatisoitu testikokonaisuus terveys ja hoitosuunnitelmalle. Testit asetettiin ajettavaksi joka arkipäiväaamu. Testien suorittamisen jälkeen Jenkins-sivustolle muodostuu raportti, josta voi käydä selvittämässä onnistuiko testiajo vai ei. Automaatiotestikehyksien vertailua opinnäytetyössä ei tehty ajanpuutteen takia.
Opinnäytetyössä päästiin kehitystavoitteisiin muilta paitsi automaatiotestikehyksien vertailun osalta. Työn lopputuloksena toimeksiantajalla on automaatiotestisetti, jonka avulla toteutetaan säännöllistä laadunvarmistusta komponentille. Savutestien avulla on mahdollista havaita, jos komponentin perusominaisuuksiin on ilmennyt virheitä lähdekoodin muutosten myötä. Tulevaisuudessa automaatiotestejä on mahdollista kehittää kattavammiksi sekä niiden lukumäärää voi lisätä.