Ohjelmistotestaus Node.js & React.js -kehitysympäristöissä
Peltola, Lassi (2020)
Peltola, Lassi
2020
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-202002282847
https://urn.fi/URN:NBN:fi:amk-202002282847
Tiivistelmä
Tässä opinnäytetyössä perehdyttiin ohjelmistotestauksen perusteisiin sekä tutkittiin Node.js ja React.js -kehityksessä käytettäviä testauskehyksiä ja -työkaluja. Opinnäytetyön toimeksiantajana toimi ohjelmistotalo Solenovo Oy, joka toteuttaa järjestelmiä oppilaitoksille ja julkishallinnolle. Opinnäytetyön tarkoitus oli tutkia Javascript-testausta ja tuoda toimeksiantajalle lisää tietoa Node.js ja React.js -testauksesta sekä siirtää testausosaamista alihankkijalta toimeksiantajalle. Lisäksi työssä oli tarkoitus mitata ja pohtia, miten työn aikana tutkittu tieto vaikuttaa yrityksen testauskäytäntöihin.
Opinnäytetyön toiminnallisessa osiossa testejä toteutettiin toimeksiantajan työaikapankki-projektissa. Node.js -osiossa testattiin rest-rajapintaa käyttäen Mocha-, Jest- ja vREST -työkaluja. React.js -osiossa testattiin käyttöliittymää käyttäen Selenium IDE-, Screener E2E sekä Cypress -testaustyökaluja.
Työn tuloksena saatiin kerättyä ja dokumentoitua tietoa erilaisista Javascript-kehityksessä käytettävistä testaustyökaluista. Testausosaamista saatiin siirrettyä alihankkijalta toimeksiantajalle. Opinnäytetyön myötä kerättyä uutta tietoa on tulevaisuudessa tarkoitus jakaa yrityksessä ja tutkittujen testaustyökalujen käyttöä tullaan kouluttamaan kehittäjien kesken. The purpose of this thesis was to become familiar with the basics of software testing and study testing tools that are used for Node.js and React.js development. This thesis was commissioned by Solenovo Ltd, a software company which develops systems for school institutions and public administrations. The thesis aimed to study Javascript-testing to provide the commissioner with more information about Node.js and React.js testing and transfer existing testing knowledge from subcontractor to commissioner. In addition, this thesis intended to measure and reflect how the new researched information will affect commissioners testing practices.
In the functional part of this thesis tests were implemented in the commissioners working time bank project. In the Node.js section, a rest interface was tested with Mocha, Jest and vREST. In the React.js section, the applications user interface was tested with Selenium IDE, Screener E2E and Cypress.
As a result of this thesis, information about various Javascript testing tools was gathered and documented. The testing knowledge was successfully transferred from subcontractor to commissioner. Information gathered for this thesis will be shared with Solenovo Ltd and the usage of the testing tools will be introduced to the developers of the company.
Opinnäytetyön toiminnallisessa osiossa testejä toteutettiin toimeksiantajan työaikapankki-projektissa. Node.js -osiossa testattiin rest-rajapintaa käyttäen Mocha-, Jest- ja vREST -työkaluja. React.js -osiossa testattiin käyttöliittymää käyttäen Selenium IDE-, Screener E2E sekä Cypress -testaustyökaluja.
Työn tuloksena saatiin kerättyä ja dokumentoitua tietoa erilaisista Javascript-kehityksessä käytettävistä testaustyökaluista. Testausosaamista saatiin siirrettyä alihankkijalta toimeksiantajalle. Opinnäytetyön myötä kerättyä uutta tietoa on tulevaisuudessa tarkoitus jakaa yrityksessä ja tutkittujen testaustyökalujen käyttöä tullaan kouluttamaan kehittäjien kesken.
In the functional part of this thesis tests were implemented in the commissioners working time bank project. In the Node.js section, a rest interface was tested with Mocha, Jest and vREST. In the React.js section, the applications user interface was tested with Selenium IDE, Screener E2E and Cypress.
As a result of this thesis, information about various Javascript testing tools was gathered and documented. The testing knowledge was successfully transferred from subcontractor to commissioner. Information gathered for this thesis will be shared with Solenovo Ltd and the usage of the testing tools will be introduced to the developers of the company.