Implementing GUI testing using WebdriverIO to company’s Vue.js based web application
Nummila, Mikko (2022)
Diplomityö
Nummila, Mikko
2022
School of Engineering Science, Tietotekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2022100761325
https://urn.fi/URN:NBN:fi-fe2022100761325
Tiivistelmä
This thesis describes the implementation of WebdriverIO browser automation test framework to the company’s Vue.js based web application and development pipeline. For this implementation, a mock-up of the application backend is made using Mock Service Worker. The results are that test scripts can be recorded using Chrome developer tools recorder, tests can be run locally and in the company’s Jenkins server and different reports are generated. These reports are integrated to Jenkins and viewable from the Jenkins dashboard. The implementation is evaluated against company’s requirements as a case study and WebdriverIO being the instantiation artifact of design science research.
Testing theory is researched and applied during the implementation process and findings are shared with the company. Most important discovery being that the software is made with testability in mind in the first place. Recommendation is given about starting Graphical User Interface (GUI) testing from simple smoke tests and then balance between the complexity and maintainability of the tests in the future, while keeping in mind that automation is not a viable solution for everything. Tämä opinnäytetyö kuvaa WebdriverIO selainautomaatiotestikehysympäristön implementoinnin yrityksen Vue.js pohjaiseen verkkosovellukseen ja kehitysputkeen. Tätä varten verkkosovelluksen taustajärjestelmistä tehtiin malli Mock Service Workerillä. Tulokset ovat, että testiskriptejä voidaan nauhoittaa Chrome kehittäjätyökalujen nauhoittajalla, testejä voidaan suorittaa paikallisesti ja yrityksen Jenkins-palvelimella ja luodaan erilaisia raportteja. Nämä raportit on integroitu Jenkinsiin ja ovat katseltavissa Jenkinsin kojetaululta. Implementointia arvioidaan yrityksen antamia vaatimuksia vasten tapaustutkimuksena ja WebdriverIO toimii suunnittelutieteen tutkimuksen toteutuma artefaktina.
Testauksen teoriaa on tutkittu ja sovellettu implementointi prosessin aikana ja tulokset jaetaan yrityksen kanssa. Tärkein löytö on se, että ohjelmisto on tehty ennen kaikkea testattavuus mielessä. Suositus annetaan graafisen käyttöliittymän testauksen aloittamisesta yksinkertaisilla savutesteillä ja tulevaisuudessa tasapainottaa testejä monimutkaisuuden ja huollettavuuden välillä pitäen samalla mielessä, että automaatio ei ole kannattava ratkaisu kaikkeen.
Testing theory is researched and applied during the implementation process and findings are shared with the company. Most important discovery being that the software is made with testability in mind in the first place. Recommendation is given about starting Graphical User Interface (GUI) testing from simple smoke tests and then balance between the complexity and maintainability of the tests in the future, while keeping in mind that automation is not a viable solution for everything.
Testauksen teoriaa on tutkittu ja sovellettu implementointi prosessin aikana ja tulokset jaetaan yrityksen kanssa. Tärkein löytö on se, että ohjelmisto on tehty ennen kaikkea testattavuus mielessä. Suositus annetaan graafisen käyttöliittymän testauksen aloittamisesta yksinkertaisilla savutesteillä ja tulevaisuudessa tasapainottaa testejä monimutkaisuuden ja huollettavuuden välillä pitäen samalla mielessä, että automaatio ei ole kannattava ratkaisu kaikkeen.