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

Изначально QA начинается с проверки минимальных системных требований, определенных разработчиком, своего рода бенчмарка, при прохождении которого мы можем ожидать, что игра будет работать без каких-либо серьезных проблем. Мы начинаем с изучения того, как игры работают на устройствах, отвечающих ее минимальным требованиям, потому что именно таким образом мы начинаем выявлять первичные проблемы и баги. Нереалистичные ожидания в отношении минимальных требований к играм вполне объяснимы, поскольку разработчики стремятся к тому, чтобы их продукт был доступен максимально возможному количеству геймеров в соответствии с их бизнес-планами. Тестирование, проводимое QA, также проверяет эти ожидания. Иногда бывает, что игра, тестируемая на устройстве с минимальными требованиями, просто не работает либо по причине долгого времени ее загрузки, либо по причине серии багов, из-за чего пользовательский опыт невозможен или не приносит никакого удовольствия.

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

Наша команда QA TagWizz поделилась двенадцатью самыми распространенными багами, возникающими при тестировании:

Краши

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

Фризы

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

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

Баги с внутриигровыми покупками

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

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

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

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

Баги с визуалом

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

Другими проблемами могут быть:

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

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

  • когда текстуры видны не в тех локациях.

Баги со звуком

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

Баги с коллизиями

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

Баги с навигацией

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

Геймплейные баги

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

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

Баги при загрузке ресурсов

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

Баги с локализацией текста

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

Тем не менее, многие мобильные игры в настоящее время не претендуют на идеальный перевод, потому что это может стоить довольно дорого. Вместо этого их цель состоит в том, чтобы игра была просто “понятной”. Как следствие, они часто используют инструменты автоматического перевода, такие как Google Translate. В таких условиях использование команды QA Localization для игры, переведенной Google, становится излишним.

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

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

Баги с обновлением

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

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

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

Баги с сохранением

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

Эта статья была написана с помощью группы экспертов TagWizz.


Недавно в OTUS состоялся открытый урок курса "Game QA Engineer" по теме «Тестирование графики в играх». На уроке поговорили о том, как и когда развивалась графика, об основных составляющих создания графики, что необходимо учитывать при тестировании изометрии, о 3-D и 2-D графике. Делимся с вами ссылкой на запись этой встречи.

Комментарии (3)


  1. dopusteam
    22.07.2022 14:08

    Выглядит просто как список, в принципе, всех существующих категорий багов


    1. OptimumOption
      22.07.2022 14:56

      Соглашусь — это просто перечень _категорий_, в которых встречаются баги… Статья ради буковок…


  1. lxsmkv
    22.07.2022 16:51

    Забыли упомянуть баги с сетевым соединением и/или с сетевым мультиплеером. Например игра просто время от времени разьединяется. Или время от времени не соединяется.