Tutorial sul test dei giochi: come testare app per dispositivi mobili/desktop
⚡ Riepilogo intelligente
Il game testing è il processo di controllo qualità applicato ai videogiochi, finalizzato a individuare difetti a livello di gameplay, grafica, audio e rete, in modo che la versione distribuita ai giocatori rimanga stabile, conforme e divertente.
Cos'è il test del gioco?
Test di gioco Il game testing è un processo di test del software utilizzato per testare i videogiochi ai fini del controllo qualità. L'obiettivo principale del game testing è identificare e scoprire difetti e bug in un videogioco e migliorarne la stabilità e le prestazioni. Il game testing è una componente dello sviluppo del gioco che contribuisce a garantire che il videogioco distribuito sia privo di bug.
Prima di comprendere appieno le singole tecniche, è utile capire dove si colloca il testing all'interno del ciclo di sviluppo più ampio.
Ciclo di vita dello sviluppo del gioco
Pre-produzione: Durante questa fase vengono elaborati l'idea di gioco, lo storyboard, le funzionalità, l'analisi dei requisiti e la documentazione. Questa fase include il documento di progettazione tecnica e le specifiche delle funzionalità, l'architettura di gioco, la sovrapposizione dei frame e l'animazione. Vengono presi in considerazione i seguenti elementi:
- Musica, telecamera (zoom avanti e indietro, replay, visuale cinematografica), giocatore e attributi di azione
- Logica di gioco, regole e condizioni per raggiungere il livello successivo
- Attivazione di oggetti ed eventi, punteggi, movimento e posizionamento del giocatore, statistiche del giocatore
- Sequenze non interattive, effetti speciali, schermate del titolo, azioni multi-pulsante
- Gamepad, clip video, effetti di urto/vibrazione, testi legali, utilizzo delle funzioni dei pulsanti, utilizzo della modalità analogica e digitale
Di seguito sono illustrate le tre fasi e le attività che si svolgono all'interno di ciascuna di esse.

