Учебное пособие по тестированию игр: Как тестировать мобильные/настольные приложения
⚡ Умное резюме
Тестирование игр — это процесс контроля качества, применяемый к видеоиграм, направленный на выявление дефектов в игровом процессе, графике, звуке и сети, чтобы версия, поставляемая игрокам, оставалась стабильной, соответствовала требованиям и доставляла удовольствие.
Что такое тестирование игр?
Тестирование игры Тестирование игр — это процесс тестирования программного обеспечения, предназначенный для проверки качества видеоигр. Главная цель тестирования игр — выявление и обнаружение дефектов и ошибок в видеоигре, а также улучшение её стабильности и производительности. Тестирование игр является компонентом разработки игр, который помогает гарантировать отсутствие ошибок в выпускаемой видеоигре.
Прежде чем рассматривать отдельные методы, полезно понять, какое место тестирование занимает в более широком цикле разработки.
Жизненный цикл разработки игр
Pre-Production: На этом этапе разрабатываются идея игры, раскадровка, функциональные возможности, проводится анализ требований и создается документация. Эта фаза включает в себя техническое проектирование и спецификации функций, архитектуру игры, наложение кадров и анимацию. Рассматриваются следующие элементы:
- Музыка, камера (увеличение и уменьшение масштаба, повторное воспроизведение, кинематографический вид), плеер и характеристики действий.
- Логика игрового процесса, правила и условия для перехода на следующий уровень.
- Триггеры объектов и событий, очки, перемещение и позиционирование игрока, статистика игрока.
- Неинтерактивные последовательности, спецэффекты, заставки, многокнопочные действия
- Геймпад, видеоролик, эффекты удара/вибрации, юридические тексты, использование функций кнопок, использование аналогового и цифрового режимов.
Ниже представлены три этапа и виды деятельности на каждом из них.

