Я унаследовал сетевую образовательную игру. За прошедший год я работал над стабилизацией кода и добавлением новых функций. Большая часть логики находится во внешнем интерфейсе, поэтому внутренние модульные тесты, хотя и полезны, покрывают небольшой процент кода.
Игра дошла до того, что начинает усложняться. Для каждой игры есть два разных режима, и игра ведет себя по-разному в зависимости от режима. Существуют также различные флаги, которые влияют на игровой процесс.
Я работаю разработчиком приложений уже более 10 лет, и это сбивает меня с толку. В корпоративном мире алгоритм всегда работает одинаково. Я напишу модульный тест для алгоритма, я буду ожидать значение 42, и если я не получу это значение, произойдет ошибка.
Когда дело доходит до игр, я заблудился. Как мне их проверить? У меня есть тестеры для меня. Я могу потратить время на написание юнит-тестов.
Тестеры ... ненадежны. Они не лучшие в устранении проблем, и я не дал им лучшего направления. Если не тратить кучу времени на каждый цикл релизов, тестируя каждую перестановку и комбинацию игры, как мне использовать их в качестве ресурса?
Модульные тесты кажутся ограниченными. Поскольку большая часть логики - это javascript (а я унаследовал код спагетти), я могу использовать внешний интерфейс, такой как Cucumber или selenium, для обеспечения работы определенных функций.
Это лучшая стратегия? Как игровые компании тестируют игры?
Я прочитал вопрос « Разработка через тестирование для сложных игр » (среди прочего на сайте), но он не касается того, что я ищу. Я прошу стратегии, а не конкретные примеры того, как тестировать.