
Мобильные игры востребованы среди разных возрастных групп: и молодежь, и люди среднего возраста, и пожилые одинаково любят играть в мобильные игры.
Разработка и тестирование мобильных игр — весьма трудоемкая задача. Тестов нужно много и самых разнообразных — в отличие от более стандартных мобильных приложений, например органайзеров или мессенджеров.
Автоматизация в QA как известно должна экономить время и бюджет, поэтому руководители проектов стараются по возможности автоматизировать ручные процессы. Но ручное тестирование остается актуальным.

Обычные мобильные приложения vs мобильные игры
Опытный тестировщик может считать, что с задачей тестирования мобильной игры он справится легко. Однако это не так, поскольку тестирование мобильных игр имеет особенности:
1. Симуляционное тестирование
Методика моделирования, основанная на сопоставлении изображений, идентифицирует объекты и их положение в мобильной игре. Это происходит путем динамического сопоставления (маппинга) графических элементов и действий игрока. Методика позволяет получать более-менее точные числовые данные.
2. Тестирование на постпродакшене
Тестирование игры — сложный процесс еще и потому, что если игра станет достаточно популярной, в теории получит миллионы пользователей по всему миру, то вместе с количеством игроков растут и требования к системе. Любая даже незначительная ошибка может в мгновение ока подорвать репутацию игры. Также, в мобильных играх релизный цикл довольно специфический.

3. Важность командной работы
Процессы тестирования мобильной игры требуют широкой компетенции команды. Нередко требуется большое количество ручных тестировщиков. Разумеется, для этого нужна эффективная организация и командная работа. Кроме того, у большого количества квалифицированных сотрудников могут быть разные взгляды, подходы и компетенции.

4. Мультиплеер
Когда речь идет об игре, важным является игровой стиль. Вначале все мобильные игры были рассчитаны только на одного игрока. Но уже давно наступила эпоха многопользовательских игр. И количество их продолжает расти из-за высокой вовлеченности игроков, привлекающей рекламодателей.
Мультиплеер усложняет задачи тестировщиков. Команде становится труднее поддерживать игру на очень разных девайсах. Если ей это не удается, то это очень быстро приводит к большому количеству негативных отзывов. Скорость и масштабирование негативного фидбека — это еще один фактор, который отличает тестирование мобильных игр.
Таким образом, тестирование игровых приложений требует высокой квалификации, и если кто-то хочет стать профессионалом в этой сфере, то ему потребуется длительное непрерывное обучение и практика.
Что тестируется

Отличие тестирования мобильных игр от тестирования обычных мобильных приложений заключается еще и в том, что в мобильном тестировании гораздо больше этапов и отдельных компонентов.
1. Интерфейс
Для обычных тестировщиков пользовательский интерфейс мобильных игр кажется главным приоритетом. Но это не совсем так. Например, заядлые геймеры склонны игнорировать проблемы с UI любимой игры, если в игре есть что-то особенное. Конечно, вовлеченность обеспечивается не только удобством интерфейса.
Но и обеспечить удобный интерфейс бывает непросто. К тому же эмуляция и воссоздание действий игрока требуют опытности именно в игровой сфере.
2. Графика
Во-вторых, качество графики. Разумеется, на это обращают внимание все. Чем лучше графика, тем лучше пользовательские впечатления. Помимо красоты собственно изображений, за которую отвечают дизайнеры и художники, качество графики зависит и от других факторов, например нагрузки на аппаратную часть смартфона. Также важна графическая подсистема (GPU). Очень многие мобильные игры выдвигают высокие требования к GPU.
3. Внешние игровые девайсы
Эволюция мобильных игр с момента их появления была невероятной. Теперь можно подключать к смартфону отдельный игровой контроллер, например джойстик. И если раньше в играх в основном было всего два элемента управления, то теперь в стандартной игре требуется в среднем нажатие четырьмя пальцами.
Интеграция внешних устройств улучшает вовлеченность. И конечно, при тестировании таких мобильных игр тестируются и внешние устройства.
4. Пользовательский опыт
Люди часто путают понятия «пользовательский интерфейс» и «пользовательский опыт». Мобильные игры — «сложные» приложения уже потому, что пользователи проводят в них много времени. Поэтому любое даже незначительное неудобство может иметь негативные последствия в виде оттока пользователей.
Помимо собственно игрового процесса, на популярность мобильной игры влияют удобство навигации в меню и его интуитивность.

5. Безопасность
Следующая важная вещь, о которой должна позаботиться команда — безопасность игрового приложения. Для обеспечения должного уровня безопасности большинство компаний предпочитают привлекать внешние команды. Части игровой программы, разработанные ими, обычно являются стандартными и реюзабельными. Это упрощает процессы тестирования.
Но экспертность в тестировании мобильных игр предполагает знание стандартных уязвимостей и слабых мест в игровом приложении. Нередко проводится тестирование на проникновение, как стандартный способ обеспечения безопасности пользовательских данных.

Распространенные баги
- Совместимости: Проблемы с совместимостью, когда игра не функционирует должным образом на распространенных устройствах или операционных системах.
- Проблемы с игровой логикой и балансом: Подобные проблемы в целом не позволяют игре выполнять поставленные задачи.
- Интерфейсные: Например, когда элементы интерфейса находятся не точно на своих местах, или например надпись на кнопке превышает по длине место, отведенное для кнопки.
- Технические баги: Часто игры не работают должным образом из-за плохого мобильного покрытия или Wi-Fi.
- Баги производительности: Например, снижение частоты кадров во время атаки персонажа.
- Баги локализации: И наконец, ошибки, которые встречаются в локализованных текстах.
Виды тестирования мобильных игр

1. Тестирование совместимости
Проверка совместимости игры с распространенными операционными системами и устройствами, а также с различными аппаратными и программными условиями.
2. Тестирование локализации
Необходимо, если игра нацелена на глобальный рынок. Тексты, подписи, названия игровых элементов и т. д., должны быть проверены на целевых языках.
3. Функциональное тестирование

Тестировщики анализируют проблемы, специфичные для каждой конкретной игры, они могут быть связаны с графикой, интерфейсом, стабильностью, игровыми механиками и т. д.
4. Тестирование производительности
Тестирование производительности чрезвычайно важный этап и оно обязательно проводится, для оценки общего ощущения от игры и для оптимизации производительности.
5. Графика и расход батареи
- Сеть: Тестировщики проверяют работу в сетях 3G, 2G и 4G и Wi-Fi. Это дает представление, как игра будет работать при подключении в разных сетях и изменении местоположения пользователя.
- Ограничения памяти и процессора: Задача заключается в том, чтобы определить, насколько быстро игра будет расходовать заряд батареи мобильного устройства.
- Время отклика и другие параметры: Проверяется скорость связи с игровым сервером, а также время, необходимое для загрузки приложения; также реакция приложения на низкий заряд батареи, недостаточное количество свободной памяти, утечки памяти, и т. д.

6. Тестирование безопасности
Как уже говорилось выше, тестирование безопасности должно гарантировать безопасность мобильного игрового приложения для пользователей. Проблемы возникают в результате плохого контроля системы, не налаженной коммуникации, утечек данных, слабых алгоритмов защиты и т. д.
7. Тестирование восстановления
Должно определить устойчивость приложения к сбоям, аппаратным или другим неполадкам. Игровое приложение принудительно «крэшится», и тестировщики проверяют, что при этом происходит.
8. Тестирование выносливости (soak testing)
Обычно это автоматизированные тесты, которые запускают игру и оставляют на длительное время и в разных режимах. Это помогает определить утечки памяти и подобные «скрытые» проблемы.

Метрики
- Рейтинг загрузок: Рейтинг мобильного игрового приложения в аппсторах.
- Удержание: Важный показатель — Retention, позволяющий узнать, сколько времени приложение удерживается у пользователя на телефоне. Обычно пользователей делят на «сегменты» по этому показателю.
- Сессии: Термин «сессия» или «сеанс» относится к ситуации, когда пользователь открывает приложение. Для мобильных игровых приложений тестировщики ориентируются на показатель средней сессии в DAU (см. ниже).
- Метрики производительности: Существует множество метрик производительности онлайн-игр на клиентских девайсах, также на игровом сервере, проверяется их стабильность во времени и т. д.
- MAU и DAU: MAU означает Monthly Active Users (Активных пользователей в месяц), а DAU — Daily Active Users (в день). Эти метрики показывают количество активных, вовлеченных пользователей, которые играют в игру часто, в отличие от «эпизодических».

Проблемы, возникающие при тестировании мобильных игр
1. Утечки данных
Интеграция с любой социальной сетью может привести к краже персональных данных пользователей. Поэтому обеспечение безопасности этих данных является важной задачей команды. Практически каждый пользователь теперь знает об опасностях, грозящих ему в Сети, и несоблюдение стандартов безопасности способно уничтожить репутацию компании.
2. Совместимость и интеграция
Также возможны проблемы с совместимостью платформ, аутентификацией, конфиденциальностью, полнотой функциональности, и обновлениями. Обеспечение плавной интеграции, безопасной аутентификации и бесперебойной работы пользователей — важные задачи.
3. Платформы
Различные версии Android составляют 80% игрового рынка, в то время как iOS — 20%, кроме того, некоторые компании теперь предлагают собственные операционные системы, достаточно популярные, и это также усложняет задачи QA-команды.