Mobiilsete lahenduste testimine on rohkemaid väljakutseid pakkuv kui klassikaliste (nt klient-server, veebilahendused) rakenduste testimine. Igasuguse rakenduse testimise eesmärk on mõista ja parendada rakenduse võimekuste kvaliteeti ja jõudlust27. Selle eesmärgi saavutamiseks mobiilsetel platvormidel tuleb aga aktsepteerida järgmisi väljakutseid:
- Seadmete paljusus ja mitmekesisus. Vajadus soetada kriitiline hulk füüsilisi seadmeid ning valikud pidevalt ajakohastada. Rakenduste testimise keerukus sõltub ühilduvusega seotud aspektidest, kuna rakendusi on võimalik kasutada seadmetes, millel on erinevad operatsioonisüsteemid erinevate versioonidega; erinevad seadmetootjad erinevate seadmetega; erinevad sisend, väljund- ja lisaseadmed jne28.
- Testimise töövahendite olemasolu. Klassikalised testimisvahendid ei ole üldjuhtumil sobilikud mobiilirakenduste testimiseks. See tähendab, et vajalik on spetsiifiliste praktikate ja vahendite järele (testide automatiseerimislahendused, pilve-testimine). Enimlevinud meetodiks on kasutada Selenium Webdriver-il põhinevaid lahendusi, mis lubavad juhtida rakenduste kasutajaliideseid üle platvormide. Siiski vajab iga platvorm testides eri käsitlemist, kuna platvormide UI spetsiifikad võivad erineda.
- Standardid. Rakendused peavad vastama mitmetele standarditele ja nõuetele, et rakendused oleksid levitajate jaoks aktsepteeritavad ning kasutajate hulgas populaarsed.
- Kvaliteedimeeskonna oskused ja teadmised. Mobiilsete rakenduste testimise teistsugused rõhuasetused vajavad lisa ressurssi ja kompetentsi, täiendavaid teadmisi ja pidevat enesetäiendamist, kohanemist kiirelt muutuva valdkonnaga. Näiteks vajab rakenduse kasutatavuse kontrollimine iga mobiili platvormi UI mustrite tundmist, mis on pidevas elavas arengus. Samuti on oluline testida mobiili platvormidele omaseid juhtumeid nagu side kadumine suvalisel hetkel, sissetuleva kõne vastuvõtmine kriitiliste operatsioonide ajal, rakenduse käitumine seadme landscape/portrait asendites29 jne.
[27] Best Practices in Mobile Application Testing. M. Kumar, M. Chauhan [URL]
[28] Android platvormil põhinevate nutiseadmete fragmentatsiooni hea ülevaate annab OpenSignal 2013. aastal läbi viidud uuring [URL]. Lisaks erinevatele seadmetele (2013. aastal pea 12000 erinevat) on nutiseadmete puhul erinevusteks platvormide paljusus, tootjate/toodete paljususest tulenevad erisused (funktsionaalsused, ekraaniparameetrid jne). Kõik see mõjutab testimiste keerukust.
[29] Erinevatel platvormidel on turul hulgaliselt erinevaid seadmeid, mille puhul üheks suurimaks erinevuseks on nende ekraaniparameetrite erinevused (suurus, punktitihedus jne). Nende hea ülevaate leiab aadressilt: http://screensiz.es/.