Yksikkö- ja integraatiotestaus Unity-pelimoottorissa
Webster, Karoliina (2018)
Webster, Karoliina
Metropolia Ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2018120720493
https://urn.fi/URN:NBN:fi:amk-2018120720493
Tiivistelmä
Insinöörityön tarkoitus oli tehdä joukko automatisoituja yksikkö- ja integraatiotestejä käyttäen Unity-pelimoottoria osana ammattikorkeakoulun opiskelijoiden peliprojektia. Tavoitteena oli luoda automatisoituja testejä pelin keskeiset ominaisuudet toteuttavalle ohjelmakoodille, korjata löydetyt virheet ja parantaa ohjelmakoodin laatua refaktoroimalla sitä. Testejä oli tarkoitus käyttää projektin aikana ja tulevaisuudessa ohjelmakoodin toiminnan varmistamiseen sen lisäämisen tai muokkaamisen jälkeen.
Projektin aikana tutustuttiin siihen, miten yksikkö- ja integraatiotestejä voidaan toteuttaa Unity-pelimoottorissa. Testauksen kohteet suunniteltiin laatimalla testaussuunitelma, jota seurattiin ja päivitettiin projektin aikana. Pelin ohjelmakoodia refaktoroitiin siten, että sitä oli mahdollista testata. Testien avulla löydetyt virheet eli bugit kirjattiin ja korjattiin.
Projektin aikana pelille kirjoitettiin 50 erilaista testiä. Osa testeistä testasi keskeisien pelimekaniikoiden ohjelmakoodia ja osa pelin ja sen käyttämän verkkopalvelun välistä toimintaa. Testit voidaan suorittaa Unityn Test Runner -työkalulla, kaikki kerralla tai erikseen. Projektia tehdessä todettiin, että Unityn toimintaa tulee ymmärtää riittävästi, jotta sen vaikutus testien rakenteeseen ja suorittamiseen voidaan ottaa huomioon testejä tehdessä.
Projekti opetti, minkälaiset ratkaisut ohjelmakoodissa hankaloittavat tai helpottavat testaamista, ja se opetti erilaisia refaktorointitekniikoita olemassa olevan ohjelmakoodin testattavuuden parantamiseksi. Projektin ansiosta pelin ohjelmakoodista tuli helpommin testattavaa, selkeämpää ja toimintavarmempaa.
Projektin aikana tutustuttiin siihen, miten yksikkö- ja integraatiotestejä voidaan toteuttaa Unity-pelimoottorissa. Testauksen kohteet suunniteltiin laatimalla testaussuunitelma, jota seurattiin ja päivitettiin projektin aikana. Pelin ohjelmakoodia refaktoroitiin siten, että sitä oli mahdollista testata. Testien avulla löydetyt virheet eli bugit kirjattiin ja korjattiin.
Projektin aikana pelille kirjoitettiin 50 erilaista testiä. Osa testeistä testasi keskeisien pelimekaniikoiden ohjelmakoodia ja osa pelin ja sen käyttämän verkkopalvelun välistä toimintaa. Testit voidaan suorittaa Unityn Test Runner -työkalulla, kaikki kerralla tai erikseen. Projektia tehdessä todettiin, että Unityn toimintaa tulee ymmärtää riittävästi, jotta sen vaikutus testien rakenteeseen ja suorittamiseen voidaan ottaa huomioon testejä tehdessä.
Projekti opetti, minkälaiset ratkaisut ohjelmakoodissa hankaloittavat tai helpottavat testaamista, ja se opetti erilaisia refaktorointitekniikoita olemassa olevan ohjelmakoodin testattavuuden parantamiseksi. Projektin ansiosta pelin ohjelmakoodista tuli helpommin testattavaa, selkeämpää ja toimintavarmempaa.