Tutorial de testare a jocurilor: Cum să testezi aplicații mobile/desktop

⚡ Rezumat inteligent

Testarea jocurilor este procesul de control al calității aplicat jocurilor video, care vizează găsirea defectelor în gameplay, grafică, audio și rețea, astfel încât versiunea livrată jucătorilor să rămână stabilă, conformă și plăcută.

  • 🔘 Trei etape ale ciclului de viață: Preproducția, producția, testarea și implementarea au fiecare propriile activități de verificare.
  • ☑️ Nouă tipuri de nuclee: Verificările funcționale, de compatibilitate, de performanță, de conformitate, de localizare, de absorbție, de recuperare, de securitate și pentru jucători multipli formează suita standard.
  • Repetitiv prin natura sa: Fiecare versiune nouă poate reintroduce defecte, așa că documentele de testare sunt revizuite odată cu fiecare prototip.
  • 🧪 Acoperire de tip „box albă”: Code Inspecția, testarea focalizării, analiza datelor, testarea traseului și a fluxului, algoritmul și analiza AI analizează interiorul motorului.
  • Jocuri asistate: Tehnologia adaptivă înlocuiește stimulii vizuali cu indicii audio pentru jucătorii cu deficiențe de vedere, auz, cognitive sau motorii.
  • 📊 Metricile contează: DAU/MAU, numărul de sesiuni, clasamentul descărcărilor, cohortele de retenție și rata de cadre pe secundă cuantifică dacă versiunea funcționează cu adevărat.

Proces de testare a jocurilor pentru aplicații mobile și desktop, acoperind verificări funcționale, de performanță și de conformitate

Ce este testarea jocurilor?

Testarea jocului este un proces de testare software pentru testarea jocurilor video pentru controlul calității. Scopul principal al testării jocurilor este de a identifica și descoperi defecte și erori într-un joc video și de a îmbunătăți stabilitatea și performanța acestuia. Testarea jocurilor este o componentă a dezvoltării jocurilor care ajută la asigurarea că jocul video implementat este lipsit de erori.

Înainte ca tehnicile individuale să aibă sens, este util să vedem unde se situează testarea în cadrul ciclului mai larg de dezvoltare.

Ciclul de viață al dezvoltării jocului

Pre productie: În această etapă se produc ideea jocului, storyboard-ul, caracteristicile, analiza cerințelor și documentația. Această fază include documentul de design tehnic și specificațiile caracteristicilor, arhitectura jocului, suprapunerea cadrelor și animația. Sunt luate în considerare următoarele elemente:

  • Muzică, cameră (mărire și micșorare, reluare, vizualizare cinematică), atribute jucător și acțiune
  • Logica, regulile și condițiile fluxului de joc pentru atingerea nivelului următor
  • Declanșatoare de obiecte și evenimente, scoruri, mișcarea și poziționarea jucătorului, statistici ale jucătorului
  • Secvențe non-interactive, efecte speciale, ecrane de titlu, acțiuni cu mai multe butoane
  • Gamepad, clip video, efecte de șoc/vibrații, texte legale, utilizarea funcțiilor butoanelor, utilizarea modului analogic și digital

Cele trei etape și activitățile din cadrul fiecăreia dintre ele sunt prezentate mai jos.

Diagrama ciclului de viață al dezvoltării jocurilor care prezintă etapele de preproducție, producție, testare și implementare
Ciclul de viață al dezvoltării jocului

De producție: În această etapă se realizează codarea propriu-zisă. Această fază include codarea și integrarea diferitelor module.

Testare și implementare: În această etapă se efectuează teste funcționale, teste de regresie și etapele Alpha, Beta și Gold. Testarea acoperirii și a fluxurilor, integritatea datelor, testarea specifică algoritmului, testarea căii și testarea incrementală se realizează, de asemenea, folosind instrumente de testare a jocurilor mobile.

Cum diferă testarea jocurilor de alte teste software

Testarea jocurilor este un proces repetitiv — fiecare versiune nouă poate avea erori și trebuie testată temeinic.

Toate testele de jocuri urmează o structură de bază, indiferent de dimensiunea jocului și de timpul necesar pentru producerea acestuia.

Profesionistul în asigurarea calității trebuie să studieze regulile și cerințele jocului și să înțeleagă arhitectura generală a componentelor jocului, arhitectura fișierelor, fluxul, structurile fișierelor și dependențele asociate jocului. Cu fiecare prototip nou al jocului, documentele de testare trebuie revizuite pentru a reflecta orice modificare a specificațiilor, noi cazuri de testare a jocului și noi configurații suportate. Un tester de jocuri video ar trebui, de asemenea, să se asigure că nu au fost introduse probleme noi.

Posturile de tester de jocuri implică:

  • Clasificați cerințele în funcție de scopul vizat și publicul țintă.
  • Identificați cerințele utilizatorului și ale sistemului și clasificați-le în cerințe funcționale, nefuncționale și de domeniu.
  • Identificați elementele testabile, elementele netestabile, țintele și măsurile pentru cerințele funcționale și nefuncționale.
  • Verificați dacă cerințele funcționale sunt complete, consecvente și inteligibile.
  • Identificați cerințele personalizabile și cerințele conflictuale.
  • Identificați cerințele interdependente, care este una dintre sarcinile principale de testare a jocurilor.
  • Prioritizați cerințele în funcție de unicitate, complexitate și importanță.
  • Identifică tema jocului, personajele, animația, inteligența artificială, elementele cinematice, vizualizarea camerei și modul de joc.

Dacă vrei să devii tester de jocuri video, iată un tutorial gratuit pe care merită să-l vezi: Cum să devii un tester de jocuri video.

Tipuri de testare a jocurilor

Mai jos sunt prezentate tehnicile populare de testare a jocurilor. Fiecare vizează o clasă diferită de defecte, iar un titlu gata de lansare trece în mod normal prin toate, în loc să aleagă între ele.

1) Testare funcțională

Testerii QA ai funcționalității caută probleme generice în joc sau în interfața utilizator și grafica acestuia, cum ar fi probleme legate de mecanica jocului, probleme de stabilitate și integritatea elementelor din joc. Testarea interfeței utilizator asigură ușurința în utilizare a jocului. Aceasta este aceeași disciplină ca și testarea funcțională în orice altă aplicație, aplicată regulilor de joc în loc de regulilor de afaceri.

Exemplu: Verificarea culorilor și fundalurilor, a structurii meniurilor, a orientării ecranului și a rezoluției ecranului, a dimensiunii fontului, a erorilor de aliniere, a utilizabilității, a navigației în sistem, cum ar fi timpul de încărcare, timeout-ul și afișarea, sortarea, mesajele de confirmare, secvențele, animația și elementele audio ale jocului, instrucțiunile și mesajele de dialog. De asemenea, acoperă interacțiunile cu utilizatorii, interfețele cu utilizatorii, testarea tranzacțiilor, calibrarea și testarea preciziei camerelor telefoanelor mobile, rezoluțiile ecranului, testarea designului responsiv pentru dispozitive mobile și testarea calității audio.

2) Testare de compatibilitate

Verificarea compatibilității jocului pe diferite dispozitive și pe diferite configurații hardware și software. Acoperirea largă a dispozitivelor este mai importantă pentru jocuri decât pentru majoritatea aplicațiilor, deoarece driverele GPU și raporturile de aspect ale ecranului modifică modul în care se redă titlul. Consultați testarea de compatibilitate pentru tehnica generală.

Exemplu: Instalați și dezinstalați jocul pe toate consolele, desktop-urile și mobilele compatibile.

3) Testarea performanței

Performanța generală a jocului este verificată. Reglarea performanței este efectuată pentru a optimiza viteza jocului. Practica mai amplă este acoperită în test de performantași unghiul specific mobilului în testarea performanței aplicației mobile.

