Automaatiotestaus modernissa web-sovelluksessa
Aalto, Tuomas (2024)
Aalto, Tuomas
2024
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-2024120131614
https://urn.fi/URN:NBN:fi:amk-2024120131614
Tiivistelmä
Teknologiat kehittyvät koko ajan siinä missä ohjelmistojen laatuvaatimuksetkin ovat kasvaneet. Testauksen tavoitteena on löytää virheet ja korjata ne ennen tuotteen julkaisua niin, että laatuvaatimukset täyttyvät. Tässä opinnäytetyössä tutkitaan ohjelmistotestausta ja testaustyökaluja modernissa Web-kehityksessä. Opinnäytetyön toimeksiantajana toimi Enersoft Oy, joka toteuttaa ohjelmistoratkaisuja terveydenhuoltoalalle. Opinnäytetyössä hankitaan ja laajennetaan testausosaamista niin opinnäytetyön tekijälle kuin myös toimeksiantajayritykselle. Työssä kehitetään automaatiotestausta toimeksiantajayrityksen käyttöön.
Opinnäytetyön toiminnallinen osuus toteutettiin sovellukseen, jota opinnäytetyön tekijä on ollut mukana kehittämässä opintoihin kuuluvan harjoittelun aikana ja sen jälkeen toimeksiantajayrityksessä. Toiminnallisessa osuudessa automaatiotestaus otettiin käyttöön sovelluskehityksessä jälkikäteen, eikä kehityksen alkuvaiheessa, vaikka yleensä testauksen tulisi kulkea ohjelmoinnin rinnalla alusta alkaen. Testauksen automatisointi toteutettiin yksikkö- ja integraatiotestauksessa Jest-testauskehyksellä ja järjestelmätestauksessa Cypress-testauskehyksellä.
Toiminnallisessa osuudessa sovelluksen testausta saatiin automatisoitua sen kriittisistä osista yksikkö-, integraatio- ja järjestelmätestaustasoilla. Työstä saatu tieto on dokumentoitu ohjeeksi käytetyistä testaustekniikoista. Ohjeistus vastaa toimeksiantajayrityksen tarpeeseen testausosaamisen laajentamisesta ja automaatiotestauksen kehittämisestä.
Jatkossa työstä saatua tietoa on tarkoitus jakaa toimeksiantajayrityksessä kehittäjien kesken ja laajentaa käytössä olevien automaatiotestaustyökalujen käyttöä. Sovellusta voisi jatkokehittää tietoturvatestauksella ja tekoälyn hyödyntämisellä ohjelmistotestauksessa.
Opinnäytetyön toiminnallinen osuus toteutettiin sovellukseen, jota opinnäytetyön tekijä on ollut mukana kehittämässä opintoihin kuuluvan harjoittelun aikana ja sen jälkeen toimeksiantajayrityksessä. Toiminnallisessa osuudessa automaatiotestaus otettiin käyttöön sovelluskehityksessä jälkikäteen, eikä kehityksen alkuvaiheessa, vaikka yleensä testauksen tulisi kulkea ohjelmoinnin rinnalla alusta alkaen. Testauksen automatisointi toteutettiin yksikkö- ja integraatiotestauksessa Jest-testauskehyksellä ja järjestelmätestauksessa Cypress-testauskehyksellä.
Toiminnallisessa osuudessa sovelluksen testausta saatiin automatisoitua sen kriittisistä osista yksikkö-, integraatio- ja järjestelmätestaustasoilla. Työstä saatu tieto on dokumentoitu ohjeeksi käytetyistä testaustekniikoista. Ohjeistus vastaa toimeksiantajayrityksen tarpeeseen testausosaamisen laajentamisesta ja automaatiotestauksen kehittämisestä.
Jatkossa työstä saatua tietoa on tarkoitus jakaa toimeksiantajayrityksessä kehittäjien kesken ja laajentaa käytössä olevien automaatiotestaustyökalujen käyttöä. Sovellusta voisi jatkokehittää tietoturvatestauksella ja tekoälyn hyödyntämisellä ohjelmistotestauksessa.