Test (videogioco)

Il test nel mondo dei videogiochi , in particolare il software di test sul campo , è una pratica per valutare la funzionalità di un videogioco. Questo test può essere effettuato durante lo sviluppo del gioco con l'obiettivo di ricercare eventuali malfunzionamenti o miglioramenti necessari (effettuato da tester in versione alpha o in beta test aperto o chiuso). Diverse tecniche consentono di identificare la presenza di bug per correggerli. I videogiochi vengono anche testati durante il marketing dai giornalisti per valutarne la qualità e il contenuto.

Particolarità del test del videogioco

Le tecniche di test automatico non funzionano nel campo dei videogiochi perché la maggior parte dei videogiochi fa parte di software con caratteristiche emergenti, una categoria specifica di software in cui le informazioni restituite dal sistema non sono prevedibili. In effetti, la chiave del successo di un videogioco è sorprendere il giocatore.

Di conseguenza, i test sono difficili da impostare nei videogiochi perché richiedono la conoscenza di tutti i dati di input e degli output corrispondenti e questi output sono per definizione imprevedibili. Anche se si potessero enumerare tutti i possibili input e output, la capacità degli sviluppatori di eseguire test che coprano tutti questi stati diminuisce in modo esponenziale. Gli ingegneri sono sempre meno in grado di prevedere i risultati di un sistema e la loro capacità di verificare e convalidare il software sarà notevolmente ridotta.

Ci sono anche domande (soprattutto a livello di progettazione) che non possono corrispondere a uno unit test (es: “il 90% dei giocatori finisce il gioco in meno di 5 minuti?”).

L'attuale metodologia di test dei videogiochi richiede strutturalmente il reclutamento di centinaia di tester umani che giocheranno a diverse versioni del gioco durante il processo di sviluppo al fine di rilevare i vari bug e consentire agli sviluppatori di correggerli.

Differenze con i classici test del software

I videogiochi sono software speciali, e quindi devono anche rispettare i vincoli riguardanti le funzionalità richieste, il budget e il tempo pur fornendo una qualità accettabile. Tuttavia, non hanno gli stessi obiettivi e priorità del software tradizionale. In effetti, gli sviluppatori di videogiochi cercano piuttosto di intrattenere e divertire l'utente. È anche un campo creativo che tocca le emozioni del giocatore e cerca di dargli soddisfazione. A causa delle differenze osservate tra i videogiochi e il software tradizionale, tutti i test saranno quindi diversi.

Possiamo evidenziare alcune differenze principali:

I videogiochi avranno quindi una preferenza per i test di usabilità e i "test esplorativi"  (in) .

Classificazione dei bug nei videogiochi

Non esiste una classificazione ufficiale e standard dei bug presenti nei videogiochi, ma esiste una tassonomia che consente di classificare i bug in due categorie: bug senza tempo, che possono comparire in qualsiasi momento nel gioco, e bug temporali, che richiedono la conoscenza lo stato precedente del gioco per riconoscere il bug.

Bug senza tempo

Bug temporali

Rilevamento e correzione automatici dei bug

Al fine di accelerare la fase di test nello sviluppo di videogiochi, sono stati avanzati approcci di automazione dei test.

Rilevamento di bug

Gli studi hanno dimostrato la possibilità di rilevare problemi in fase di esecuzione . In effetti, i programmi per videogiochi hanno delle somiglianze: sono orientati agli oggetti e hanno un loop di gioco.

Sappiamo che un giro in loop cambia atomicamente lo stato del gioco: all'avvio, il loop viene avviato e attende l'input del giocatore. Ad ogni azione dell'utente, i dati vengono elaborati, lo stato del gioco viene modificato e il risultato viene restituito al giocatore. Quando la fase di gioco è finita, il loop viene distrutto.

Monitorando l'ambiente di runtime, è possibile rilevare dinamicamente i problemi durante un ciclo attraverso vincoli e condizioni. Pertanto, i problemi che potrebbero essere passati inosservati da un tester vengono rilevati e possono quindi essere corretti.

Risoluzione del problema

È anche possibile, secondo alcuni studi, correggere in fase di esecuzione i problemi rilevati. Quando una condizione non viene soddisfatta, il valore che viola questo vincolo può essere modificato dinamicamente per correggere il bug. D'altra parte, nulla indica che questa correzione non porterà a regressioni, vale a dire a innescare altre violazioni. Il caso peggiore possibile è che ogni riparazione causi un bug che viene quindi risolto automaticamente ma provoca un nuovo problema e così via, creando un ciclo di riparazione infinito.

Utensili

Mayet

Mayet può essere caratterizzato come un monitor di esecuzione sviluppato e utilizzato da Chris Lewis e Jim Whitehead. Controlla l'esecuzione di un sistema e può eseguire azioni in base all'esecuzione corrente. Può così correggere comportamenti indesiderati durante l'esecuzione del sistema secondo regole di sicurezza precedentemente definite. L'esperienza richiesta per prevedere i vari guasti del sistema è vicina a quella richiesta per eseguire unit test.

Nonostante tutto, questo sistema rimane limitato, infatti generalmente si concentra sulla riparazione degli stati logici. Non è in grado di rilevare e correggere un bug grafico, questo corrisponde alla categoria " rappresentazione grafica non valida "   della classificazione dei bug. C'è anche la possibilità di innescare una cascata di riparazioni  : correggere un risultato violerà un'altra regola, e così via ... Possono ancora verificarsi errori , ma Mayet si assicura che questi siano accettabili per l'utente.

Risolutore di giochi flessibile

Si tratta di un sistema di test automatici che consiste nella creazione di un risolutore in grado di trovare un modo per terminare un gioco La creazione di un risolutore è vicina alla rappresentazione dei dati e delle operazioni logiche del motore di gioco . Il risolutore viene implementato seguendo l' algoritmo di attraversamento della larghezza . Esplorerà ogni stato del gioco, fino a raggiungere l'obiettivo previsto. Ogni stato è rappresentato da un nodo nella struttura ad albero e ogni evento è un ramo che consente l'accesso a un nuovo stato. Prima elencherà tutti gli eventi nella scena, poi ne sceglierà uno per raggiungere un nuovo stato del gioco.Il processo viene ripetuto fino a quando non viene raggiunto un obiettivo o la ricerca diventa troppo profonda.

LeChimp

LeChimp è un server di test funzionale utilizzato dagli sviluppatori dello studio GamesFromWithin. Esegue regolarmente il gioco su un numero fisso di frame e si assicura che tutto si carichi e funzioni correttamente. Quindi, esegue in modo casuale diverse azioni, come se una scimmia stesse giocando, aiutando a scoprire bug che nessuno ha notato durante il test.

Mappa delle ombre

Alfredo Nantes, Ross Brown e Frédéric Maire hanno studiato un framework di test semiautomatico per i videogiochi. Si basa sull'utilizzo di un agente che consentirà di rilevare un bug visivo (ispezione dell'ambiente) o di misurare la difficoltà di una parte del gioco (ispezione dell'intrattenimento).

Shadow Map è una tecnica basata su questo framework. Ad esempio, l'agente è in grado di rilevare l' aliasing di una scena. Per prima cosa l'agente estrae le ombre dalla scena. Quindi esegue algoritmi di rilevamento dei bordi e degli angoli per far risaltare le ombre che soffrono di aliasing.

Professioni di test di videogiochi

Esistono diverse categorie di tester di videogiochi sul mercato francese: tester di qualità e giornalisti .

Tester di qualità

Sono diverse le fasi del gioco in cui intervengono i tester: iniziano con la versione alpha del gioco, cioè la prima versione, e finiscono con la versione beta , l'ultima versione di test.

Ruolo

Il ruolo del tester di qualità consiste nell'individuare bug e incongruenze, oltre a dare la sua opinione sui punti di gioco . Per rilevare i problemi, il tester di qualità deve sviluppare test funzionali e tecnici. Anche nei passaggi dove non sono presenti bug, il tester può suggerire miglioramenti e valutare la difficoltà del gioco.

Il test non è giocare, è un processo lungo, noioso e ripetitivo che richiede di spendere ore su tipi di giochi che non ti piacciono necessariamente. Si tratta di trovare le manipolazioni che potrebbero mandare in crash il gioco, provando combinazioni incongrue e immaginando comportamenti imprevedibili del giocatore.

Dopo aver corretto i bug, spetta al tester riavviare il gioco e verificare che i bug rilevati siano stati rimossi. Deve anche garantire la stabilità delle diverse versioni del gioco.

Il tester di qualità deve avere un buon senso di osservazione per rilevare rapidamente problemi tecnici o di progettazione. Deve avere perseveranza per realizzare e rifare certe scene finché non trova e sa come riprodurre un bug specifico. Infine, questa professione richiede la comunicazione per descrivere un bug in modo chiaro e conciso per chi dovrà correggere questo problema.

Metodicamente, il tester deve elencare i bug in un database e utilizzare l'acquisizione dei dati o il software di comunicazione .

Percorso

Il lavoro di tester di qualità non richiede una formazione specifica. Tuttavia, un corso di informatica o una formazione in una scuola specializzata in videogiochi rimane una risorsa.

Il lavoro di tester è piuttosto un trampolino di lancio verso altre professioni di videogiochi, consentendo di salire di grado all'interno del reparto di test e di guidare un team di tester. Il tester può anche diventare un game designer , entrare in produzione o persino gestire progetti.

Giornalista tester

Dobbiamo distinguere tra scrittori e liberi professionisti. Gli editori lavorano con una rivista mentre gli scrittori freelance producono articoli di prova su richiesta. I giornalisti specializzati in videogiochi possono lavorare per la stampa scritta o per la stampa online. Inoltre, non solo scrive test, ma anche argomenti correlati come soluzioni e suggerimenti.

Ruolo

Può essere inviato come funzionalità per partecipare a una presentazione di un nuovo videogioco e scrivere un articolo obiettivo per informare i lettori. Deve poi prendere informazioni dai creatori e sviluppatori del gioco in modo da fornire dettagli precisi e concreti ai lettori della rivista.

I giornalisti specializzati in videogiochi devono essere appassionati di videogiochi ed essere in grado di finire rapidamente qualsiasi tipo di gioco, devono essere bravi in ​​francese e avere capacità di scrittura e scrittura. Deve anche essere di mentalità aperta e abbastanza curioso da tenersi al passo con gli affari correnti e i nuovi sviluppi.

Il senso della comunicazione e del contatto è una qualità necessaria perché spesso è richiesto per muoversi in fiere e presentazioni di videogiochi. A volte costretto a completare articoli con scadenze molto strette, è necessario che il giornalista sia resistente allo stress.

Percorso

Non esiste un diploma specifico per diventare giornalista specializzato nel campo dei videogiochi.

Note e riferimenti

  1. Jeffrey C. Mogul e Palo Alto 2006 , p.  293-304
  2. Chris Lewis e Jim Whitehead 2011 , p.  53-59
  3. Emerson Murphy-Hill, Thomas Zimmermann e Nachiappan Nagappan 2014 , p.  1-11
  4. Jussi Kasurinen e Kari Smolander 2014
  5. Fábio Petrillo, Marcelo Pimenta, Francisco Trindade e Carlos Dietrich 2009
  6. Chris Lewis, Jim Whitehead e Noah Wardrip-Fruin 2010 , p.  108-115
  7. Simon Varvaressos, Kim Lavoie, Alexandre Blondin Massé, Sébastien Gaboury e Sylvain Hallé 2014 , p.  143-152
  8. Microsoft Developer Network
  9. Cyril Marlin
  10. Natale
  11. Alfredo Nantes, Ross Brown e Frederic Maire 2008
  12. The Student
  13. Digischool
  14. National Video Game Syndicate
  15. Videogiochi
  16. Operazioni
  17. cidj
  18. Immaginate il vostro futuro

Allegato

Bibliografia