Mallipohjaisen testauksen hyödyntäminen mobiilisovelluksessa
Kullberg, Daniel (2019)
Kullberg, Daniel
2019
Tietotekniikka
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2019-05-29
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201905311837
https://urn.fi/URN:NBN:fi:tty-201905311837
Tiivistelmä
Testaus on tärkeä osa ohjelmistojen kehitystä. Ilman kattavaa testaus ei voida sanoa toimiiko kehitetty ohjelmisto oikein. Testauksen perimmäinen tarkoitus on löytää mahdollisimman paljon virheitä, jotta ne pystytään korjaamaan kehitysvaiheessa. Testausta voi tehdä perinteisesti manuaalisesti tai automaattisesti testiskriptejä hyödyntäen. Testiautomaatio on viime aikoina kehittynyt paljon ja tuottanut monia uusia ideoita sekä kehittänyt vanhoja ideoita pidemmälle. Yksi tällainen idea on mallipohjainen testaus.
Työssä lähdettiin tutkimaan miten mallipohjaista testausta voisi hyödyntää ML Rahat -mobiilisovelluksen testauksessa. Mallipohjainen testaus käyttää sovelluksesta tehtäviä malleja, joiden mukaan testitapaukset luodaan automaattisesti algoritmeilla. Näitä testitapauksia voidaan ajaa automaattisesti, kun mallin pohjilta on toteutettu testit Robot Frameworkillä.
Mallipohjainen testaus toisi automaatiotestauksen lähemmäksi sovelluksen kehittämisvaihetta. Kun automaatiotestaus ja automaatiotestien tekeminen ei ole lähellä kehitystä niin niiden kyky testata sovellusta kärsii eikä niistä saada kaikkea hyötyä irti. Mallipohjainen testaus toisi tähän apua, kun sovelluksen malli ja sen pohjalta toteutettavat testit tehtäisiin testaajan toimesta samanaikaisesti sovelluksen kehittämisen kanssa, samassa vaiheessa, kun manuaalitestausta tehdään. Mallipohjainen testaus toisi myös apua sovelluksen dokumentaatioon ja määritelmiin mallien muodossa. Testaajien tekemät testausmallit toimivat samalla myös dokumentaationa siitä, miten sovelluksen tulisi toimia ja mitä toimintoja sovelluksessa on missäkin vaiheessa mahdollisia.
Työssä toteutettiin mallipohjainen testaus mobiilisovellukselle. Sovelluksen pohjalta tehtiin ensin mallit, joiden pohjilta luotiin automaattisesti erinäisiä testitapauksia. Mallin pohjilta toteutettiin automaatiotestit Robot Frameworkillä, joilla luotuja testitapauksia ajettiin. Lopputuloksena on kokonaisvaltainen ja kattava testimenetelmä, jolla voi testata sekä kehityksen aikaista sovellusta, että käyttää myös regressiotestauksessa.
Mallipohjainen testaus vaikuttaa lupaavalta menetelmältä. Sen avulla on mahdollista tuottaa kattavat testit ja dokumentaatiota itse sovelluksen toiminnasta. Mallipohjainen testaus on hieman työläämpää kuin manuaalinen testaus tai mitä tämän hetkinen automaatiotestausprosessi on. Kuitenkin sen hyödyt ovat suuremmat kuin työmäärän kasvu, joten sen käyttöä ja kokeilua tulisi jatkaa ottamalla se mukaan kehityksen aikaiseen testaukseen.
Työssä lähdettiin tutkimaan miten mallipohjaista testausta voisi hyödyntää ML Rahat -mobiilisovelluksen testauksessa. Mallipohjainen testaus käyttää sovelluksesta tehtäviä malleja, joiden mukaan testitapaukset luodaan automaattisesti algoritmeilla. Näitä testitapauksia voidaan ajaa automaattisesti, kun mallin pohjilta on toteutettu testit Robot Frameworkillä.
Mallipohjainen testaus toisi automaatiotestauksen lähemmäksi sovelluksen kehittämisvaihetta. Kun automaatiotestaus ja automaatiotestien tekeminen ei ole lähellä kehitystä niin niiden kyky testata sovellusta kärsii eikä niistä saada kaikkea hyötyä irti. Mallipohjainen testaus toisi tähän apua, kun sovelluksen malli ja sen pohjalta toteutettavat testit tehtäisiin testaajan toimesta samanaikaisesti sovelluksen kehittämisen kanssa, samassa vaiheessa, kun manuaalitestausta tehdään. Mallipohjainen testaus toisi myös apua sovelluksen dokumentaatioon ja määritelmiin mallien muodossa. Testaajien tekemät testausmallit toimivat samalla myös dokumentaationa siitä, miten sovelluksen tulisi toimia ja mitä toimintoja sovelluksessa on missäkin vaiheessa mahdollisia.
Työssä toteutettiin mallipohjainen testaus mobiilisovellukselle. Sovelluksen pohjalta tehtiin ensin mallit, joiden pohjilta luotiin automaattisesti erinäisiä testitapauksia. Mallin pohjilta toteutettiin automaatiotestit Robot Frameworkillä, joilla luotuja testitapauksia ajettiin. Lopputuloksena on kokonaisvaltainen ja kattava testimenetelmä, jolla voi testata sekä kehityksen aikaista sovellusta, että käyttää myös regressiotestauksessa.
Mallipohjainen testaus vaikuttaa lupaavalta menetelmältä. Sen avulla on mahdollista tuottaa kattavat testit ja dokumentaatiota itse sovelluksen toiminnasta. Mallipohjainen testaus on hieman työläämpää kuin manuaalinen testaus tai mitä tämän hetkinen automaatiotestausprosessi on. Kuitenkin sen hyödyt ovat suuremmat kuin työmäärän kasvu, joten sen käyttöä ja kokeilua tulisi jatkaa ottamalla se mukaan kehityksen aikaiseen testaukseen.