Automated testing of React Native applications
Salohonka, Matias (2020)
Diplomityö
Salohonka, Matias
2020
School of Engineering Science, Tietotekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe202003047276
https://urn.fi/URN:NBN:fi-fe202003047276
Tiivistelmä
Testing is an important part of quality assurance. In software engineering, testing can be applied on many levels and by different techniques. Testing is recognized as a key contributor to successful and efficient development of software. Test automation is a practice where the testing effort is shifted from people to software. This allows new types of testing to emerge and raises the efficiency of other types of testing. In this thesis, a design science approach is taken to implement tests for a React Native mobile application and to automate testing in the Azure DevOps cloud environment. The research creates a practical testing solution for an application with a long development and maintenance roadmap. The goal is to identify company needs for testing and automation, gain an understanding on the testing and automation methods and techniques from literature, implement proof of concept tests for every part and conceptual level of the application, and automate these tests in an effective way. The results of this thesis are the code listings, configurations and explanations that account for the theoretical framework, and describe in detail how to implement the testing and automation of a React Native application with Azure DevOps, and explains which techniques are generalizable to other types of development besides mobile applications. Testaus on tärkeä osa laadunvarmistusta. Ohjelmistotuotannossa testausta voidaan käyttää monilla eri tasoilla ja tekniikoilla. Testaus on havaittu yhdeksi tärkeäksi onnistuneen ja tehokkaan ohjelmistokehityksen edistäjäksi. Testiautomaatio on käytäntö, jossa testauksen suoritus siirtyy ihmisiltä ohjelmistoille. Tämä mahdollistaa uudenlaiset testaustyypit ja tehostaa muiden testaustyyppien suoritusta. Tässä diplomityössä käytetään design science -menettelyä React Native mobiilisovelluksen testaukseen ja Azure DevOps pilviympäristössä testiautomaation toteuttamiseen. Tutkimus tuottaa käytännöllisen testausratkaisun sovellukselle, jolla on pitkä kehityksen ja ylläpidon etenemissuunnitelma. Tavoite on tunnistaa yrityksen tarpeet testaukselle ja automaatiolle, luoda käsitys testauksen ja automaation menetelmistä ja tekniikoista kirjallisuuden avulla, toteuttaa esimerkkitestit jokaiselle sovelluksen osalle ja käsitteelliselle tasolle, ja automatisoida nämä testit tehokkaasti. Tämän diplomityön tulokset ovat koodilistaukset, asetukset, ja selitykset mitkä kattavat teoreettisen kehyksen ja kuvaavat yksityiskohtaisesti, kuinka toteuttaa testaus ja testiautomaatio React Native sovellukselle Azure DevOpsin kanssa, ja esittää mitkä tekniikat ovat yleistettävissä mobiilisovelluksen ulkopuolelle.