Mängude testimise õpetus: kuidas testida mobiili-/töölauarakendusi
⚡ Nutikas kokkuvõte
Mängude testimine on videomängude kvaliteedikontrolli protsess, mille eesmärk on leida vigu mängulisuses, graafikas, helis ja võrgus, et mängijatele saadetav versioon jääks stabiilseks, nõuetele vastavaks ja nauditavaks.
Mis on mängude testimine?
Mängu testimine on tarkvara testimise protsess videomängude testimiseks kvaliteedikontrolli eesmärgil. Mängude testimise peamine eesmärk on tuvastada ja avastada videomängus defekte ja vigu ning parandada selle stabiilsust ja jõudlust. Mängude testimine on mänguarenduse komponent, mis aitab tagada, et juurutatav videomäng on vigadeta.
Enne kui üksikud tehnikad mõtet omandavad, on kasulik näha, kus testimine laiemas arendustsüklis asetseb.
Mänguarenduse elutsükkel
Eeltootmine: Selles etapis luuakse mänguidee, süžeeskeem, funktsioonid, nõuete analüüs ja dokumentatsioon. See etapp hõlmab tehnilise disaini dokumenti ja funktsioonide spetsifikatsioone, mängu arhitektuuri, raamikihi ja animatsiooni. Arvesse võetakse järgmisi punkte:
- Muusika, kaamera (suumimine ja vähendamine, kordus, filmivaade), mängija ja tegevuse atribuudid
- Mängu loogika, reeglid ja tingimused järgmise taseme saavutamiseks
- Objektide ja sündmuste käivitajad, skoorid, mängija liikumine ja positsioneerimine, mängija statistika
- Mitteinteraktiivsed järjestused, eriefektid, tiitelekraanid, mitme nupuga toimingud
- Mängupult, filmiklipp, löögi-/vibratsiooniefektid, juriidilised tekstid, nuppude funktsioonide kasutamine, analoog- ja digitaalrežiimi kasutamine
Kolm etappi ja iga etapi tegevused on näidatud allpool.

Tootmine: Selles etapis tehakse tegelik kodeerimine. See etapp hõlmab erinevate moodulite kodeerimist ja integreerimist.
Testimine ja juurutamine: Selle etapi jooksul viiakse läbi funktsionaalsed testid, regressioontestid ning alfa-, beeta- ja kuldtestid. Samuti testitakse leviala ja vooge, andmete terviklikkust, algoritmipõhist testimist, teekonna testimist ja inkrementaalset testimist mobiilimängude testimise tööriistade abil.
Kuidas mängude testimine erineb teistest tarkvaratestidest
Mängude testimine on korduv protsess – igas uues versioonis võib olla vigu ja seda tuleb põhjalikult testida.
Kõik mängude testid järgivad põhistruktuuri, olenemata mängu suurusest ja selle loomiseks kuluvast ajast.
Kvaliteedi tagamise spetsialist peab uurima mängureegleid ja -nõudeid ning mõistma mängukomponentide üldist arhitektuuri, failiarhitektuuri, mänguvoogu, failistruktuure ja mänguga seotud sõltuvusi. Iga uue mängu prototüübi puhul tuleb testimisdokumente uuesti läbi vaadata, et kajastada kõiki spetsifikatsioonide muudatusi, uusi mängutestimise testjuhtumeid ja uut konfiguratsioonitoetust. Videomängude testija peaks ka tagama, et uusi probleeme ei oleks tekkinud.
Mängutestijate tööülesanded hõlmavad järgmist:
- Klassifitseerige nõuded sihtotstarbe ja sihtrühma alusel.
- Tuvastage kasutaja- ja süsteeminõuded ning liigitage need funktsionaalseteks, mittefunktsionaalseteks ja domeeninõueteks.
- Tuvastage funktsionaalsete ja mittefunktsionaalsete nõuete jaoks testitavad üksused, mittetestitavad üksused, eesmärgid ja mõõdikud.
- Kontrollige, kas funktsionaalsed nõuded on täielikud, järjepidevad ja arusaadavad.
- Tuvastage kohandatavad nõuded ja vastuolulised nõuded.
- Tuvastage omavahel seotud nõuded, mis on üks peamisi mängude testimise ülesandeid.
- Prioriseerige nõuded ainulaadsuse, keerukuse ja kriitilisuse alusel.
- Tuvasta mängu teema, tegelased, animatsioon, tehisintellekt, kinemaatika, kaameravaade ja mänguviis.
Kui soovid saada videomängude testijaks, siis siin on tasuta õpetus, mida tasub vaadata: Kuidas saada videomängude testijaks.
Mängu testimise tüübid
Allpool on toodud populaarsed mängude testimise tehnikad. Igaüks neist on suunatud erinevat tüüpi defektidele ja väljaandmiseks valmis mäng läbib tavaliselt kõik need tehnikad, selle asemel et nende vahel valida.
1) Funktsionaalne testimine
Funktsionaalsuse kvaliteedikontrolli testijad otsivad mängus või selle kasutajaliideses ja graafikas üldisi probleeme, näiteks mängumehaanika probleeme, stabiilsusprobleeme ja mängu ressursside terviklikkust. Kasutajaliidese testimine tagab mängu kasutajasõbralikkuse. See on sama valdkond, mis funktsionaalne testimine mis tahes muus rakenduses rakendatakse mängureeglitele ärireeglite asemel.
Näide: Värvide ja taustade, menüüstruktuuri, ekraani orientatsiooni ja ekraani eraldusvõime, fondi suuruse, joondusvigade, kasutatavuse, süsteemi navigeerimise (nt laadimisaeg, ajalõpp ja kuvamine), sortimise, kinnitussõnumite, järjestuste, mängu animatsiooni ja helielementide, juhiste ja dialoogisõnumite kontrollimine. See hõlmab ka kasutajate interaktsioone, kasutajaliideseid, tehingute testimist, mobiiltelefonide kaamerate kalibreerimist ja täpsuse testimist, ekraani eraldusvõimet, mobiilile reageeriva disaini testimist ja helikvaliteedi testimist.
2) Ühilduvuse testimine
Mängu ühilduvuse kontrollimine erinevate seadmete ja riist- ja tarkvara konfiguratsioonidega. Lai seadmete katvus on mängude puhul olulisem kui enamiku rakenduste puhul, kuna graafikakaardi draiverid ja ekraani kuvasuhted muudavad pealkirja renderdamist. Vaata ühilduvuse testimine üldise tehnika jaoks.
Näide: Installi ja desinstalli mäng kõikides toetatud konsoolides, lauaarvutites ja mobiiltelefonides.
3) Toimivuse testimine
Mängu üldist jõudlust kontrollitakse. Jõudluse häälestamist teostatakse mängu kiiruse optimeerimiseks. Laiemat praktikat käsitletakse jaotises jõudluse testimineja mobiilispetsiifiline nurk mobiilirakenduse jõudluse testimine.
Jõudlustesti käigus kontrollitud olulised parameetrid:
- Kliendi ja serverite reageerimisaeg, tehingute lõpuleviimise ajad, tippkoormuse jõudlus, pikaealisus, võrgu leviala, mäluleke, vähene mälu, tühi aku, rakenduse allalaadimiseks kuluv aeg, samaaegne (mitme kasutaja) juurdepääs rakendusserverile, kiirus, läbilaskevõime, töökindlus ja skaleeritavus.
- Aku tarbimine ja graafika jõudlus: Mõõda mobiilimängu aku tarbimist. Aku tarbimist tuleb pikkade tundide jooksul optimaalselt kasutada ning mängu reageeringud peaksid olema rahuldavad ka erinevate seadmete puhul erineva koormuse korral.
- Protsessori ja mälu piirangud: Jõudlusloendureid kasutatakse rakenduse protsessori ja mälu tarbimise mõõtmiseks.
- Võrguühendus: Mõõdab mobiilimängu reageerimisaega erinevat tüüpi võrkudes (Wi-Fi, 3G, 4G, 5G). See annab üldise ülevaate sellest, kui hästi mäng ebausaldusväärsetes võrkudes toimib, ning kontrollib ka mobiilseadmete, andmekeskuste ja pilve vahelist ühenduvust. Jälgitakse tippaegu, ühenduse ebastabiilsust, andmete dubleerimist, pakettide kadu ja andmete fragmenteerumist.
- Mobiilimängude jõudluse testimine, eriti MMO-mängude puhul.
4) Vastavus-/vastavustestimine
See hõlmab turuplatsi suuniste järgimist (näiteks Apple App Store'i eeskirjad) ja ettevõtte eeskirjade järgimist (näiteks keelatud sisu). Vastavus võib viidata ka regulatiivsetele organitele, nagu PEGI ja ESRB. Mäng on suunatud konkreetsele sisureitingule ja kui seal on soovitud reitingu jaoks sobimatut sisu, siis see tuvastatakse ja sellest teatatakse. Isegi üks rikkumine litsentsi kinnitamiseks esitatud versioonis võib kaasa tuua mängu tagasilükkamise, mis toob kaasa lisakulusid edasise testimise ja uuesti esitamise osas.
Näide: Kui mängu avaldatakse Euroopa riikides, testige PAL-teisendust; kui mängu toodetakse Põhja-Ameerika jaoks, testige NTSC-teisendust.
5) Lokaliseerimise testimine
Lokaliseerimise testimine muutub oluliseks, kui mäng on suunatud globaalsetele turgudele. Mängude pealkirjad, sisu ja tekstid tuleb tõlkida ja testida seadmetega mitmes keeles. Neid teste saab kiiresti teha pilvepõhise seadmejuurdepääsu ja testimisautomaatika abil.
Näide: Lähis-Ida / Põhja-Aafrika piirkonnale (Lähis-Ida / Põhja-Aafrika) omased lokaliseerimisvajadused, araabia keele lokaliseerimine (paremalt vasakule kirjutatava teksti tugi, kahesuunaline kuvamine), pseudolokaliseerimise testimine, Ida-Aasia keelte kahebaidised tähemärgid, kohalik kellaaeg ja kuupäev, valuuta, aadressivormingud ja muud kohalikud nõuded.
6) Leotustestimine
See mängu automatiseerimise testimise tehnika hõlmab mängu pikemat aega erinevates töörežiimides töötamist – näiteks jõudeolekus, pausil või tiitelekraanil istudes. Leotamine aitab tuvastada mälulekkeid või ümardamisvigu.
Näide: Mäng on alanud ja tegelane pannakse 24 tunniks jõude seisma. Seda tehnikat kasutatakse mälulekete ja muude mängumootori vigade põhjustatud krahhide tuvastamiseks.
7) Taastumistestimine
Tarkvaras taastumise testimine kontrollib, kui hästi rakendus taastub krahhidest, riistvaratõrgetest ja muudest sarnastest tõrgetest. Rakendus sunnitakse rikki minema ja seejärel jälgitakse, kuidas see rikketingimustest ja keskkonnast taastub.
Näide: Mängurakenduse töötamise ajal taaskäivitage ootamatult mängukonsool ja kontrollige andmete terviklikkust.
8) Turvatestimine
Turvatestimise eesmärk on kontrollida tarkvara turvalisust väliste ohtude korral. See hõlmab andmekaitset väliste ohtude, kontrollimatute süsteemile juurdepääsu piirangute, andmetega seotud rikkumiste, operatsioonisüsteemi vigade, sidesüsteemi vigade ja nõrkade krüpteerimisalgoritmide eest.
Näide: A muutmine URL Mängusaidil /login-ilt /play-i liikumine ei tohiks lubada otsest juurdepääsu mängudele.
9) Teiste mängude testimine
Reaalsete või virtuaalsete tegelaste testimine. Mitme mängijaga videomängudes on ühenduvus serveriga ja mängu oleku sünkroonimine kaks kriitilist valdkonda, mida tuleb testida.
Näide: Mitme mängijaga 3D võidusõidumängud.
Uute funktsioonide, näiteks mängu oleku värskenduste, sõbrakutsete ja premium-kingituste jagamise testimine. See tagab kasutajale rikkaliku mängukogemuse.
Näide: Facebook, blogid.
Heli testimine
Failide laadimisel esinevate vigade kontrollimine, helifailide kuulamine vigade või moonutuste suhtes ja CC-profiili abil värvikommentaari analüüsimine.
Andmebaas ja mängustatistika
Andmebaasi kontrollimine silumise abil, et uurida, kas mäng kasutab andmeid õigesti. Veenduge, et andmed laaditakse õigesse kohta ja kuvatakse õiget teavet.
Valge kasti testimine
Mängude valge kasti testimine keskendub mobiilimängu arhitektuurilistele, integratsiooni- ja süsteemiaspektidele.
- Code Kontrollimine: Lähtekoodi vaadatakse üle ning analüüsitakse programmi loogikat, levinumaid programmeerimisvigu ja vastavust kodeerimisstandarditele.
- Fookuse testimine: Koodi tükid suunatakse isoleeritud moodulitesse ja väljundit analüüsitakse.
- Andmete analüüs: Andmete kasutamist, tõlgendamist ja manipuleerimist analüüsitakse ja valideeritakse erinevate moodulite jaoks.
- Tee ja voo testimine: Objektide õige järjestus on teostatud.
- Algoritmipõhine testimine: Konkreetse mängustsenaariumi või funktsiooni testimine, määrates koodis andmemuutujad ja andmeväärtused ning käivitades selle käituskeskkonnas.
- Tehisintellekt Analüüs: Tehisintellekti komponendi programmeeritavate liigutuste ja mängude jooksustatistika genereeritakse. Tulemust valideeritakse, et kontrollida, kas kõiki programmeeritavaid liigutusi on kasutatud. Näide: lumelaua külghaare ja sellised liigutused nagu kombineeritud löök või jalalöök mitmes suunas.
Abistav mängimine adaptiivse tehnoloogia abil
Abistavat mängimist nimetatakse ka ligipääsetavuse mängimiseks. Funktsioonid on loodud adaptiivse tehnoloogia abil inimestele, kellel on erinevad puuded, näiteks vaegnägemine, ähmane nägemine, pimedus, värvide eristamise võimetus ning kõne-, kuulmis-, kognitiivsed, motoorsed ja liikumispuudega inimesed. Kontrollimise lähenemisviis järgib samu põhimõtteid nagu juurdepääsetavuse testimine tavatarkvaras.
Cardinal Direction (CD) ja Tower of London (TOL) on kaks populaarset mängu, mis on kohandatud nägemispuudega kasutajatele. Nendes mängudes on visuaalsed stiimulid asendatud helisisenditega.
Videomängude testija peaks sellise mängu testimisel pöörama tähelepanu järgmisele:
- Värvid peaksid vilkuma mustris ja iga värvi puhul peaksid toonid mängima.
- Iga värviga peaks kaasnema kuuldav toon.
- Visuaalseid andmeid tuleb sõnadega kirjeldada, et nägemispuudega mängijatel ei tekiks probleeme nende vastuvõtmisega ekraanilugerite kaudu.
- Mängija peaks kuulma mängus helisid kolmemõõtmeliselt ning suutma maailmas navigeerida puutetundliku ekraani, 3D-heli ja ruumilise heli abil.
Mängumõõdikud, mida testija peaks teadma
Ainult testi tulemused ei ütle stuudiole, kas väljalase õnnestus. Järgnevad mõõdikud on numbrid, mida testija peaks defektiaruande kõrval lugema.
DAU/MAU (päevased aktiivsed kasutajad / igakuised aktiivsed kasutajad): Iga päev mängivate aktiivsete kasutajate ja igakuiste aktiivsete kasutajate arvu suhe. Seda nimetatakse ka kleepuvusteguriks.
Seanss: Iga kord, kui kasutaja rakenduse avab, loetakse seda seansiks. Siin on fookuses keskmine seansside arv iga DAU kohta.
Allalaadimisaste: Mängu edetabel konkreetses rakenduste poes (iOS, Android Mängi) igakuiste mängude allalaadimiste järgi.
Säilitamine: Väga oluline näitaja inimese jaoks Android tasuta mängu testija. Kasutajate lojaalsuse arvutamiseks jagage kasutajad rühmadesse rakenduse allalaadimise päeva alusel.
Toimivusmõõdikud: Need track võrgumängude või püsivate mängude jõudlus – kaadrisagedus, millega mäng kliendi riistvaraplatvormil käivitub, või mänguserveri puhul selle stabiilsus. Jõudlusmõõdikuid saab kasutada muutuvate funktsioonide ja värskenduste jälgimiseks.
Mängu testimise peamised riskid
Allpool toodud riskid muudavad tehniliselt toimiva ehituse enamasti äriliselt pettumust valmistavaks.
- Mäng ei loo sihtrühmale kaasahaaravat kogemust.
- Mängul puudub mängijakeskne disain.
- Lõbus faktor ja sõltuvust tekitav mängulisus puuduvad.
- Mäng pole ainulaadne, võistlushimuline ega kiire tempoga.
- Mäng ebaõnnestub tehniliste probleemide, katkiste funktsioonide, kriitiliste vigade, halva muusika ja heli või kehva video tõttu.
- Mängu arenduskulud ületavad eelarvet.
- Esteetiline disain ja mängulisus pole lihtsad.
