Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomi
  • Svenska
  • English
  • Kirjaudu
Hakuohjeet
JavaScript is disabled for your browser. Some features of this site may not work without it.
Näytä viite 
  •   Ammattikorkeakoulut
  • Savonia-ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite
  •   Ammattikorkeakoulut
  • Savonia-ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite

Jatkuvan julkaisun mahdollistava testidatan hallinta ketterässä ohjelmistokehityksessä

Kauhanen, Elli (2023)

Avaa tiedosto
Kauhanen_Elli.pdf (830.9Kt)
Lataukset: 


Kauhanen, Elli
2023
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023102628027
Tiivistelmä
Jatkuvan julkaisun sovelluskehityksessä on tarve saada julkaistava koodi ja toiminnallisuudet testattua kattavasti ja nopealla aikataululla. Pelkästään manuaalisella testauksella ei voi pysyä mukana jopa viikoittaisessa julkaisutahdissa, joten testausta pitää automatisoida. Opinnäytetyön tavoitteena oli toteuttaa konedatan hallinta versioidussa ympäristössä, luoda pohja datan validoinnille ja tehdä toteutus koodijulkaisun testaukselle Azure DevOpsin julkaisuputkessa.

Toteutus tehtiin kesällä 2023 Ponsselle Manager 2 -projektissa. Teoriaosuudessa perehdyttiin testauksen peri-aatteisiin ja ideologioihin, testauksen eri tapoihin sekä niiden tarkoituksiin. Työ on tehty käyttäen monia eri ohjelmointikieliä. Datan validointiin käytettiin Pythonia ja erityisesti Pandas kirjastoa, jolla Exceliin tallennettu konedata tarkistettiin. Testiautomaatio tehtiin Robot Framework -kielellä ja julkaisuputkien konfigurointi tapahtui YAML-kielellä. Toteutus on läpileikkaus end-to-end -testausprosessista, jossa data määritetään, lähetetään sekä tarkastetaan.

Opinnäytetyössä kokeiltiin onnistuneesti erilaista toteutusta testitapauksien suorittamiseen koodijulkaisujen yhteydessä Azure DevOpsissa. Toteutuksen etuina olisi, että voitaisiin rajata riippuvuuksia muiden sovellusten välillä sekä vähentää ulkoisista järjestelmistä syntyviä kuluja. Työssä perehdyttiin syvällisesti testauksen eri osa-alueisiin ja todettiin miten välttämätöntä end-to-end -testaaminen on jatkuvan julkaisun ympäristössä. Työn jatkokehityksen aiheita voisi olla testiautomaatiokoodin jakelu koodikirjastoina ja kattavan datavetoisen testauksen käyttö konetietojen kanssa.
 
End-to-end testing is a necessity in CI/CD (Continuous Integration and Continuous Delivery) software development model of today, and in order to publish a new version of a software even weekly, the quality requirements need to be met. Manual testing is time-consuming and cannot keep up with new features that need to be tested, and therefore test automation needs to be developed to fix this. The aim of this thesis was to improve the process of end-to-end testing, version handling of test data and the execution of how tests in a development pipeline in Azure DevOps.

This thesis was carried out in co-operation with Ponsse and Digital Services team, for Manager 2 -project. The theory part focused on mainly end-to-end testing, different ideologies of testing and the how and why of testing. In the execution many different programming languages are used; Python and specifically Pythons Pandas library for test data validation, Robot Framework for the actual end-to-end test and YAML, a human-readable data serialization language, for the Azure DevOps pipeline configurations. This thesis showed the process of getting, modifying, managing and validating test data, and using it for testing while publishing new features.

As a result, a working execution of an end-to-end test using Excel-based test data was made. Using Azure DevOps instead of 3rd party software would limit costs and help speed up testing and development. Limiting dependencies is beneficial because there is no need to wait for others to fix broken pieces of software instead of doing it in-house. Future development needs could be sharing the test automation code in an Artifactory and using the test data base for larger testing needs, like verifying machine information through the whole sales process, from the point of configuration and selling a machine all the way to using it with Manager 2 software.
 
Kokoelmat
  • Opinnäytetyöt (Avoin kokoelma)
Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste
 

Selaa kokoelmaa

NimekkeetTekijätJulkaisuajatKoulutusalatAsiasanatUusimmatKokoelmat

Henkilökunnalle

Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste