Testausautomaation kehittäminen Robot Frameworkillä
Känsälä, Joel (2021)
Känsälä, Joel
2021
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2021120223329
https://urn.fi/URN:NBN:fi:amk-2021120223329
Tiivistelmä
Opinnäytetyössä esitellään, miten Robot Framework -ohjelmistokehystä voidaan hyödyntää osana DevOps-ohjelmistokehitysmallia. Tavoitteena oli luoda kehitysympäristö, jolla kehittäjä voi kirjoittaa testitapauksia, jotka suoritetaan automaattisesti osana ohjelmiston jatkuvaa integraatiota ja toimitusta. Käytännössä testausympäristö kehitettiin siten, että jokaiselle ohjelmistoon tehdylle muutokselle pystyttiin automaattisesti suorittamaan vaaditut testaukset, minkä jälkeen ohjelmisto vieminen tuotantoympäristöön voitiin suorittaa automaattisesti.
Opinnäytetyön aikana tutustuttiin ohjelmistokehityksen teoriaan paneutumalla perinteisiin ja ketteriin ohjelmistokehitysmalleihin. Lisäksi selvitettiin, mitä testaustyyppejä ohjelmistokehityksen aikana voidaan hyödyntää ja miten testausautomaatiota hyödynnetään osana DevOps-ohjelmistokehitysmallia.
Työtä varten myös tutustuttiin yleisiin testausautomaatiossa käytettyihin työkaluihin. Robot Frameworkin lisäksi käytiin läpi Selenium WebDriver -kirjaston hyödyntämistä osana käyttöliittymä testausta. Docker-ohjelmistoon tutustuminen myös koitui tarpeelliseksi, sillä ohjelmiston kontitusta käytettiin hyväksi mones-sa vaiheessa työtä.
Työssä saatiin aikaiseksi Vue.js-pohjainen testisovellus, jonka käyttöliittymätestausta varten kirjoitettiin Robot Framework -testitapaukset. Ohjelmiston kehitysympäristö konfiguroitiin siten, että ohjelmistoon tehdyt muutokset testattiin CI-/CD-putken avulla, minkä jälkeen testattu ohjelmisto vietiin julkisesti käytettävään testausympäristöön. This thesis covers methods of how Robot Framework can be utilized as part of the DevOps software development cycle. The goal was to create a software development environment, where developers can write automated test cases which are run as part of the software’s continuous integration and delivery pipeline. In practice, whenever changes were made to the software during testing, they were automatically integrated and tested before being delivered into a production environment.
In this thesis, software development theory is discussed by focusing on traditional and agile software development models. In addition, the common software testing methods used during software development were explored, along with how test automation can be leveraged as part of DevOps software development.
As part of the thesis, common software tools used in test automation were also examined. In addition to Robot Framework, the use of Selenium WebDriver library as part of user interface testing was studied. Docker software was also necessary, as container technology proved invaluable as it was used multiple times in the development process.
The result of the project was a Vue.js based test application with included Robot Framework test cases for user interface testing. Development environment was also configured to test changes made as part of the CI/CD pipeline. After passing the required tests, the application was automatically deployed into a production environment using continuous deployment.
Opinnäytetyön aikana tutustuttiin ohjelmistokehityksen teoriaan paneutumalla perinteisiin ja ketteriin ohjelmistokehitysmalleihin. Lisäksi selvitettiin, mitä testaustyyppejä ohjelmistokehityksen aikana voidaan hyödyntää ja miten testausautomaatiota hyödynnetään osana DevOps-ohjelmistokehitysmallia.
Työtä varten myös tutustuttiin yleisiin testausautomaatiossa käytettyihin työkaluihin. Robot Frameworkin lisäksi käytiin läpi Selenium WebDriver -kirjaston hyödyntämistä osana käyttöliittymä testausta. Docker-ohjelmistoon tutustuminen myös koitui tarpeelliseksi, sillä ohjelmiston kontitusta käytettiin hyväksi mones-sa vaiheessa työtä.
Työssä saatiin aikaiseksi Vue.js-pohjainen testisovellus, jonka käyttöliittymätestausta varten kirjoitettiin Robot Framework -testitapaukset. Ohjelmiston kehitysympäristö konfiguroitiin siten, että ohjelmistoon tehdyt muutokset testattiin CI-/CD-putken avulla, minkä jälkeen testattu ohjelmisto vietiin julkisesti käytettävään testausympäristöön.
In this thesis, software development theory is discussed by focusing on traditional and agile software development models. In addition, the common software testing methods used during software development were explored, along with how test automation can be leveraged as part of DevOps software development.
As part of the thesis, common software tools used in test automation were also examined. In addition to Robot Framework, the use of Selenium WebDriver library as part of user interface testing was studied. Docker software was also necessary, as container technology proved invaluable as it was used multiple times in the development process.
The result of the project was a Vue.js based test application with included Robot Framework test cases for user interface testing. Development environment was also configured to test changes made as part of the CI/CD pipeline. After passing the required tests, the application was automatically deployed into a production environment using continuous deployment.