Parametri importanți verificați în timpul testelor de performanță:

  • Timpul de răspuns pe client și servere, timpii de finalizare a tranzacțiilor, performanța la încărcare maximă, longevitatea, acoperirea rețelei, pierderile de memorie, memoria slabă, bateria slabă, timpul necesar pentru descărcarea aplicației, accesul simultan (mai mulți utilizatori) la serverul de aplicații, viteza, debitul, fiabilitatea și scalabilitatea.
  • Consumul bateriei și performanța grafică: Măsurați consumul bateriei jocului mobil. Consumul bateriei trebuie să fie optim pe parcursul unor ore lungi de utilizare, iar răspunsurile jocului ar trebui să fie satisfăcătoare în condiții de sarcini variabile pe diferite dispozitive.
  • Restricții legate de procesor și memorie: Contoarele de performanță sunt utilizate pentru a măsura consumul de CPU și memorie al aplicației.
  • Conectivitate la rețea: Măsoară timpul de răspuns al jocului mobil pe diferite tipuri de rețele (Wi-Fi, 3G, 4G, 5G). Oferă o imagine de ansamblu asupra performanței jocului pe rețele nesigure și verifică, de asemenea, conectivitatea dintre dispozitivele mobile, centrele de date și cloud. Sunt monitorizate orele de vârf, conexiunile instabile, duplicarea datelor, pierderea pachetelor și fragmentarea datelor.
  • Testarea performanței jocurilor mobile, în special pentru titlurile MMO.

4) Testarea conformității / conformității

Aceasta acoperă conformitatea cu directivele pieței (de exemplu, politicile Apple App Store) și conformitatea cu politicile întreprinderii (de exemplu, conținutul interzis). Conformitatea se poate referi și la organismele de reglementare precum PEGI și ESRB. Jocul vizează o anumită clasificare a conținutului, iar dacă există conținut inacceptabil, neadecvat pentru clasificarea dorită, acesta este identificat și raportat. Chiar și o singură încălcare într-o trimitere pentru aprobarea licenței poate duce la respingerea jocului, implicând costuri suplimentare pentru testarea și retrimiterea acestuia.

Exemplu: Dacă jocul urmează să fie publicat în țări europene, testați pentru conversia PAL; dacă jocul este produs pentru America de Nord, testați pentru conversiile NTSC.

5) Testarea localizării

Testare de localizare devine esențial atunci când un joc este destinat piețelor globale. Titlurile, conținutul și textele jocurilor trebuie traduse și testate pe dispozitive în mai multe limbi. Aceste teste pot fi efectuate rapid cu ajutorul accesului la dispozitive bazat pe cloud și al automatizării testelor.

Exemplu: Nevoi de localizare specifice regiunii MENA (Orientul Mijlociu / Africa de Nord), localizare în arabă (suport pentru text de la dreapta la stânga, afișaje bidirecționale), testare pseudo-localizare, caractere pe doi octeți pentru limbile est-asiatice, ora și data locale, moneda, formatele de adresă și alte cerințe locale.

6) Testarea prin imersie

Această tehnică de testare a automatizării jocurilor implică lăsarea jocului să ruleze pentru o perioadă prelungită în diferite moduri de funcționare - de exemplu, în repaus, pauză sau în fața ecranului de titlu. Testarea automată a jocului poate identifica pierderi de memorie sau erori de rotunjire.

Exemplu: Jocul a început și personajul este lăsat să stea inactiv timp de 24 de ore. Această tehnică este folosită pentru a detecta blocările cauzate de scurgeri de memorie și alte erori ale motorului jocului.

7) Testarea recuperării

În software, testarea de recuperare verifică cât de bine se recuperează aplicația după blocări, defecțiuni hardware și alte defecțiuni similare. Aplicația este forțată să dea greș, apoi se observă cum se recuperează după condițiile de defecțiune și mediul înconjurător.

Exemplu: În timp ce rulează o aplicație de jocuri, reporniți brusc consola de jocuri și validați integritatea datelor.

8) Testare de securitate

Testarea securității este efectuată pentru a verifica cât de sigur funcționează software-ul atunci când este expus la amenințări externe. Aceasta acoperă protecția datelor împotriva amenințărilor externe, restricțiilor de acces necontrolat la sistem, încălcărilor de date, defectelor sistemului de operare, defectelor sistemului de comunicații și algoritmilor de criptare slabi.

Exemplu: Schimbarea unui URL de la /login la /play pe un site de jocuri nu ar trebui să permită accesul direct la jocuri.

9) Testarea altor jocuri

