Testiautomaatio GitHub-versionhallinnassa
Tommola, Juho (2025)
Tommola, Juho
2025
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-2025112429353
https://urn.fi/URN:NBN:fi:amk-2025112429353
Tiivistelmä
Opinnäytetyön tavoitteena oli siirtää olemassa oleva Git-arkisto GitHub-versionhallintajärjestelmään sekä suunnitella ja toteuttaa CI/CD-putkisto hyödyntämällä GitHub Actions -automaatiotyökalua. Toteutus tehtiin toimeksiantona Tamtron Precision Oy:lle.
Toteutukseen käytettävää DevOps-toimintamallia ja siihen liittyviä CI/CD-prosesseja, Dockerin käyttöä sekä ohjelmistotestauksen menetelmiä tutkittiin. Lisäksi perehdyttiin epävarmojen testien hallintaan ja SonarQube Cloud -työkalun tarjoamiin laadunvalvontaominaisuuksiin.
Työssä Git-arkisto ja sen täysi kehityshistoria siirrettiin Bitbucketista GitHubiin, jonne pystytettiin testiautomaatio. Automaation tehtävä oli rakentaa komponenttien Docker-näköistiedostot sekä suorittaa komponenttikohtaiset ohjelmistotestit rinnakkain toisistaan riippumattomasti. Testiraporttien pohjalta luotiin yhteenveto, joka isännöitiin GitHub Pages -palvelun avulla. Testin epäonnistuessa automaation tuli myös lähettää ilmoitus toimeksiantajan käyttämälle Microsoft Teams -palvelimelle.
Lopputuloksena syntyi automaatiojärjestelmä, joka vähentää manuaalisen testauksen tarvetta. Järjestelmä parantaa kehitysprosessin tehokkuutta sekä helpottaa testiraporttien käsittelyä.
Toteutukseen käytettävää DevOps-toimintamallia ja siihen liittyviä CI/CD-prosesseja, Dockerin käyttöä sekä ohjelmistotestauksen menetelmiä tutkittiin. Lisäksi perehdyttiin epävarmojen testien hallintaan ja SonarQube Cloud -työkalun tarjoamiin laadunvalvontaominaisuuksiin.
Työssä Git-arkisto ja sen täysi kehityshistoria siirrettiin Bitbucketista GitHubiin, jonne pystytettiin testiautomaatio. Automaation tehtävä oli rakentaa komponenttien Docker-näköistiedostot sekä suorittaa komponenttikohtaiset ohjelmistotestit rinnakkain toisistaan riippumattomasti. Testiraporttien pohjalta luotiin yhteenveto, joka isännöitiin GitHub Pages -palvelun avulla. Testin epäonnistuessa automaation tuli myös lähettää ilmoitus toimeksiantajan käyttämälle Microsoft Teams -palvelimelle.
Lopputuloksena syntyi automaatiojärjestelmä, joka vähentää manuaalisen testauksen tarvetta. Järjestelmä parantaa kehitysprosessin tehokkuutta sekä helpottaa testiraporttien käsittelyä.
