Tutkimus ja toteutus mobiilisovelluksen UI-testiautomaatiotapausten parametrisoinnista
Jämsä, Jere (2025)
Jämsä, Jere
2025
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-2025060420108
https://urn.fi/URN:NBN:fi:amk-2025060420108
Tiivistelmä
Tässä opinnäytetyössä tutkittiin ja toteutettiin ratkaisu mobiilisovelluksen käyttöliittymätestauksen automatisoinnin kehittämiseksi iOS-ympäristössä. Työn taustalla oli käytännön tarve vähentää testikoodin toisteisuutta ja parantaa sen ylläpidettävyyttä, sillä sovelluksen testikoodissa esiintyi runsaasti samoja testitapauksia, jotka erosivat toisistaan vain syötearvojen tai odotettujen tulosten osalta.
Työn tavoitteena oli kehittää Swift-ohjelmointikieleen pohjautuva makro, joka mahdollistaisi käyttöliittymätestien parametrisoinnin siten, että yksi testimetodi voitaisiin ajaa useilla eri syötteillä ilman testilogiikan manuaalista toistoa. Toteutus perustui Swiftin makro-ominaisuuteen sekä XCTest-viitekehykseen. Tietoperustassa käsiteltiin ohjelmistotestauksen keskeisiä menetelmiä, kuten musta- ja valkolaatikkotestausta, sekä syvennyttiin yksikkö- ja käyttöliittymätestauksen eroihin, Page Object Model -arkkitehtuuriin ja datalähtöiseen testaukseen. Tutkimusmenetelmänä käytettiin konstruktiivista tutkimusta, jossa ongelmaa lähestyttiin konkreettisen ratkaisun suunnittelun ja toteutuksen kautta.
Makron käyttöönotto osoittautui onnistuneeksi. Sen avulla testikoodia pystyttiin yksinkertaistamaan, testien kattavuutta parantamaan ja uusien testitapausten luomista nopeuttamaan. Lisäksi ratkaisu integroitui hyvin olemassa olevaan testausputkeen ilman merkittäviä muutoksia. Työn tuloksena syntyi käytännönläheinen ja laajennettavissa oleva ratkaisu, joka paransi testauksen tehokkuutta ja laatua.
Johtopäätöksenä voidaan todeta, että makropohjainen lähestymistapa tarjoaa merkittäviä hyötyjä käyttöliittymätestien hallinnassa. Kehitysehdotuksina esitetään makron laajentamista tukemaan monimutkaisempia datarakenteita, virheenkäsittelyä ja visuaalista raportointia sekä soveltuvuuden tutkimista muissa käyttöympäristöissä, kuten Android- tai selainpohjaisissa testeissä.
Työn tavoitteena oli kehittää Swift-ohjelmointikieleen pohjautuva makro, joka mahdollistaisi käyttöliittymätestien parametrisoinnin siten, että yksi testimetodi voitaisiin ajaa useilla eri syötteillä ilman testilogiikan manuaalista toistoa. Toteutus perustui Swiftin makro-ominaisuuteen sekä XCTest-viitekehykseen. Tietoperustassa käsiteltiin ohjelmistotestauksen keskeisiä menetelmiä, kuten musta- ja valkolaatikkotestausta, sekä syvennyttiin yksikkö- ja käyttöliittymätestauksen eroihin, Page Object Model -arkkitehtuuriin ja datalähtöiseen testaukseen. Tutkimusmenetelmänä käytettiin konstruktiivista tutkimusta, jossa ongelmaa lähestyttiin konkreettisen ratkaisun suunnittelun ja toteutuksen kautta.
Makron käyttöönotto osoittautui onnistuneeksi. Sen avulla testikoodia pystyttiin yksinkertaistamaan, testien kattavuutta parantamaan ja uusien testitapausten luomista nopeuttamaan. Lisäksi ratkaisu integroitui hyvin olemassa olevaan testausputkeen ilman merkittäviä muutoksia. Työn tuloksena syntyi käytännönläheinen ja laajennettavissa oleva ratkaisu, joka paransi testauksen tehokkuutta ja laatua.
Johtopäätöksenä voidaan todeta, että makropohjainen lähestymistapa tarjoaa merkittäviä hyötyjä käyttöliittymätestien hallinnassa. Kehitysehdotuksina esitetään makron laajentamista tukemaan monimutkaisempia datarakenteita, virheenkäsittelyä ja visuaalista raportointia sekä soveltuvuuden tutkimista muissa käyttöympäristöissä, kuten Android- tai selainpohjaisissa testeissä.
