В преддверии старта курса "Game QA Engineer", эксперт OTUS - Дмитрий Шадрин подготовил статью в которой рассказал об особенностях и требованиях к тестированию мобильных игр.


Для обычного игрока и пользователя любая игра - это конечный продукт. Однако путь, проделанный от идеи до конечной реализации и релиза, зачастую тернист и имеет массу неточностей и “костылей” под капотом.

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

Мобильная игра

Для начала разобьем любую игру на 4 основных составных части:

  1. Геймплей

  2. Управление

  3. Графика

  4. Производительность

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

Основные сложности в мобильной разработке - это именно успеть в определенные сроки соблюсти необходимый баланс из 4х составляющих выше. А затем заставить ее работать на огромном парке девайсов и в разных условиях интернет-соединения. Но об этом подробнее ниже.

Жанры и механики

Благодаря условному разбиению на 4 основных составляющих любой игры (геймплей, управление, графика и производительность) появились устоявшиеся на данный момент жанры. Каждый из них отличается смещенным балансом к определенному составляющему. Кто-то делает упор на глубокий геймплей, кто-то старается сделать простую игру с посредственной графикой, но отличным управлением. А некоторые пытаются вытянуть все 4 составляющих равномерно. 

На данный момент могу выделить следующие жанры мобильных игр:

  1. Платформеры

  2. Шутеры

  3. Гонки

  4. Adventure

  5. RPG

  6. Аркады

  7. Настольные игры

  8. Match 3

  9. Hidden Object

Соответственно существуют особенные механики, которые могут использоваться в мобильных играх:

  1. Touch / Swipe / Multi Touch – основные механики управления на мобильных устройствах, которые приводят к похожим простейшим механикам с ПК индустрии (click, drag and drop). Чаще всего данные механики встречаются в настольных играх, в некоторых адаптированных RPG, аркадах, Match 3 и Hidden object. 

  2. Виртуальные геймпады – данная механика управления в корне отличается от механики обычного геймпада, с которой можно познакомиться на консолях или ПК. Поскольку она создается из отдельных активных элементов, с огромной вероятностью механика может конфликтовать с другими элементами интерфейса. Кроме того, в большинстве реализаций виртуальные геймпады имеют широкую кастомизацию, что может только увеличить риски создания дефекта. Данная механика универсальна и может быть применена в таких жанрах как RPG, Adventure, Аркады, Гонки, Платформеры.

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

Специфика тестирования мобильных игр

Для тестирования любого продукта на мобильной платформе можно выделить следующие особенности:

Первая особенность мобильных платформ – размер экрана. 

Если у iOS есть четкая тенденция у увеличению экрана с сохранением отличного качества картинки, то у Android мы имеем огромный разброс как по диагоналям экрана, так и по разрешениям.

iPhone последних поколений обзавелись системной шторкой, которая зачастую перекрывает важные UI элементы.Когда решится проблема с версткой UI игры, поднимается вопрос поддержки планшетов. И здесь нас снова радует Android, который так же имеет огромные палитры из всевозможных планшетов. Немалая часть тестирования отдается именно на проверку корректного отображения UI и самой игры на различных экранах и разрешениях.

Вторая особенность мобильных игр – инпуты или способ взаимодействия с игрой.

Если консольные и ПК игры имеют специально выделенные устройства ввода, вроде геймпада или клавиатуры, то мобильные устройства используют тапы, свайпы и мультитач. Изначально управление строится на тапах на интерактивные элементы. Затем управление усложняется поддержкой свайпов для переключения по экранам UI. Ну и затем подтягивается поддержка MultiTouch для одновременного нажатия на различные элементы экрана. 

Третья особенность мобильных игр – поддержка прерываний.

Для каждого мобильного продукта характерна поддержка целой системы прерываний. Входящий звонок, пуш уведомление, входящая смс, сигнал о низком заряде батареи, сворот/разворот и так далее. Игра должна корректно вести себя во время таких прерываний, не сбрасывать прогресс игрока и позволять ему вернуться в любой момент.