Testarea personajelor reale sau virtuale. În jocurile video multiplayer, conectivitatea la server și sincronizarea stării jocului sunt două domenii critice care trebuie testate.

Exemplu: Jocuri de curse 3D multiplayer.

Testarea unor noi funcții, cum ar fi actualizări ale stării jocului, invitații la prieteni și partajarea de cadouri premium. Acest lucru asigură o experiență de joc bogată pentru utilizator.

Exemplu: Facebook, bloguri.

Testarea sunetului

Testarea pentru a identifica eventuale erori la încărcarea fișierelor, ascultarea fișierelor audio pentru erori sau distorsiuni și utilizarea unui profiler CC pentru a analiza comentariile de culoare.

Statistici de bază de date și joc

Verificarea bazei de date folosind depanarea pentru a investiga dacă jocul folosește corect datele. Asigurați-vă că datele sunt încărcate în locul corect și afișează informațiile corecte.

Testarea în cutie albă

Testarea în cutie albă pentru jocuri se concentrează pe aspectele arhitecturale, de integrare și de sistem ale jocului mobil.

  1. Code inspecţie: Codul sursă este revizuit și sunt analizate logica programului, erorile comune de programare și conformitatea cu standardele de codare.
  2. Testarea focalizării: Bucăți de cod sunt transmise modulelor izolate, iar rezultatul este analizat.
  3. Analiza datelor: Utilizarea, interpretarea și manipularea datelor sunt analizate și validate pentru diferitele module.
  4. Testarea traseului și a fluxului: Se execută secvența corectă de obiecte.
  5. Testare specifică algoritmului: Testarea unui anumit scenariu sau a unei anumite caracteristici de joc prin setarea variabilelor de date și a valorilor de date în cod și executarea acestuia în mediul de execuție.
  6. Inteligența artificială Analiză: Sunt generate statisticile de alergare ale mișcărilor și acțiunilor programabile ale componentei AI. Rezultatul este validat pentru a verifica dacă sunt utilizate toate mișcările programabile. Exemplu: o priză laterală pe placa de snowboard și acțiuni precum o combinație de lovitură de pumn sau de picior în acțiune multidirecțională.

Joc de asistență folosind tehnologie adaptivă

Jocurile asistate sunt cunoscute și sub denumirea de jocuri accesibile. Funcțiile sunt concepute folosind tehnologie adaptivă pentru persoanele cu diverse dizabilități, cum ar fi vedere slabă, vedere încețoșată, orbire, incapacitatea de a distinge culorile și deficiențe de vorbire, auz, cognitive, motorii și de mobilitate. Abordarea de verificare urmează aceleași principii ca și testarea accesibilității în software-ul mainstream.

Cardinal Direction (CD) și Tower of London (TOL) sunt două jocuri populare care au fost modificate pentru utilizatorii cu deficiențe de vedere. În aceste jocuri, stimulii vizuali sunt înlocuiți cu intrări audio.

Un tester de jocuri video ar trebui să ia în considerare următoarele atunci când testează un astfel de joc:

  1. Culorile ar trebui să clipească într-un model, iar tonurile ar trebui să se joace pentru fiecare culoare.
  2. Fiecare culoare ar trebui să fie însoțită de un ton audibil.
  3. Datele vizuale trebuie descrise în cuvinte, astfel încât jucătorii cu deficiențe de vedere să nu întâmpine probleme în recepționarea lor prin intermediul cititoarelor de ecran.
  4. Jucătorul ar trebui să audă sunete în joc în trei dimensiuni și trebuie să poată naviga prin lume folosind ecranul tactil, sunetul 3D și sunetul spațializat.

Metrici de joc pe care un tester ar trebui să le cunoască

Rezultatele testelor în sine nu spun unui studio dacă o lansare a avut succes. Următoarele valori sunt numerele pe care un tester ar trebui să le citească alături de raportul de defecte.

DAU/MAU (utilizatori activi zilnic / utilizatori activi lunar): Raportul dintre utilizatorii activi care joacă zilnic și numărul de utilizatori activi lunar. Este, de asemenea, denumit în mod obișnuit factor de fidelitate.

Sesiune: De fiecare dată când un utilizator deschide aplicația, aceasta este contorizată ca o sesiune. Aici, accentul se pune pe numărul mediu de sesiuni per DAU.

Clasament de descărcare: Clasamentul unui joc într-un anumit magazin de aplicații (iOS, Android Play) prin descărcări lunare de jocuri.

Retenţie: O metrică foarte importantă pentru un Android tester de jocuri pentru un joc gratuit. Pentru a calcula retenția, separați utilizatorii în grupuri în funcție de ziua în care a fost descărcată aplicația.

Valori de performanță: Acestea track performanța jocurilor online sau persistente — rata de cadre pe secundă la care se execută un joc pe o platformă hardware client sau, în cazul unui server de jocuri, stabilitatea sa. Indicatorii de performanță pot fi utilizați pentru a monitoriza funcțiile și actualizările în schimbare.

Riscuri cheie în testarea jocurilor

Riscurile de mai jos transformă cel mai adesea o versiune funcțională din punct de vedere tehnic într-una dezamăgitoare din punct de vedere comercial.

  1. Jocul nu creează o experiență captivantă pentru publicul țintă.
  2. Jocul nu are un design centrat pe jucător.
  3. Lipsește factorul distractiv și gameplay-ul captivant.
  4. Jocul nu este unic, competitiv sau rapid.
  5. Jocul eșuează din cauza unor probleme tehnice, funcții defecte, erori critice, muzică și sunet proaste sau videoclipuri slabe.
  6. Costul dezvoltării jocurilor depășește bugetul.
  7. Designul estetic și gameplay-ul nu sunt simple.

Întrebări frecvente

Rulează din nou cazurile trecute anterior după fiecare versiune de joc pentru a confirma că o corecție sau o nouă funcționalitate nu a defectat nimic. Deoarece versiunile de joc se schimbă zilnic, suitele de regresie se concentrează de obicei pe domenii cu risc ridicat, cum ar fi fișierele de salvare, autentificarea, matchmaking-ul și economia din joc.

Roboții de învățare automată rulează mii de sesiuni peste noapte pentru a găsi blocări soft și geometrii inaccesibile, a grupa rapoarte de erori duplicate și a semnala erori vizuale prin compararea cadrelor randate. Testerii umani încă dețin o judecată bazată pe factorul de distracție, pe care niciun model nu o înlocuiește în prezent.

Da, pentru stratul scriptat. Copilot accelerează scrierea seturilor de teste pentru motor, a seturilor de parametri bazate pe date și a parserelor de jurnale. Nu poate evalua echilibrul gameplay-ului sau curbele de dificultate, așa că testele generate au nevoie în continuare de un tester pentru a defini cum arată un rezultat corect.

Testerii joacă fără un script, încercând în mod deliberat secvențe și limite ciudate pentru a descoperi erori, fără a fi anticipate dovezi scrise. Completează rulările scriptate și este deosebit de eficient la niveluri noi, interacțiuni fizice și orice implică creativitatea jucătorului.

O stivă tipică împerechează un defect tracker cu un instrument de gestionare a testelor, un framework de automatizare nativ pentru motor, un profiler GPU sau CPU, partajare de rețeaping utilități și un cloud pentru dispozitive reale care să acopere testarea mobilă matricea dispozitivului.

Versiunea Alpha înseamnă că setul de funcții este complet, dar brut. Versiunea Beta înseamnă că conținutul este blocat, iar accentul se mută pe defecte și echilibrare, adesea cu participarea unor jucători externi. Versiunea Gold înseamnă că versiunea este aprobată pentru lansare și trimisă pentru certificarea platformei.

Includeți numărul de versiune, platforma și dispozitivul, pașii exacți de reproducere, frecvența, comportamentul așteptat față de cel real și un videoclip cu fișierul jurnal. Jocurile sunt vizuale, așa că o înregistrare scurtă rezolvă ambiguitățile pe care pașii scriși singuri rareori le rezolvă.

Testarea jocurilor identifică defectele conform unei specificații. Testarea jocurilor colectează feedback de design de la jucători reprezentativi cu privire la dificultate, ritm și plăcere. Una protejează corectitudinea, cealaltă protejează atractivitatea, iar un studio are nevoie de ambele înainte de lansare.

Rezumați această postare cu: