Mobiilisovellukset ovat nykyään yritysten ja organisaatioiden toiminnan kannalta kriittisiä elementtejä, joiden avulla kuluttajat esimerkiksi käyttävät yrityksen palveluita tai ostavat sen tuotteita. Yhä useammassa ammattiryhmässä mobiilisovellukset ovat myös työkaluja: niitä käytetään päivittäin työtehtävien suorittamisen tukena tai vaikkapa raportointiin.
Mobiilisovellukset ovat samalla myös ohjelmistotuotteita. Ammattimaiseen ohjelmistokehitykseen kuuluu oleellisena osana ohjelmistotestaus, jonka ideaalitapauksessa suorittaa kokenut testauksen ammattilainen. Testaaja toimii ohjelmistokehittäjän työparina ja varmistaa sovelluksen laadun ennen ensimmäisen version tai myöhemmän päivityksen julkaisemista.
Kuluttajilla käyttökokemus ratkaisee
Ensivaikutelman voi antaa vain kerran – tämä on erityisen totta kiivaasti kilpailluilla mobiilimarkkinoilla. Jos sovellus kaatuu, hidastelee tai sen käyttöönotto tökkii, kiireinen käyttäjä poistaa sen saman tien näytöltään ja käy antamassa happaman palautteen sovelluskaupassa. Huolellinen testaus hyvissä ajoin ennen uuden sovelluksen julkaisua auttaa uutuuden onnistuneessa lanseerauksessa.
Vakiintuneiden, jo laajan käyttäjäkunnan keränneiden sovellusten päivityksissä on omat haasteensa. Kun käyttäjien määrä on suuri, mahdollisten ongelmien vaikutus moninkertaistuu. Laajassa käyttäjäkunnassa on myös valtava määrä erilaisia mobiililaitteita, joissa on erilaiset käyttöjärjestelmät, näyttökoot, muistimäärät ja prosessointitehot. Näiden huomioimisessa testaus on ensiarvoisen tärkeää.
Sovellus jokapäiväisenä työkaluna
Siinä missä kuluttajat käyttävät mobiilisovelluksia satunnaisesti, valtavalle määrälle eri alojen ammattilaisia sovellukset ovat työkaluja, joita käytetään toistuvasti päivän mittaan tai jopa koko työvuoron ajan. Ammattikäytön vaatimukset on otettu huomioon myös sovelluksen suunnittelussa. Testaajan vastuulla on selvittää, että sovelluksen vaatimukset myös täyttyvät loppukäyttäjän käyttöympäristössä – esimerkiksi liikkuvassa kulkuvälineessä tai kellarissa ilman verkkoyhteyttä.
Esimerkki elävästä elämästä: logistiikka-alan jakeluhenkilön puhelimessaan käyttämää sovellusta testattiin kattavasti erilaisissa verkkoympäristöissä ja jopa hyytävässä 20 pakkasasteen testikontissa, jolla simuloitiin laitteen ja sovelluksen toimintaa sekä akkukestoa kirpeinä pakkaspäivinä.
Miten mobiilitestausta tehdään?
Uuden sovelluksen testausprosessi alkaa ihannetapauksessa jo ennen kuin ensimmäistäkään koodiriviä on kirjoitettu: testaaja on mukana kommentoimassa esimerkiksi palvelumuotoilijan tai UX-designerin suunnitelmia. Testaaja voi jo varhaisesta vaiheesta suunnitella testitapauksia ja testauksen kattavuutta.
Kun sovelluksesta on saatavilla ensimmäinen versio, testaaja voi aloittaa ns. tutkivan testauksen, jossa hän käy läpi sovelluksen toiminnot. Toivottujen käyttötapojen lisäksi testaaja valjastaa käyttöön myös mielikuvituksensa ja yrittää tarkoituksella käyttää sovellusta “väärin” ja rikkoa sen – tällä tavalla saadaan selville kummallisemmatkin virhetilanteet sekä tilkittyä väärinkäytön mahdollistavat aukot.
Testaus tehdään tietokoneella pyörivän simulaattorin sijaan oikeilla puhelinlaitteilla ja tarpeen mukaan ulkona loppukäyttäjän ympäristössä. Tyypillisesti laitteita on vähintään yksi molemmista johtavista käyttöjärjestelmistä, Androidista ja Applen iOS-alustasta. Sovelluksesta riippuen testaaja kuitenkin usein käytännössä testaa sitä lukuisilla eri laitteilla saadakseen selville erilaisten näyttökokojen ja laitekomponenttien mahdollisesti aiheuttamia ongelmia.
Jälleen sovelluksesta riippuen testaus saattaa pitää sisällään myös puhelimen ulkopuolella tehtävää työtä: testaaja saattaa vaikkapa perehtyä koko järjestelmän tietoturvaan tai testata palvelimen kykyä kestää kovaa kuormaa simuloimalla satojen tai tuhansien sovellusten samanaikaista toimintaa.
Kun sovelluksesta on julkaistu jo useampia versioita ja muutokset käyttöliittymään ovat maltillisia, testaaja voi ottaa työnsä avuksi testiautomaation. Automaatiossa ohjelmistorobotti suorittaa salamannopeasti uuden version vanhojen ominaisuuksien testauksen, ja ihmistestaajalle vapautuu aikaa nimenomaan uusien ominaisuuksien tutkimiseen. Automaatio auttaa suuresti esimerkiksi silloin, kun tuettuja laiteversioita on runsaasti.
Ihanteellisesti testaus on suunniteltu ajoissa huolellisesti ja sitä tehdään määrätietoisesti koko kehitysprosessin ajan. Käytännössä testaajien kovin kiire on juuri julkaisua edeltävänä aikana, jolloin viimeiset ominaisuudet viilataan kuntoon. Tällöin testaaja tekee aktiivista työtä kehittäjän kanssa sovelluksen laadun varmistamiseksi.
Testaajan osaamispaletti
Mobiilitestaus on yksi osa-alue ammattitaitoisen ohjelmistotestaajan työkalupakissa. Kokeneella testaajalla on kokemusta eri käyttöjärjestelmien ja laitteiden ominaispiirteistä ja kummallisuuksista. Hän osaa kaivaa laitteista debug-lokit kehittäjän avuksi, ja hän tuntee tyypillisimmät skenaariot, joissa mobiilisovellukset saattavat tökkiä.
Syvemmälle mentäessä testaajalta saattaa myös löytyä tietoturvan, tietoliikenteen tai yleisesti koodin ja palvelinten sielunelämän tuntemusta. Testaajan tärkeimpiä taitoja ovat kuitenkin aina luovuus, järjestelmällisyys sekä erinomaiset tiimityöskentely- ja viestintätaidot.
Klaus Lakkala on ohjelmistotestausyritys Testimaten johtava konsultti ja yksi yrityksen perustajista. Klaus auttaa tiiminsä kanssa Testimaten asiakkaita toteuttamaan korkealaatuisia ohjelmistoja. Ota yhteyttä: klaus.lakkala@testimate.fi
Artikkeli on ensimmäistä kertaa julkaistu Sytyke -lehdessä.
Lisätietoja www.sytyke.org
Image by storyset on Freepik