Il modo migliore per testare casi semplici nei giochi


9

Quando si progetta e si prova un nuovo gioco, per la maggior parte del tempo, le persone che provano la funzionalità si abituano alle cose e non provano più i "modi stupidi". Quindi, se lo sviluppo interrompe qualcosa, potrebbe essere una funzionalità che solo un nuovo utente si preoccuperebbe di provare. Quali sono alcuni dei modi migliori per assicurarsi che il tuo gioco abbia i suoi "casi stupidi" testati quando viene finalmente rilasciato o dopo un importante aggiornamento? Metodologia, assistenza software, forse anche siti in cui le persone giocheranno per te, eccetera.

Risposte:


9

Alcune cose che direi sono importanti:

Incoraggiare il test dell'unità del programmatore

Questo farà in modo che alcuni stupidi bug, se c'è un test unitario per loro, non si ripresenteranno, perché il test unitario fallirà se lo fanno. Ciò richiede un cambiamento nella metodologia di programmazione, ma a mio avviso ne vale la pena.

Automatizza qualunque test tu possa fare

Oltre ai test unitari, crea un set di funzioni automatizzate e test di collaudo eseguiti su ogni build per assicurarti che determinati build siano buoni. Se disponi di controlli tramite script e il tuo gioco è generalmente coerente, puoi testare molti bug automaticamente.

Creare un piano di test multilivello

Assicurati che i tester abbiano un piano di test che collauda i bug più importanti. Questo dovrebbe essere a più livelli:

  • Test del fumo: verifica che il gioco non si blocchi nei casi più comuni.
  • Test regolare: verifica casi più rari.
  • Soak Test: esegui il più in profondità possibile, regredendo il maggior numero possibile di bug comuni. Verifica anche che il gioco possa rimanere attivo per periodi molto lunghi (giorni) senza crash.

Crea questo piano di test e seguilo su ogni build.


11

Una sorta di approccio alla copertura del codice nei casi di test può essere fatto usando semplici flag che vengono attivati ​​una volta che il blocco di codice è stato eseguito nel gioco. La visualizzazione di quali flag sono stati attivati ​​e non filtrati sullo schermo può consentire ai tester di sapere quali casi sono stati coperti e quali no.

Per quanto sia semplice, è ancora efficace fintanto che le bandiere hanno nomi significativi in ​​modo che i tester possano capire cosa si dovrebbe fare.

Questa tecnica è attribuita a Matthew Jack che l'ha implementata in Crysis.


3
concetto interessante, +1
falstro

Questo può effettivamente essere automatizzato. "Esegui il gioco -debugFlags, grep l'output e assicurati di colpire il xnumero di flag." +1
ashes999

3

Diverse buone risposte qui sul lato della programmazione. Aggiungerò uno che è più orientato al design.

Chiedi ai progettisti di sistemi di scrivere piani di test per casi limite per i tester

Se sanno cosa stanno facendo, la persona dietro la progettazione di un sistema o lo scripting di una sequenza in-game è molto probabile che conosca i casi limite di quel sistema e dove potrebbe guastarsi. Dovrebbero anche avere un'idea di dove il sistema interagisce con gli altri. Farli scrivere un piano di test o discutere con i tester dove è probabile che le cose vadano male possono far risparmiare tempo a tutti.


1

Dovresti indagare sul cosiddetto Monkey Testing. Può catturare molti bug di questo tipo:

https://secure.wikimedia.org/wikipedia/en/wiki/Monkey_test

Devi anche organizzare i test dell'esperienza utente con "tester Kleenex", tester che vedono il tuo gioco per la prima volta e che non utilizzerai mai più. È un po 'costoso e complicato da organizzare, ma ne vale la pena. Se lo fai, filma ogni test con 3 telecamere: una sullo schermo, una sui controlli e una sul viso del tester per rilevare la frustrazione.


1

Ottima domanda, ogni risposta in questo thread è un'ottima risposta. Una cosa da aggiungere:

Nella mia esperienza (30 anni di sviluppo software): app e giochi sono più affidabili se almeno un membro del gruppo di test è un esperto gorilla tester , esperto di test ad hoc, abuso di app e uso deliberato di giochi nel modo sbagliato di trovare bug del tipo descritto dal poster originale. I tester Gorilla hanno un'abilità non comune: quando ne trovi una buona, mantienila nella tua squadra.

Per un esempio di test efficaci sui gorilla, consultare: www.youtube.com/watch?v=8C-e96m4730;)

Riassumendo le risposte in questo thread: efficaci strategie di qualità del software sono sfaccettate , combinando molteplici approcci per ottenere un alto livello di fiducia nella qualità funzionale e nell'affidabilità del tuo gioco.


0

Un trucco interessante di cui ho sentito parlare da un amico per testare la grafica; nel corso di una buona conoscenza di un livello record di statistiche prestazionali dalla GPU a intervalli regolari (ad esempio polys sullo schermo). È quindi possibile riprodurre quella rotta e se i numeri cambiano al di fuori di una determinata tolleranza, potrebbe significare che qualcosa non viene più visualizzato correttamente.


0

Una cosa semplice e semplice che aiuta molto, specialmente con stress test e test di rete. Rendi possibile che la tua IA giochi contro un'altra IA. Se puoi lasciare il tuo gioco da solo giocando da solo, o un piccolo gruppo di intelligenza artificiale su una rete per un fine settimana, puoi imparare molto.

Naturalmente registra tutto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.