Четвертая особенность мобильных игр – способ связи с интернет.

Пользователь априори не может всегда быть онлайн. Мобильность подразумевает, что игрок может находиться где угодно: в метро, в лесу, дома с WiFi, на прогулке с 4g. Поэтому игры должны корректно вести себя при переключении между основными состояниями связи: мобильная связь (2-3-4g, пугающая многих скорость Е), WiFi, отключение связи (режим полета, потеря сигнала). Часть геймплея должна позволять играть в игру и без интернета, чтобы позже загрузить свой прогресс при восстановлении сигнала. При нестабильном подключении можно выдавать сообщения о качестве соединения.Нестабильное подключение или слабый сигнал приводит к разномастным багам:-  “телепортации” модели игрока в командных шутерах. Игрок со слабым интернетом реже отдает пакетные данные и остальные получают лишь промежуточные данные о его перемещениях по системе координат- высокий ping, что делает невозможным нормальную игру в играх на реакцию и сетевой составляющей- потеря прогресса игрока

Пятая особенность – производительность. Один из самых важных параметров для любой игры. Игроку не будет нравиться, если на его любимом телефоне игра будет тормозить и выглядеть как слайд-шоу вместо нормальной плавной картинки. При поддержке слабых девайсов разработчики стараются занижать размер текстур, чтобы игра могла корректно работать на минимальных 30 fps. 

Тестировщикам необходимо условно разделять таргет-девайсы для своей игры:

  • минимальная планка, самые слабые девайсы. На них по умолчанию выставляется самое низкое разрешение текстур и количество кадров в секунду не должно падать ниже 30

  • средний сегмент - наиболее популярные устройства. Здесь планка качества по кадрам целится в 60, разрешение текстур среднее. Игрок может самостоятельно переключиться на нужное ему разрешение текстур, если считает что его телефон “справляется” с более тяжелой графикой.

  • флагманы - новые и новейшие телефоны. Здесь минимальная планка для fps остается 60, качество текстур приближено к максимально допустимому. Так же уделяется внимание качеству отображения эффектов, теней и сглаживанию.

Требования к тестированию мобильных игр

Тестовое устройство должно быть нужной версии ОС для проверки на разных операционных системах. Особенно это касается Android устройств, которые допускают установки всевозможных прошивок.

Начать тестирование стоит с проверки установки билда и его корректного запуска. Проверяются основные экрана игры: загрузочный экран, наличие всех основных иконок и UI. Загрузка стартовой или главной сцены.

Далее проверяется установка поверх старой версии - не должно быть конфликтов и ошибок, прогресс игрока должен переноситься из версии в версию без видимых багов и расхождений.

Далее проверяется основной (core) геймплей. Для этого помощником служит заранее составленный чек-лист всех проверок по геймплей.

Проверяется работа всех игровых механик, которые так же занесены в чек-листы.

Проверяются общемобильные кейсы: работа с прерываниями, сворот/разворот на основных экранах, работа с системными кнопками.

Отдельным пунктом всегда идет проверка работы с соединением. Отключение интернета, имитация плохого соединения (throttling), активное переключение между режимами мобильной связи и wifi.

Финальная проверка всегда заключается в проверке внутриигровых платежей. При их отсутствии - проверяется версия рекламного SDK и его корректная работа. Грубо говоря - реклама должна вызываться после определенных событий игры и корректно отрабатывать, начисляя бонусы или валюту игроку после ее просмотра.

Тестировать игры, на первый взгляд, сложнее чем обычные мобильные приложения. Обилие игровых механик, недокументированных решений в разработке, большое количество контента… Но если правильно спланировать процесс и провести несколько полнофункциональных регрессионных тестирований - у QA сложится полное представление о слабых местах тестируемой им игры и перечне проверок для нее.


Узнать подробнее о курсе


Читать ещё: