Eu herdei um jogo educacional baseado na Web. No ano passado, trabalhei para estabilizar o código e adicionar novos recursos. A maior parte da lógica está no front-end; portanto, os testes de unidade de back-end, embora úteis, cobrem uma pequena porcentagem do código.
O jogo chegou ao ponto em que está começando a ficar complexo. Existem dois modos diferentes para cada jogo e o jogo se comporta de maneira diferente, dependendo do modo. Existem também várias bandeiras que afetam o jogo.
Sou desenvolvedor de aplicativos há mais de 10 anos e isso me deixa perplexo. No mundo corporativo, um algoritmo sempre funciona da mesma maneira. Vou escrever um teste de unidade para um algoritmo, espero o valor 42 e haverá erro se não obtiver esse valor.
Quando se trata de jogos, estou perdido. Como faço para testá-los? Eu tenho testadores disponíveis para mim. Eu posso gastar tempo escrevendo testes de unidade.
Os testadores não são confiáveis. Eles não são os melhores em resolver problemas e eu não lhes dei a melhor direção. Sem gastar muito tempo a cada ciclo de lançamento testando todas as permutações e combinações do jogo, como devo usá-las como um recurso?
Os testes de unidade parecem limitados. Como a maior parte da lógica é javascript (e eu herdei o código espaguete), posso usar um pacote de front-end como Cucumber ou selenium para garantir que certos recursos estejam funcionando.
Essa é a melhor estratégia? Como as empresas de jogos testam jogos?
Eu li a pergunta " Desenvolvimento orientado a testes para jogos complexos " (entre outros no site), mas não aborda o que estou procurando. Estou pedindo estratégias, não exemplos específicos de como testar.