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 inizia a diventare complesso. Esistono due diverse modalità per ogni gioco e il gioco si comporta in modo diverso 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, mi aspetto il valore 42 e si guasterà se non ottengo quel valore.
Quando si tratta di giochi, mi sono perso. Come li collaudo? Ho tester disponibili per me. Posso passare il tempo a scrivere unit test.
I tester sono ... inaffidabili. Non sono i migliori a sradicare i problemi e non ho dato loro la direzione migliore. A meno di dedicare un sacco di tempo a ogni ciclo di rilascio per testare ogni permutazione e combinazione del gioco, come dovrei usarli come risorsa?
I test unitari sembrano limitati. Poiché la maggior parte della logica è javascript (e ho ereditato il codice spaghetti), posso utilizzare una suite front-end come Cucumber o selenio per assicurarmi che determinate funzionalità funzionino.
È questa la migliore strategia? In che modo le società di giochi testano i giochi?
Ho letto la domanda " Test Driven Development for Complex Games " (tra gli altri sul sito), ma non risponde a ciò che sto cercando. Sto chiedendo strategie, non esempi specifici di come testare.