Производство: На этом этапе выполняется непосредственно кодирование. Эта фаза включает в себя написание кода и интеграцию различных модулей.
Тестирование и развертывание: На этом этапе проводятся функциональные тесты, регрессионное тестирование, а также этапы Alpha, Beta и Gold. Тестирование покрытия и потоков, целостности данных, тестирование алгоритмов, тестирование путей и инкрементальное тестирование также выполняются с использованием инструментов тестирования мобильных игр.
Чем тестирование игр отличается от других видов тестирования программного обеспечения?
Тестирование игр — это монотонный процесс: в каждой новой сборке могут быть ошибки, и её необходимо тщательно тестировать.
Тестирование игр всегда проходит по базовой структуре, независимо от размера игры и времени, необходимого для ее разработки.
Специалисту по обеспечению качества необходимо изучить правила и требования игры, а также понять общую архитектуру компонентов игры, файловую архитектуру, поток выполнения, структуру файлов и зависимости, связанные с игрой. С каждым новым прототипом игры необходимо пересматривать тестовую документацию, чтобы отразить любые изменения в спецификациях, новые тестовые примеры для тестирования игры и новую поддержку конфигурации. Тестировщик видеоигр также должен убедиться, что не возникло никаких новых проблем.
В обязанности тестировщика игр входит:
- Классифицируйте требования в зависимости от предполагаемой цели и целевой аудитории.
- Определите пользовательские и системные требования и классифицируйте их на функциональные, нефункциональные и предметные требования.
- Определите элементы, подлежащие и не подлежащие проверке, а также целевые показатели и критерии для функциональных и нефункциональных требований.
- Проверьте, являются ли функциональные требования полными, согласованными и понятными.
- Выявите настраиваемые требования и противоречащие им требования.
- Выявление взаимозависимых требований — одна из основных задач тестирования игр.
- Расставьте приоритеты для требований, исходя из их уникальности, сложности и критичности.
- Определите тему игры, персонажей, анимацию, искусственный интеллект, кинематографические сцены, ракурс камеры и игровой процесс.
Если вы хотите стать тестировщиком видеоигр, вот бесплатный обучающий курс, который стоит посмотреть: Как стать тестировщиком видеоигр.
Типы тестирования игр
Ниже описаны популярные методы тестирования игр. Каждый из них нацелен на определенный класс дефектов, и готовая к релизу игра обычно проходит через все эти методы, а не выбирает между ними.
1) Функциональное тестирование
Тестировщики функционального контроля качества выявляют общие проблемы в игре или её пользовательском интерфейсе и графике, такие как проблемы игровой механики, проблемы стабильности и целостность игровых ресурсов. Тестирование пользовательского интерфейса обеспечивает удобство использования игры. Это та же дисциплина, что и тестирование функционального контроля качества. функциональное тестирование В любом другом случае это применяется к правилам игрового процесса, а не к бизнес-правилам.
Пример: Проверка цветов и фона, структуры меню, ориентации и разрешения экрана, размера шрифта, ошибок выравнивания, удобства использования, навигации по системе, включая время загрузки, тайм-аут и отображение, сортировку, подтверждающие сообщения, последовательности, анимацию и звуковые элементы игры, инструкции и диалоговые сообщения. Также проверяется взаимодействие с пользователем, пользовательский интерфейс, тестирование транзакций, калибровка и проверка точности камер мобильных телефонов, разрешение экрана, тестирование адаптивного дизайна для мобильных устройств и тестирование качества звука.
2) Тестирование совместимости
Проверка совместимости игры с различными устройствами и конфигурациями оборудования и программного обеспечения. Широкий охват устройств имеет большее значение для игр, чем для большинства приложений, поскольку драйверы графического процессора и соотношение сторон экрана влияют на отображение игры. См. тестирование совместимости для общей методики.
Пример: Установите и удалите игру на всех поддерживаемых консолях, настольных компьютерах и мобильных устройствах.
3) Тестирование производительности
Проверяется общая производительность игры. Выполняется оптимизация производительности для повышения скорости игры. Более подробное описание процесса приведено в разделе... тестирование производительностиа также специфический для мобильных устройств угол в тестирование производительности мобильного приложения.
Важные параметры, проверяемые в ходе тестирования производительности:
- Время отклика на стороне клиента и сервера, время завершения транзакций, производительность при пиковой нагрузке, долговечность, покрытие сети, утечка памяти, недостаток памяти, низкий заряд батареи, время загрузки приложения, одновременный (многопользовательский) доступ к серверу приложений, скорость, пропускная способность, надежность и масштабируемость.
- Потребление заряда батареи и производительность графики: Измерьте потребление заряда батареи мобильной игры. Потребление заряда батареи должно быть оптимальным в течение длительного времени, а скорость отклика игры должна быть удовлетворительной при различной интенсивности нагрузки на разных устройствах.
- Ограничения процессора и памяти: Счетчики производительности используются для измерения потребления ресурсов процессора и памяти приложением.
- Сетевое подключение: Измеряет время отклика мобильной игры в различных типах сетей (Wi-Fi, 3G, 4G, 5G). Это дает общее представление о том, насколько хорошо игра будет работать в нестабильных сетях, а также проверяет связь между мобильными устройствами, центрами обработки данных и облаком. Отслеживаются пиковые нагрузки, нестабильное соединение, дублирование данных, потеря пакетов и фрагментация данных.
- Тестирование производительности мобильных игр, особенно MMO-игр.
4) Проверка на соответствие/соответствие требованиям
Это включает в себя соответствие правилам торговой площадки (например, политике Apple App Store) и корпоративным политикам (например, в отношении запрещенного контента). Соответствие также может относиться к регулирующим органам, таким как PEGI и ESRB. Игра ориентирована на определенный рейтинг контента, и если обнаруживается неприемлемый контент, не соответствующий желаемому рейтингу, он выявляется и сообщается. Даже одно нарушение в заявке на получение лицензии может привести к отклонению игры, что повлечет за собой дополнительные расходы на дальнейшее тестирование и повторную подачу.
Пример: Если игра предназначена для выпуска в европейских странах, проверьте возможность конвертации в формат PAL; если игра выпускается для Северной Америки, проверьте возможность конвертации в формат NTSC.
5) Тестирование локализации
Тестирование локализации Это становится крайне важным, когда игра ориентирована на глобальные рынки. Названия игр, контент и тексты необходимо переводить и тестировать на устройствах на нескольких языках. Эти тесты можно быстро выполнить с помощью облачного доступа к устройствам и автоматизации тестирования.
Пример: Требования к локализации, специфичные для региона MENA (Ближний Восток/Северная Африка): локализация на арабский язык (поддержка текста справа налево, двунаправленное отображение), тестирование псевдолокализации, двухбайтовые символы для восточноазиатских языков, местное время и дата, валюта, форматы адресов и другие местные требования.
6) Испытание на замачивание
Этот метод автоматизированного тестирования игр предполагает длительное запуск игры в различных режимах — например, в режиме ожидания, паузы или на титульном экране. Такое длительное тестирование позволяет выявить утечки памяти или ошибки округления.
Пример: Игра началась, и персонаж вынужден оставаться в режиме ожидания в течение 24 часов. Этот метод используется для обнаружения сбоев, вызванных утечками памяти и другими ошибками в игровом движке.
7) Тестирование восстановления
В программном обеспечении тестирование восстановления Проверяется, насколько хорошо приложение восстанавливается после сбоев, аппаратных неполадок и других подобных сбоев. Приложение принудительно завершает работу с ошибкой, после чего отслеживается, как оно восстанавливается после сбоя и в окружающей среде.
Пример: Во время работы игрового приложения внезапно перезагрузите игровую консоль и проверьте целостность данных.
8) Тестирование безопасности
Тестирование безопасности проводится для проверки того, насколько безопасно работает программное обеспечение при воздействии внешних угроз. Оно охватывает защиту данных от внешних угроз, ограничения неконтролируемого доступа к системе, утечки данных, недостатки операционной системы, недостатки системы связи и слабые алгоритмы шифрования.
Пример: Изменение URL На игровом сайте переход с /login на /play не должен обеспечивать прямой доступ к играм.
9) Тестирование других игр
Тестирование реальных или виртуальных персонажей. В многопользовательских видеоиграх подключение к серверу и синхронизация статуса игры являются двумя критически важными областями, которые необходимо протестировать.
Пример: Многопользовательские 3D гоночные игры.
Проводится тестирование новых функций, таких как обновления статуса игры, приглашения в друзья и обмен премиальными подарками. Это гарантирует пользователю насыщенный игровой процесс.
Пример: Facebook, блоги.
Тестирование звука
Проверка наличия ошибок при загрузке файлов, прослушивание звуковых файлов на предмет ошибок или искажений, а также использование профилировщика цветовых комментариев для анализа комментариев.
Статистика базы данных и игры
Проверка базы данных с помощью отладки для выяснения того, правильно ли игра использует данные. Убедитесь, что данные загружаются в нужное место и отображают корректную информацию.
Тестирование методом «белого ящика»
Тестирование игр методом «белого ящика» фокусируется на архитектурных, интеграционных и системных аспектах мобильной игры.
- Code Осмотр: Проводится анализ исходного кода, логики программы, распространенных ошибок программирования и соответствия стандартам кодирования.
- Фокусное тестирование: Фрагменты кода подаются на вход изолированных модулей, после чего происходит анализ выходных данных.
- Анализ данных: Для различных модулей анализируются и проверяются использование, интерпретация и обработка данных.
- Тестирование пути и потока: Выполняется правильная последовательность действий с объектами.
- Тестирование, специфичное для конкретного алгоритма: Тестирование конкретного игрового сценария или функции путем установки переменных данных и значений данных в коде и его выполнения в среде выполнения.
- Искусственный интеллект Анализ: Генерируются статистические данные о выполнении программируемых движений и игровых комбинаций компонентом ИИ. Результат проверяется на предмет использования всех программируемых движений. Пример: боковой захват на сноуборде, а также такие комбинации ударов рукой или ногой в разных направлениях.
Вспомогательные игры с использованием адаптивных технологий
Вспомогательные игры также известны как игры для людей с ограниченными возможностями. Функции разработаны с использованием адаптивных технологий для людей с различными видами инвалидности, такими как слабое зрение, нечеткое зрение, слепота, неспособность различать цвета, а также нарушения речи, слуха, когнитивных функций, двигательных навыков и опорно-двигательного аппарата. Подход к проверке основан на тех же принципах, что и... тестирование доступности в основном программном обеспечении.
Cardinal Direction (CD) и Tower of London (TOL) — две популярные игры, адаптированные для пользователей с нарушениями зрения. В этих играх визуальные стимулы заменены звуковыми.
При тестировании подобной игры тестировщику следует обратить внимание на следующее:
- Цвета должны мигать по определенной схеме, и для каждого цвета должны воспроизводиться разные оттенки.
- Каждый цвет должен сопровождаться звуковым сигналом.
- Визуальные данные необходимо описывать словами, чтобы у игроков с нарушениями зрения не возникало проблем с их восприятием при использовании программ чтения с экрана.
- Игрок должен слышать звуки в игре в трех измерениях и уметь перемещаться по игровому миру, используя сенсорный экран, 3D-аудио и пространственное звучание.
Игровые метрики, которые должен знать тестировщик.
Одних только результатов тестирования недостаточно, чтобы сказать студии, был ли релиз успешным. Следующие показатели — это числа, которые тестировщик должен видеть вместе с отчетом об ошибке.
DAU/MAU (ежедневные активные пользователи / ежемесячные активные пользователи): Коэффициент соотношения числа активных пользователей, играющих ежедневно, к числу активных пользователей в месяц. Его также часто называют коэффициентом удержания.
сессия: Каждый раз, когда пользователь открывает приложение, это засчитывается как сессия. Здесь основное внимание уделяется среднему количеству сессий на одного активного пользователя в день.
Рейтинг загрузки: Рейтинг игры в конкретном магазине приложений (iOS, Android Play) по ежемесячным загрузкам игр.
Хранение: Очень важный показатель для Android Тестировщик бесплатной игры. Для расчета удержания пользователей разделите их на когорты в зависимости от дня загрузки приложения.
Показатели эффективности: Эти track — это производительность онлайн-игр или игр с постоянным доступом, то есть частота кадров, с которой игра выполняется на аппаратной платформе клиента, или, в случае игрового сервера, её стабильность. Показатели производительности можно использовать для отслеживания изменений функций и обновлений.
Ключевые риски при тестировании игр
Перечисленные ниже риски чаще всего превращают технически работоспособную сборку в коммерчески неудовлетворительную.
- Игра не создает захватывающего впечатления для целевой аудитории.
- В игре отсутствует ориентированный на игрока дизайн.
- Отсутствуют элемент развлечения и захватывающий игровой процесс.
- Игра не уникальна, не соревновательна и не отличается динамичным темпом.
- Игра проваливается из-за технических проблем, неработающих функций, критических багов, плохой музыки и звука или некачественной графики.
- Стоимость разработки игры превышает бюджет.
- Эстетический дизайн и игровой процесс не отличаются простотой.