Produzione: Durante questa fase si procede alla programmazione vera e propria. Questa fase comprende la codifica e l'integrazione dei vari moduli.
Test e distribuzione: Durante questa fase vengono eseguiti test funzionali, test di regressione e le milestone Alpha, Beta e Gold. Vengono inoltre effettuati test di copertura e di flusso, di integrità dei dati, test specifici per gli algoritmi, test di percorso e test incrementali utilizzando strumenti di test per giochi per dispositivi mobili.
In che modo il test dei giochi si differenzia dagli altri test del software?
Testare i giochi è un processo ripetitivo: ogni nuova versione può contenere bug e deve essere testata a fondo.
Tutti i test sui videogiochi seguono una struttura di base, indipendentemente dalle dimensioni del gioco e dal tempo necessario per la sua produzione.
Il professionista del controllo qualità deve studiare le regole e i requisiti del gioco e comprendere l'architettura complessiva dei componenti del gioco, l'architettura dei file, il flusso, le strutture dei file e le dipendenze associate al gioco. Ad ogni nuovo prototipo del gioco, la documentazione di test deve essere rivista per riflettere eventuali modifiche alle specifiche, nuovi casi di test e nuove configurazioni supportate. Un tester di videogiochi deve inoltre assicurarsi che non siano stati introdotti nuovi problemi.
I lavori di tester di videogiochi includono:
- Classificare i requisiti in base allo scopo previsto e al pubblico di destinazione.
- Identificare i requisiti dell'utente e del sistema e classificarli in requisiti funzionali, non funzionali e di dominio.
- Identificare gli elementi testabili, gli elementi non testabili, gli obiettivi e le misure per i requisiti funzionali e non funzionali.
- Verificare che i requisiti funzionali siano completi, coerenti e comprensibili.
- Identificare i requisiti personalizzabili e i requisiti contrastanti.
- Identificare i requisiti interdipendenti, che è uno dei compiti principali del collaudo dei videogiochi.
- Assegnare priorità ai requisiti in base a unicità, complessità e criticità.
- Identifica il tema del gioco, i personaggi, l'animazione, l'intelligenza artificiale, le sequenze cinematiche, l'inquadratura della telecamera e il gameplay.
Se vuoi diventare un tester di videogiochi, ecco un tutorial gratuito che vale la pena consultare: Come diventare un tester di videogiochi.
Tipi di test di gioco
Di seguito sono elencate le tecniche di test più diffuse per i videogiochi. Ognuna si concentra su una diversa tipologia di difetti e, di norma, un titolo pronto per la pubblicazione le supera tutte, anziché sceglierne una sola.
1) Test Funzionali
I tester QA di funzionalità cercano problemi generici all'interno del gioco o della sua interfaccia utente e grafica, come problemi di meccanica di gioco, problemi di stabilità e integrità delle risorse di gioco. Il test dell'interfaccia utente garantisce la facilità d'uso del gioco. Questa è la stessa disciplina di test funzionali in qualsiasi altra applicazione, applicata alle regole di gioco anziché alle regole aziendali.
Esempio: Il test include la verifica di colori e sfondi, struttura dei menu, orientamento e risoluzione dello schermo, dimensioni dei caratteri, errori di allineamento, usabilità, navigazione del sistema (ad esempio, tempi di caricamento, timeout e visualizzazione), ordinamento, messaggi di conferma, sequenze, animazioni ed elementi audio del gioco, istruzioni e messaggi di dialogo. Comprende inoltre interazioni con l'utente, interfacce utente, test delle transazioni, test di calibrazione e precisione delle fotocamere dei telefoni cellulari, risoluzioni dello schermo, test di responsive design per dispositivi mobili e test di qualità audio.
2) Test di compatibilità
Verificare la compatibilità del gioco con diversi dispositivi e configurazioni hardware e software. Un'ampia copertura dei dispositivi è più importante per i giochi che per la maggior parte delle applicazioni, perché i driver della GPU e le proporzioni dello schermo influenzano il modo in cui il titolo viene visualizzato. Vedi test di compatibilità per la tecnica generale.
Esempio: Installa e disinstalla il gioco su tutte le console, i computer desktop e i dispositivi mobili supportati.
3) Test delle prestazioni
Le prestazioni complessive del gioco vengono controllate. L'ottimizzazione delle prestazioni viene eseguita per ottimizzare la velocità del gioco. La pratica più ampia è trattata in test delle prestazionie l'angolo specifico del dispositivo mobile in test delle prestazioni delle app mobili.
Parametri importanti verificati durante i test di prestazione:
- Tempo di risposta su client e server, tempi di completamento delle transazioni, prestazioni di picco, longevità, copertura di rete, perdite di memoria, memoria insufficiente, batteria scarica, tempo impiegato per scaricare l'applicazione, accesso simultaneo (multiutente) al server dell'applicazione, velocità, throughput, affidabilità e scalabilità.
- Consumo della batteria e prestazioni grafiche: Misura il consumo della batteria del gioco per dispositivi mobili. Il consumo della batteria deve essere ottimale per lunghe ore di utilizzo e la reattività del gioco deve essere soddisfacente anche con carichi di lavoro variabili su diversi dispositivi.
- Vincoli relativi al processore e alla memoria: I contatori di prestazioni vengono utilizzati per misurare il consumo di CPU e memoria dell'applicazione.
- Connettività di rete: Misura il tempo di risposta del gioco per dispositivi mobili su diversi tipi di rete (Wi-Fi, 3G, 4G, 5G). Fornisce una panoramica generale delle prestazioni del gioco su reti instabili e verifica la connettività tra dispositivi mobili, data center e cloud. Vengono monitorati i picchi di traffico, le connessioni instabili, la duplicazione dei dati, la perdita di pacchetti e la frammentazione dei dati.
- Test delle prestazioni dei giochi per dispositivi mobili, in particolare per i titoli MMO.
4) Test di conformità/rispetto delle norme
Questo include la conformità alle linee guida del marketplace (ad esempio, le norme dell'Apple App Store) e la conformità alle politiche aziendali (ad esempio, i contenuti proibiti). La conformità può anche riferirsi a organismi di regolamentazione come PEGI ed ESRB. Il gioco è destinato a una specifica classificazione dei contenuti e, se sono presenti contenuti discutibili e inappropriati per la classificazione desiderata, questi vengono identificati e segnalati. Anche una singola violazione nella richiesta di approvazione della licenza può comportare il rifiuto del gioco, con conseguenti costi aggiuntivi per ulteriori test e una nuova presentazione.
Esempio: Se il gioco deve essere pubblicato nei paesi europei, testare la conversione PAL; se il gioco è prodotto per il Nord America, testare la conversione NTSC.
5) Test di localizzazione
Test di localizzazione Diventa essenziale quando un gioco è destinato ai mercati globali. Titoli, contenuti e testi del gioco devono essere tradotti e testati su dispositivi in diverse lingue. Questi test possono essere eseguiti rapidamente grazie all'accesso ai dispositivi tramite cloud e all'automazione dei test.
Esempio: Esigenze di localizzazione specifiche per la regione MENA (Medio Oriente/Nord Africa), localizzazione in arabo (supporto per testo da destra a sinistra, visualizzazione bidirezionale), test di pseudo-localizzazione, caratteri a doppio byte per le lingue dell'Asia orientale, ora e data locali, valuta, formati degli indirizzi e altri requisiti locali.
6) Test di immersione
Questa tecnica di test automatizzato per i giochi prevede di lasciare il gioco in esecuzione per un periodo prolungato in varie modalità operative, ad esempio inattivo, in pausa o bloccato sulla schermata del titolo. Questo tipo di test prolungato può identificare perdite di memoria o errori di arrotondamento.
Esempio: Il gioco è iniziato e il personaggio viene lasciato inattivo per 24 ore. Questa tecnica viene utilizzata per rilevare i crash causati da perdite di memoria e altri difetti nel motore di gioco.
7) Test di ripristino
Nel software, test di recupero Verifica l'efficacia con cui l'applicazione si riprende da arresti anomali, guasti hardware e altri malfunzionamenti simili. L'applicazione viene forzata a fallire e si osserva come si riprende dalle condizioni di errore e dall'ambiente circostante.
Esempio: Mentre un'applicazione di gioco è in esecuzione, riavvia improvvisamente la console e verifica l'integrità dei dati.
8) Test di sicurezza
I test di sicurezza vengono eseguiti per verificare il funzionamento sicuro del software in presenza di minacce esterne. Comprendono la protezione dei dati da minacce esterne, restrizioni incontrollate all'accesso al sistema, violazioni dei dati, vulnerabilità del sistema operativo, falle nei sistemi di comunicazione e algoritmi di crittografia deboli.
Esempio: Modifica di un file URL Il passaggio da /login a /play su un sito di giochi non dovrebbe consentire l'accesso diretto ai giochi.
9) Test di altri giochi
Test di personaggi reali o virtuali. Nei videogiochi multigiocatore, la connettività al server e la sincronizzazione dello stato del gioco sono due aree critiche da testare.
Esempio: Giochi di corse 3D multiplayer.
Test di nuove funzionalità come aggiornamenti dello stato di gioco, inviti agli amici e condivisione di regali premium. Questo garantisce un'esperienza di gioco ricca e coinvolgente per l'utente.
Esempio: Facebook, blog.
Prova del suono
Verificare la presenza di errori nel caricamento dei file, ascoltare i file audio per individuare errori o distorsioni e utilizzare un profiler CC per analizzare il commento a colori.
Statistiche del database e del gioco
Verifica del database tramite debug per accertare che il gioco utilizzi correttamente i dati. Assicurarsi che i dati vengano caricati nella posizione corretta e che mostrino le informazioni esatte.
Test white-box
I test white-box per i giochi si concentrano sugli aspetti architetturali, di integrazione e di sistema del gioco per dispositivi mobili.
- Code Ispezione: Il codice sorgente viene esaminato e vengono analizzati la logica del programma, gli errori di programmazione più comuni e la conformità agli standard di codifica.
- Test di messa a fuoco: Frammenti di codice vengono forniti ai moduli isolati e l'output viene analizzato.
- Analisi dei dati: L'utilizzo, l'interpretazione e la manipolazione dei dati vengono analizzati e validati per i diversi moduli.
- Test del percorso e del flusso: Viene eseguita la sequenza corretta degli oggetti.
- Test specifici per l'algoritmo: Testare uno scenario o una funzionalità specifica di un gioco impostando variabili e valori di dati nel codice ed eseguendolo nell'ambiente di runtime.
- Intelligenza Artificiale Analisi: Vengono generate le statistiche di esecuzione delle mosse e delle azioni programmabili del componente AI. Il risultato viene convalidato per verificare che tutte le mosse programmabili siano state utilizzate. Esempio: una presa laterale sullo snowboard e azioni come una combinazione di pugni o calci in movimento multidirezionale.
Gioco assistivo utilizzando la tecnologia adattiva
Il gioco assistivo è anche noto come gioco accessibile. Le funzionalità sono progettate utilizzando la tecnologia adattiva per individui con varie disabilità come ipovisione, visione offuscata, cecità, incapacità di distinguere i colori e disabilità del linguaggio, dell'udito, cognitive, motorie e della mobilità. L'approccio di verifica segue gli stessi principi di test di accessibilità nei software più diffusi.
Cardinal Direction (CD) e Tower of London (TOL) sono due giochi popolari che sono stati modificati per utenti ipovedenti. In questi giochi, gli stimoli visivi sono sostituiti da input audio.
Un tester di videogiochi dovrebbe tenere conto dei seguenti aspetti durante il test di un gioco di questo tipo:
- I colori dovrebbero lampeggiare secondo uno schema preciso e per ogni colore dovrebbero essere riprodotti dei toni.
- Ogni colore dovrebbe essere accompagnato da un tono udibile.
- I dati visivi devono essere descritti a parole in modo che i giocatori ipovedenti non abbiano difficoltà a riceverli tramite i lettori di schermo.
- Il giocatore deve poter udire i suoni del gioco in tre dimensioni e deve essere in grado di navigare nel mondo utilizzando il touchscreen, l'audio 3D e il suono spazializzato.
Metriche di gioco che un tester dovrebbe conoscere
I soli risultati dei test non bastano a dire a uno studio se una release ha avuto successo. Le seguenti metriche sono i dati che un tester dovrebbe leggere insieme al report dei difetti.
DAU/MAU (utenti attivi giornalieri / utenti attivi mensili): Il rapporto tra il numero di utenti attivi giornalieri e il numero di utenti attivi mensili. Viene anche comunemente definito fattore di fidelizzazione.
Sessione: Ogni volta che un utente apre l'app, viene conteggiata una sessione. Qui l'attenzione si concentra sul numero medio di sessioni per utente attivo giornaliero (DAU).
Scarica la classifica: La posizione di un gioco in un particolare app store (iOS, Android Gioca) in base ai download mensili dei giochi.
Ritenzione: Una metrica molto importante per un Android Tester di un gioco free-to-play. Per calcolare la fidelizzazione, suddividi gli utenti in coorti in base al giorno in cui l'applicazione è stata scaricata.
Metriche delle prestazioni: Alcuni degli track le prestazioni dei giochi online o persistenti: il frame rate con cui un gioco viene eseguito su una piattaforma hardware client o, nel caso di un server di gioco, la sua stabilità. Le metriche delle prestazioni possono essere utilizzate per monitorare le modifiche alle funzionalità e gli aggiornamenti.
Rischi chiave nei test dei giochi
I rischi elencati di seguito spesso trasformano un progetto tecnicamente funzionante in un prodotto commercialmente deludente.
- Il gioco non offre un'esperienza coinvolgente al pubblico di riferimento.
- Il gioco non ha un design incentrato sul giocatore.
- Mancano il divertimento e la giocabilità avvincente.
- Il gioco non è unico, competitivo o dal ritmo incalzante.
- Il gioco fallisce a causa di problemi tecnici, funzionalità difettose, bug critici, musica e audio scadenti o video di bassa qualità.
- I costi di sviluppo del gioco hanno superato il budget previsto.
- Il design estetico e il gameplay non sono affatto semplici.
