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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Эксперт OTUS Дмитрий Шадрин приглашает всех желающих на бесплатный демо-урок курса "Game QA Engineer", в рамках которого расскажем про то как устроено современное тестирование игр, обсудим перспективы развития специалистов в сфере геймдева, а также рассмотрим основные отличительные черты в тестировании игр.


Чем занимаются тестировщики игр?

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

А суть работы состоит в поиске багов.

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

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

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

Речь не о них. Вместо этого давайте вспомним, какие «дыры» бывают в добротных играх. Например, в первом Halo есть уровень, где из-за бага вы можете остаться на борту транспортника «Пеликан», бросив гранату в самом начале. При этом, чтобы пройти уровень, «Пеликан» необходимо покинуть . Разработчики не ожидали, что игроки начнут кидаться гранатами, не дожидаясь приземления!

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

Задача тестировщиков игр — найти максимально возможное число подобных ошибок.

Сколько времени занимает тестирование игры?

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

Если персонажей в такой игре 12, драка каждого с каждым выльется в 144 матча. Однако уровней тоже больше одного, а значит, 144 драки повторятся на каждой из карт. Всего пять уровней, и вам предстоит уже 720 матчей. Как видите, даже небольшие цифры и ограниченный по функционалу жанр предполагают много дней работы тестировщика.

Если перспектива сыграть в файтинг тысячу раз вас все еще вдохновляет, то вы, наверное, представляете себе свою любимую игру. Скажем, Marvel vs Capcom, Dead or Alive или Mortal Kombat.

Но что если придется взяться за файтинг по мотивам мультика «Кунг-фу Панда»? В играх, которые вам не по вкусу, тоже нужно искать баги! Хватит ли вам силы воли, чтобы вложить сотни часов в тестирование подобного шедевра? Горькая правда такова: как правило, выбирать игры будет кто-то другой. Если повезет, может выпасть увлекательная новинка. Вероятнее всего, обязательства свяжут вас с играми, не вызывающими восторга.

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

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

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

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

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

Что должен уметь тестировщик игр?

Давайте поговорим о навыках.

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

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

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

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

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

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

Узнать подробнее о курсе "Game QA Engineer" можно здесь.

Источник: https://habr.com/ru/company/otus/blog/528294/


Интересные статьи

Интересные статьи

IT-департаменту ВТБ несколько раз приходилось сталкиваться с нештатными ситуациями в работе систем, когда нагрузка на них многократно возрастала. Поэтому появилась необходимость разработать и опр...
Приступая к животрепещущей теме резервного копирования на «Битрикс», прежде всего хотелось бы поблагодарить разработчиков, реализовавших автоматическое резервное копирование в облачное хранилище в вер...
Page Objects могут быть использованы как мощный метод абстракции (изоляции) ваших тестов от технической реализации. Важно помнить, их (Page Objects) можно использовать для увеличения стабильности...
Всем привет. Сегодня делимся с вами заключительной частью статьи «Тестирование инфраструктуры как код с помощью Pulumi», перевод которой подготовлен специально для студентов курса «DevOps практик...
Привет, Хабр! Я работаю в игровой компании, которая разрабатывает онлайн-игры. На текущий момент все наши игры делятся на множество “маркетов” (один “маркет” на страну) и в каждом “маркете” ес...