J'ai hérité d'un jeu éducatif basé sur le Web. Au cours de la dernière année, j'ai travaillé à stabiliser le code et à ajouter de nouvelles fonctionnalités. La plupart de la logique se trouve dans le front-end, donc les tests unitaires back-end, bien qu'utiles, couvrent un petit pourcentage du code.
Le jeu est arrivé au point où il commence à devenir complexe. Il existe deux modes différents pour chaque jeu et le jeu se comporte différemment selon le mode. Il existe également divers drapeaux qui affectent le jeu.
Je suis développeur d'applications depuis plus de 10 ans maintenant et cela me laisse perplexe. Dans le monde de l'entreprise, un algorithme fonctionne toujours de la même manière. J'écrirai un test unitaire pour un algorithme, je m'attendrai à la valeur 42 et ce sera une erreur si je n'obtiens pas cette valeur.
En ce qui concerne les jeux, je suis perdu. Comment les tester? J'ai des testeurs à ma disposition. Je peux passer du temps à écrire des tests unitaires.
Les testeurs sont ... peu fiables. Ils ne sont pas les meilleurs pour éliminer les problèmes et je ne leur ai pas donné la meilleure direction. À moins de passer une tonne de temps à chaque cycle de sortie pour tester chaque permutation et combinaison du jeu, comment dois-je les utiliser comme ressource?
Les tests unitaires semblent limités. Étant donné que la plupart de la logique est javascript (et j'ai hérité du code spaghetti), je peux utiliser une suite frontale comme Cucumber ou sélénium pour garantir que certaines fonctionnalités fonctionnent.
Est-ce la meilleure stratégie? Comment les sociétés de jeux testent-elles les jeux?
J'ai lu la question " Développement piloté par les tests pour les jeux complexes " (entre autres sur le site), mais elle ne répond pas à ce que je recherche. Je demande des stratégies, pas des exemples spécifiques de tests.