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.

  • 🔘 Kolm elutsükli etappi: Eeltootmise, tootmise ning testimise ja juurutamise etapid hõlmavad igaüks oma kontrollitoiminguid.
  • ☑️ Üheksa põhitüüpi: Standardkomplekti kuuluvad funktsionaalsuse, ühilduvuse, jõudluse, vastavuse, lokaliseerimise, säilivusaja, taastamise, turvalisuse ja mitmikmängu kontrollid.
  • Iseloomu poolest korduv: Iga uus konstruktsioon võib taas defekte tekitada, seega vaadatakse iga prototüübi puhul uuesti läbi testdokumendid.
  • 🧪 Valge kasti katvus: Code Kontroll, fookustestimine, andmeanalüüs, teekonna ja voo testimine, algoritmi ja tehisintellekti analüüs vaatavad mootori sisse.
  • Abistavad mängud: Adaptiivne tehnoloogia asendab nägemis-, kuulmis-, kognitiivsete või motoorsete häiretega mängijate puhul visuaalsed stiimulid helisignaalidega.
  • 📊 Mõõdikud on olulised: DAU/MAU, seansside arv, allalaadimiste edetabel, säilitamiskohordid ja kaadrisagedus näitavad, kas väljalase tegelikult toimib.

Mängude testimise protsess mobiili- ja lauaarvutirakendustele, mis hõlmab funktsionaalsuse, jõudluse ja vastavuse kontrolle

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.

Mänguarenduse elutsükli diagramm, mis näitab eeltootmise, tootmise, testimise ja juurutamise etappe
Mänguarenduse elutsükkel

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.

  1. Code Kontrollimine: Lähtekoodi vaadatakse üle ning analüüsitakse programmi loogikat, levinumaid programmeerimisvigu ja vastavust kodeerimisstandarditele.
  2. Fookuse testimine: Koodi tükid suunatakse isoleeritud moodulitesse ja väljundit analüüsitakse.
  3. Andmete analüüs: Andmete kasutamist, tõlgendamist ja manipuleerimist analüüsitakse ja valideeritakse erinevate moodulite jaoks.
  4. Tee ja voo testimine: Objektide õige järjestus on teostatud.
  5. Algoritmipõhine testimine: Konkreetse mängustsenaariumi või funktsiooni testimine, määrates koodis andmemuutujad ja andmeväärtused ning käivitades selle käituskeskkonnas.
  6. 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:

  1. Värvid peaksid vilkuma mustris ja iga värvi puhul peaksid toonid mängima.
  2. Iga värviga peaks kaasnema kuuldav toon.
  3. Visuaalseid andmeid tuleb sõnadega kirjeldada, et nägemispuudega mängijatel ei tekiks probleeme nende vastuvõtmisega ekraanilugerite kaudu.
  4. 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.

  1. Mäng ei loo sihtrühmale kaasahaaravat kogemust.
  2. Mängul puudub mängijakeskne disain.
  3. Lõbus faktor ja sõltuvust tekitav mängulisus puuduvad.
  4. Mäng pole ainulaadne, võistlushimuline ega kiire tempoga.
  5. Mäng ebaõnnestub tehniliste probleemide, katkiste funktsioonide, kriitiliste vigade, halva muusika ja heli või kehva video tõttu.
  6. Mängu arenduskulud ületavad eelarvet.
  7. Esteetiline disain ja mängulisus pole lihtsad.

KKK

See käivitab pärast iga versiooniuuendust uuesti eelnevalt läbinud juhtumid, et kinnitada parandust või uut funktsiooni, mis ei põhjustanud mingeid probleeme. Kuna mängude versiooniuuendused muutuvad iga päev, keskenduvad regressioonipaketid tavaliselt kõrge riskiga valdkondadele, nagu salvestusfailid, sisselogimine, paaride leidmine ja mängusisene majandus.

Masinõpperobotid mängivad üleöö tuhandeid seansse, et leida pehmeid lukustusi ja kättesaamatut geomeetriat, koondada duplikaatseid krahhiaruandeid ja märgistada visuaalseid tõrkeid renderdatud kaadreid võrreldes. Inimtestijatel on endiselt oma lõbususfaktori otsustusvõime, mida ükski mudel praegu ei asenda.

Jah, skriptitud kihi jaoks. Copilot kiirendab mootori testimisraamistike, andmepõhiste parameetrite komplektide ja logide parserite kirjutamist. See ei suuda hinnata mängu tasakaalu ega raskusastmeid, seega vajavad genereeritud testid ikkagi testijat, et määratleda, milline õige tulemus välja näeb.

Testijad mängivad ilma skriptita, proovides teadlikult veidraid järjestusi ja piire, et avastada vigu, mida kirjalikus mängus ette ei nähtud. See täiendab skriptitud mänge ja on eriti tõhus uutel tasemetel, füüsikaliste interaktsioonide ja kõige muu puhul, mis hõlmab mängija loovust.

Tüüpiline virn seob defekti tractestimishaldustööriista, mootori natiivse automatiseerimisraamistiku, GPU või CPU profiilija, võrgujagamise abilping kommunaalteenused ja reaalse seadme pilv, mis katab mobiilne testimine seadme maatriks.

Alfa tähendab, et funktsioonide komplekt on täielik, kuid toores. Beeta tähendab, et sisu on lukustatud ja fookus nihkub defektidele ja tasakaalule, sageli väliste osalejate kaasamisega. Kuldne tähendab, et versioon on avaldamiseks heaks kiidetud ja platvormi sertifitseerimiseks esitatud.

Lisage ehituse number, platvorm ja seade, täpsed taasesitamise sammud, sagedus, oodatav ja tegelik käitumine ning videoklipp logifailiga. Mängud on visuaalsed, seega lahendab lühike salvestus ebaselguse, mida kirjalikud sammud üksi harva lahendavad.

Mängude testimine otsib defekte spetsifikatsiooni alusel. Mängude testimine kogub esinduslike mängijate tagasisidet raskusastme, tempo ja naudingu kohta. Üks kaitseb korrektsust, teine ​​kaitseb atraktiivsust ja stuudio vajab enne väljaandmist mõlemat.

Võta see postitus kokku järgmiselt: