Ho ereditato un gioco educativo basato sul web. Nell'ultimo anno ho lavorato per stabilizzare il codice e aggiungere nuove funzionalità. La maggior parte della logica è nel front-end, quindi i test delle unità di back-end, sebbene utili, coprono una piccola percentuale del codice.
Il gioco è arrivato al punto in cui sta iniziando a diventare complesso. Ci sono due diverse modalità per ogni gioco e il gioco si comporta diversamente a seconda della modalità. Ci sono anche varie bandiere che influenzano il gioco.
Sono uno sviluppatore di applicazioni da oltre 10 anni e questo mi lascia perplesso. Nel mondo aziendale, un algoritmo funziona sempre allo stesso modo. Scriverò un test unitario per un algoritmo, prevedo il valore 42 e verrà visualizzato un errore se non ottengo quel valore.
Quando si tratta di giochi, sono perso. Come posso testarli? Ho tester disponibili per me. Posso passare il tempo a scrivere test di unità.
I tester sono ... inaffidabili. Non sono i migliori a risolvere i problemi e non ho dato loro la direzione migliore. A parte passare un sacco di tempo ogni ciclo di rilascio testando ogni permutazione e combinazione del gioco, come dovrei usarli come risorsa?
I test unitari sembrano limitati. Dal momento che la maggior parte della logica è javascript (e ho ereditato il codice spaghetti), posso usare una suite di front-end come Cetriolo o selenio per garantire che alcune funzioni funzionino.
È la migliore strategia? Come fanno le società di giochi a testare i giochi?
Ho letto la domanda " Test Driven Development for Complex Games "(tra gli altri sul sito), ma non affronta ciò che sto cercando. Sto chiedendo strategie, non esempi specifici di come testare.