Учебное пособие по тестированию игр: Как тестировать мобильные/настольные приложения

⚡ Умное резюме

Тестирование игр — это процесс контроля качества, применяемый к видеоиграм, направленный на выявление дефектов в игровом процессе, графике, звуке и сети, чтобы версия, поставляемая игрокам, оставалась стабильной, соответствовала требованиям и доставляла удовольствие.

  • 🔘 Три этапа жизненного цикла: Предпроизводственный этап, производственный этап, а также этапы тестирования и развертывания включают в себя отдельные этапы проверки.
  • ☑️ Девять основных типов: Стандартный набор проверок включает в себя проверку функциональности, совместимости, производительности, соответствия стандартам, локализации, устойчивости к воздействию окружающей среды, восстановления, безопасности и многопользовательской игры.
  • По своей природе повторяющийся: В каждой новой сборке могут вновь появляться дефекты, поэтому к тестовой документации возвращаются при создании каждого прототипа.
  • 🧪 Покрытие по принципу «белого ящика»: Code Проверка, целенаправленное тестирование, анализ данных, тестирование траекторий и потоков, анализ алгоритмов и искусственного интеллекта – загляните внутрь движка.
  • Игры с поддержкой: Адаптивная технология заменяет визуальные стимулы звуковыми подсказками для игроков с нарушениями зрения, слуха, когнитивными или двигательными расстройствами.
  • 📊 Метрики имеют значение: Показатели DAU/MAU, количество сессий, рейтинг загрузок, когорты удержания и частота кадров позволяют количественно оценить эффективность релиза.

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

Что такое тестирование игр?

Тестирование игры Тестирование игр — это процесс тестирования программного обеспечения, предназначенный для проверки качества видеоигр. Главная цель тестирования игр — выявление и обнаружение дефектов и ошибок в видеоигре, а также улучшение её стабильности и производительности. Тестирование игр является компонентом разработки игр, который помогает гарантировать отсутствие ошибок в выпускаемой видеоигре.

Прежде чем рассматривать отдельные методы, полезно понять, какое место тестирование занимает в более широком цикле разработки.

Жизненный цикл разработки игр

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, блоги.

Тестирование звука

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

Статистика базы данных и игры

Проверка базы данных с помощью отладки для выяснения того, правильно ли игра использует данные. Убедитесь, что данные загружаются в нужное место и отображают корректную информацию.

Тестирование методом «белого ящика»

Тестирование игр методом «белого ящика» фокусируется на архитектурных, интеграционных и системных аспектах мобильной игры.

  1. Code Осмотр: Проводится анализ исходного кода, логики программы, распространенных ошибок программирования и соответствия стандартам кодирования.
  2. Фокусное тестирование: Фрагменты кода подаются на вход изолированных модулей, после чего происходит анализ выходных данных.
  3. Анализ данных: Для различных модулей анализируются и проверяются использование, интерпретация и обработка данных.
  4. Тестирование пути и потока: Выполняется правильная последовательность действий с объектами.
  5. Тестирование, специфичное для конкретного алгоритма: Тестирование конкретного игрового сценария или функции путем установки переменных данных и значений данных в коде и его выполнения в среде выполнения.
  6. Искусственный интеллект Анализ: Генерируются статистические данные о выполнении программируемых движений и игровых комбинаций компонентом ИИ. Результат проверяется на предмет использования всех программируемых движений. Пример: боковой захват на сноуборде, а также такие комбинации ударов рукой или ногой в разных направлениях.

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

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

Cardinal Direction (CD) и Tower of London (TOL) — две популярные игры, адаптированные для пользователей с нарушениями зрения. В этих играх визуальные стимулы заменены звуковыми.

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

  1. Цвета должны мигать по определенной схеме, и для каждого цвета должны воспроизводиться разные оттенки.
  2. Каждый цвет должен сопровождаться звуковым сигналом.
  3. Визуальные данные необходимо описывать словами, чтобы у игроков с нарушениями зрения не возникало проблем с их восприятием при использовании программ чтения с экрана.
  4. Игрок должен слышать звуки в игре в трех измерениях и уметь перемещаться по игровому миру, используя сенсорный экран, 3D-аудио и пространственное звучание.

Игровые метрики, которые должен знать тестировщик.

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

DAU/MAU (ежедневные активные пользователи / ежемесячные активные пользователи): Коэффициент соотношения числа активных пользователей, играющих ежедневно, к числу активных пользователей в месяц. Его также часто называют коэффициентом удержания.

сессия: Каждый раз, когда пользователь открывает приложение, это засчитывается как сессия. Здесь основное внимание уделяется среднему количеству сессий на одного активного пользователя в день.

Рейтинг загрузки: Рейтинг игры в конкретном магазине приложений (iOS, Android Play) по ежемесячным загрузкам игр.

Хранение: Очень важный показатель для Android Тестировщик бесплатной игры. Для расчета удержания пользователей разделите их на когорты в зависимости от дня загрузки приложения.

Показатели эффективности: Эти track — это производительность онлайн-игр или игр с постоянным доступом, то есть частота кадров, с которой игра выполняется на аппаратной платформе клиента, или, в случае игрового сервера, её стабильность. Показатели производительности можно использовать для отслеживания изменений функций и обновлений.

Ключевые риски при тестировании игр

Перечисленные ниже риски чаще всего превращают технически работоспособную сборку в коммерчески неудовлетворительную.

  1. Игра не создает захватывающего впечатления для целевой аудитории.
  2. В игре отсутствует ориентированный на игрока дизайн.
  3. Отсутствуют элемент развлечения и захватывающий игровой процесс.
  4. Игра не уникальна, не соревновательна и не отличается динамичным темпом.
  5. Игра проваливается из-за технических проблем, неработающих функций, критических багов, плохой музыки и звука или некачественной графики.
  6. Стоимость разработки игры превышает бюджет.
  7. Эстетический дизайн и игровой процесс не отличаются простотой.

Часто задаваемые вопросы (FAQ)

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

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

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

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

Типичная стопка пар дефектов tracker с инструментом управления тестированием, встроенной в движок системой автоматизации, профилировщиком GPU или CPU, сетевым шейдеромping утилиты и облако для реальных устройств для покрытия мобильное тестирование матрица устройств.

Альфа-версия означает, что набор функций завершен, но находится в черновом варианте. Бета-версия означает, что контент заблокирован, и основное внимание переключается на исправление ошибок и балансировку, часто с привлечением сторонних разработчиков. Золотая версия означает, что сборка одобрена для выпуска и отправлена ​​на сертификацию платформы.

Укажите номер сборки, платформу и устройство, точные шаги воспроизведения, частоту возникновения проблемы, ожидаемое и фактическое поведение, а также видеоролик с лог-файлом. Игры — это визуальный процесс, поэтому короткая запись устраняет неясности, которые редко удается разрешить одними лишь письменными инструкциями.

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

Подведем итог этой публикации следующим образом: