Skip navigation

Рецепт создания популярной и успешной ММО игры: тройной Continuous, проработанная тестовая стратегия и 1 тестировщик на 4 разработчика

Новость:

Наверняка многие из вас знают, что такое MMO игры. А как вы думаете, что действительно важно для того, чтобы игра всегда была на пике, ее не покидали пользователи и она оставалась популярной?

Вы бы предположили, что это подписка, бесплатная версия, спецэффекты, технические возможности или что-то еще. Все эти варианты отчасти верны. Однако, если игра у вас «летает», но в ней банально скучно, то мало что и кто способны ее оживить.

На самом деле ответ на этот вопрос достаточно прост — популярность и удержание вас в ТОПе достигается за счет постоянного производства нового контента. Этот механизм позволяет пользователям самим что-то создавать, внедрять новые фичи в уже имеющиеся процессы.

Например, так вышло с «Battle for Azeroth» для WOW. Как видим, новые механики, сценарии и локации сделали свое дело.

Новый контент действительно важен. Однако не менее важно и его качество.

Так, в случае с PUBG, несмотря на январский пик популярности и появление новых карт, видов оружия, режимов, она теряла и продолжает терять свою популярность.  

Почему так происходит?

Во-первых, эта игра изначально была недостаточно оптимизирована. Во-вторых, у нее было множество проблем с производительностью клиента, сервера. И, в-третьих, их команда не особо старалась исправить все эти проблемы.  

Теперь перейдем к основному вопросу: как связаны MMO игры и EPAM, и чем мы там занимаемся? Об этом расскажет Вадим Гущенсков, Lead Test Automation команды, которая занимается MMO играми.

«Наша команда называется Identity/Social. В частности, мы занимаемся инфраструктурой игры, которая отвечает за авторизацию юзеров, социальные функции, хранение пользовательских данных, их идентификацию, и большое внимание уделяем безопасности, — рассказывает Вадим. — Так как наш продукт действительно очень популярен, и, по последним данным, у него 3,4 млн. дневной аудитории онлайн, то нас постоянно атакуют. Каждый день сотни хакеров пытаются найти лазейки. Мы фактически перешли в режим работы и жизни под DDoS-атаками».

На ваш взгляд, как часто команда Вадима делает релизы? Здесь только один правильный ответ — каждый день! Все просто: очень важно доставлять новый контент и добавлять новые фичи для пользователей как можно быстрее.

Основные принципы автоматизированного тестирования в EPAM: микросервисная архитектура, многоуровневая тестовая стратегия, широкое использование мокирования, тестирование производительности и «чистый» Agile.

Вадим: «Я хотел бы подробнее рассказать о нашей тестовой стратегии. Она состоит из 4 частей:

  • Изолированное тестирование. Функциональное тестирование у нас проходит в изолированном окружении, все зависимости как на наши, так и на сторонние сервисы «замоканы», а базы данных, очереди сообщений, кэши и тд. запускаются локально в Docker-контейнере. Так как это первый слой тестов, то здесь проходит 1200-1300 функциональных тестов на каждый сервис.
  • DVT-тесты. Не стоит путать их со Smoke-тестами, их всего 2-3. Они проходят на том узле в кластере, на котором вы развернули приложение, и необходимы для того, чтобы проверить, правильно ли оно работает.
  • Integration-тесты. Мы тестируем все точки интеграции, будь то prod или CI. В этом слое проходит около 150 тестов.
  • Performance-тесты. Это завершающая фаза тестирования, именно после нее принимается решение о релизе в продакшн.

Все эти этапы проходят довольно быстро, буквально за несколько часов».  

Возвращаясь к MMO играм, чтобы разработать действительно успешный и качественный продукт, нужно быть готовыми к постоянным изменениям, требованиям день-в-день и, конечно же, к тройному Continuous: производство, интеграция и тестирование. Также не стоит забывать о хорошо проработанной тестовой стратегии, которая должна учитывать все аспекты тестирования.

«Как в любой бочке меда, у этого подхода есть своя ложка дегтя. Это достаточно дорогой процесс как с точки зрения временных затрат, так и человеческих ресурсов, — говорит Вадим. — Однако и здесь можно найти свои плюсы: раньше у нас постоянно не хватало тестировщиков. Но в процессе реализации нашей игры мы все же пришли к тому, что на 4 разработчика у нас теперь 1 тестировщик. Тем не менее, мы все успеваем, и наша игра стала одной из самых популярных в мире».

Как видите, рецепт успешного продукта достаточно прост: классная команда, четкая тестовая стратегия и ежедневные DDoS-атаки, которые только и делают, что заставляют вас работать еще больше и лучше!