Тестирование игр

Полное руководство по тестированию игр

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

В условиях пандемии COVID-19 количество пользователей игр увеличилось в геометрической прогрессии. По данным Statista, в 2020 году число геймеров увеличилось с 188,2 миллиона до 201,9 миллиона. По прогнозам, к 2025 году этот показатель вырастет до 213,3 миллионов геймеров. 

На фоне растущей популярности тестирование игр приобретает все большее значение.

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

Что собой представляет тестирование игр?

Тестирование игр – важная часть геймдева (от англ. game development). Оно позволяет выявлять ошибки программ, чтобы предотвратить их негативное влияние на игровой опыт. Это помогает обеспечивать высокое качество игр и их производительность на различных платформах.

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

Тестирование игр влияет на:

  • Оценку качества игры. Каждая геймдев-компания желает обеспечить игрокам наилучшие впечатления от игры. Нанять квалифицированного тестировщика игр – один из самых лучших способов добиться этого.
  • Рейтинг видеоигр. Когда разрабатывается новая игра, тестирование оказывает огромное влияние на то, как ее воспримут покупатели, что сказывается на рейтинге игр.
  • Определение областей для улучшения. Большинство видеоигр за время своего существования многократно обновляются. Часть из них также становятся сериями и выпускают сиквелы. Тестирование игр позволяет разработчикам выявить области, которые необходимо улучшить, чтобы игры долго продержались на рынке.

Наиболее распространенные баги в играх

  • Баги в интерфейсе возникают, когда интерфейс игры неправильно отображается.
  • Технические баги подразумевают собой ситуации, когда игра не работает из-за нестабильного интернета или сетевого подключения.
  • Баги локализации – это ошибки, связанные с адаптацией игры под разные языки и регионы.
  • Баги производительности – значительное снижение числа кадров в секунду (FPS , Frames per second) во время игрового процесса.
  • Баги совместимости – это ошибки, возникающие, когда игры неправильно работают на различных устройствах или операционных системах.
  • Баги логики – эти ошибки, которые нарушают логику прохождения игры.

Проблемы, с которыми сталкиваются тестировщики игр

Прямой доступ к экрану

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

Интеграция с социальными сетями

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

Функция многопользовательской игры

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

Игровые движки

Выбор лучшего движка для игры – несомненно, сложная задача для разработчиков, но QA зачастую намного сложнее подготовиться к тестированию любого из предоставленных им движков. Они должны учитывать все особенности каждого движка и применять различные виды тестирования для повышения качества игры.

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

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

Цикл разработки игры

Прежде чем перейти к рассмотрению типов и процессов тестирования игр, давайте сначала взглянем на жизненный цикл разработки игр (GDLC, Game Development Life Cycle).

  1. Разработка концепции. На этом этапе разрабатывается идея или концепция игры и составляется документ, подробно описывающий эту концепцию.
  2. Препродакшн. Этап, на котором происходит доработка концепции и создание технической документации и плана проекта. На этом этапе дизайнеры также создают прототип игры на основе концепт-арта, уровней игры и других деталей.
  3. Разработка. На основе созданного прототипа программисты начинают разрабатывать игру. Художники начинают работать над моделированием, текстурами и анимацией.
  4. Альфа-версия. На этом этапе разрабатывается рабочий продукт с полным функционалом и готовым геймплеем. Используются временные элементы и заполнители. Это первый важный шаг в процессе собственно разработки игры.
  5. Бета-версия. На этом этапе игра полностью разрабатывается со всеми активами.
  6. Code freeze/gold. Все ошибки, выявленные на стадии бета-версии, устранены.
  7. Релиз. На этом этапе происходит выпуск игры.
  8. Патч/обновление. После релиза игры следующим этапом является ее сопровождение. При необходимости команда может выпустить патч для устранения ошибок, а также обновления, если в игру добавляются новые функции.

Виды тестирования, применяемые в тестировании игр

1. Комбинаторное тестирование

Этот метод тестирования программ и разработки тест-кейсов повышает эффективность выполнения тестов и обеспечивает более высокое качество игр.

Особенности:

  • Проверяет все возможные варианты значений параметров.
  • Определяет свойства, которые можно изменять в данных или настройках системы.

2. Clean room testing

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

Особенности:

  • Разработка начинается после составления формальной спецификации.
  • При разработке тест-кейсов используются математические и статистические методы.

3. Функциональное тестирование

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

Особенности:

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

4. Тестирование производительности

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

  • Время отклика на клиенте и сервере, время завершения транзакций, производительность при пиковых нагрузках, использование памяти, надежность и многое другое.
  • Потребление заряда батареи. Оно должно быть оптимальным, а отклики в игре должны оставаться стабильными при изменяющихся нагрузках.
  • Время отклика в различных типах сетей, таких как WiFi, 2G, 3G и 4G. Тестирование производительности также помогает проверить связь между мобильными устройствами, центрами обработки данных и отслеживать пиковые нагрузки, нестабильные соединения, дублирование данных, потерю пакетов и фрагментацию данных.

5. Тестирование совместимости 

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

Особенности:

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

6. Тестирование выносливости

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

7. Древовидное тестирование

Метод тестирования, который помогает упорядочить тест-кейсы и подобрать оптимальный набор тестов для проверки внесенных в код изменений.

Особенности:

  • Можно проводить до того, как будут разработаны макеты страниц и меню навигации.
  • Отслеживает возможные сбои в игре.

8. Play-тестирование

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

Особенности:

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

9. Тестирование восстановления

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

Например, во время работы игрового приложения внезапно перезагружается игровая приставка и проверяется целостность данных.

10. Регрессионное тестирование 

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

Особенности:

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

11. Ad hoc тестирование

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

Особенности:

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

12. Нагрузочное тестирование

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

Особенности:

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

Разница между тестированием игр и тестированием ПО

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

В отличие от тестирования программного обеспечения, в тестировании игр существует множество областей, которые требуют особо пристального внимания. Некоторые из этих аспектов:

  • Графика является ключевым фактором для привлечения пользователей к игре. Геймеры обычно любят участвовать в играх с высоким уровнем графики. Фактически, сегодня ни одна игра не может успешно существовать на рынке без отличной графики.
  • Еще один фактор – графический процессор (GPU) мобильного устроства. Если его работа не настроена правильно, то игра может вызвать замедление устройства из-за его перегрева. Поэтому тестировщики должны проверять игры на нескольких устройствах.
  • Кроме того, тестировщики должны запускать игру на различных устройствах и записывать такие важные показатели, как использование процессора, температура устройства, использование GPU, потребление данных и многое другое.

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

Как протестировать игру?

Общий процесс тестирования игры включает в себя следующие шаги:

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

Заключение

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

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

FAQs

1. Как писать тест-кейсы для игр?

Есть несколько важных областей, на которые следует обратить особое внимание при тестировании игр:

  • Пользовательский интерфейс и функциональность
  • Удобство использования и игровой опыт
  • Многопользовательские функции
  • Интеграция со стриминговыми платформами

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

2. Какие игровые движки наиболее популярны во всем мире?

Наиболее популярными игровыми движками являются:

  • Unreal Engine. Один из самых популярных и широко используемых движков, принадлежащий компании Epic Games. Это мультиплатформенный движок для разработки игр с использованием современных технологий для преобразования идей в увлекательный визуальный контент.
  • Unity. Простой в использовании игровой движок для создания 3D-игр, который подходит для множества платформ.
  • Amazon Lumberyard. Комплексный игровой 3D-движок от Amazon, предназначенный для создания игр и фанатских сообществ. Этот движок предлагает режим предварительного просмотра VR, инструменты для создания визуальных сценариев и интеграцию с Twitch.
  • Godot. Бесплатный движок с открытым исходным кодом для создания как 2D-, так и 3D-игр.

3. Какова роль звуковых эффектов в тестировании игр?

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

4. Что такое Kleenex-тестирование и фокус-группа?

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

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

Перевод статьи «A Complete Guide to Game Testing – Its Types and Processes».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *