Что нужно чтобы стать тестировщиком игр
Тестирование игр
Эксперт OTUS Дмитрий Шадрин приглашает всех желающих на бесплатный демо-урок курса «Game QA Engineer», в рамках которого расскажем про то как устроено современное тестирование игр, обсудим перспективы развития специалистов в сфере геймдева, а также рассмотрим основные отличительные черты в тестировании игр.
Чем занимаются тестировщики игр?
Официально вакансия называется QA tester, или, по-русски, тестировщик. QA означает «quality assurance», то есть «обеспечение качества» видеоигры. Эти слова описывают цель работы и отражают разницу между простым прохождением игр и их тестированием.
А суть работы состоит в поиске багов.
Ваша задача при тестировании — сломать игру. Необходимо выловить весь код, который работает неправильно. Для этого проходить игру и проверять ее на прочность нужно весьма изобретательно.
Задумайтесь: в игре масштаба Skyrim возможны миллионы последовательностей действий игрока. Взаимодействия с предметами, персонажами и окружением происходят в разном порядке и разных сочетаниях.
Тестировщик должен перебрать как можно больше таких комбинаций, чтобы проверить, что они работают корректно. А для этого нужно в том числе нестандартно мыслить. Вы должны взаимодействовать с миром неожиданным, даже немыслимым для разработчиков образом. Вспомните известные вам баги в играх. Сразу оговоримся, что существуют халтурные поделки, разработчики которых словно сдались, не доведя работу до конца.
В играх любого жанра найдется бесконечное число багов с предметами и уровнями. Просто потому, что нетипичных игровых действий куда больше, чем могут предвидеть разработчики.
Задача тестировщиков игр — найти максимально возможное число подобных ошибок.
Сколько времени занимает тестирование игры?
Чтобы отловить все баги до единого, тестировщики проверяют абсолютно все возможные комбинации игровых элементов. Возьмем файтинг: каждый из доступных персонажей должен встретиться со всеми остальными на всех существующих уровнях.
Если персонажей в такой игре 12, драка каждого с каждым выльется в 144 матча. Однако уровней тоже больше одного, а значит, 144 драки повторятся на каждой из карт. Всего пять уровней, и вам предстоит уже 720 матчей. Как видите, даже небольшие цифры и ограниченный по функционалу жанр предполагают много дней работы тестировщика.
Если перспектива сыграть в файтинг тысячу раз вас все еще вдохновляет, то вы, наверное, представляете себе свою любимую игру. Скажем, Marvel vs Capcom, Dead or Alive или Mortal Kombat.
Но что если придется взяться за файтинг по мотивам мультика «Кунг-фу Панда»? В играх, которые вам не по вкусу, тоже нужно искать баги! Хватит ли вам силы воли, чтобы вложить сотни часов в тестирование подобного шедевра? Горькая правда такова: как правило, выбирать игры будет кто-то другой. Если повезет, может выпасть увлекательная новинка. Вероятнее всего, обязательства свяжут вас с играми, не вызывающими восторга.
Придется встретиться и с распределением нагрузки. Иные проекты слишком велики, чтобы каждый тестировщик мог пройти их целиком. Поэтому вам выдадут на тестирование определенный фрагмент, и вы должны будете досконально проверить все возможности в этой узкой зоне ответственности — чтобы ваши 10 % игры работали на все сто.
«Тестировать игру» не значит «просто играть», точно так же как «заниматься монтажом кинофильма» не значит «смотреть кино». Вам придется многократно повторять одни и те же действия. Бывает, одну и ту же локацию перепроходишь месяцами!
Монотонность усугубляется тем, что для составления отчета вам нужно суметь воспроизвести любой баг. Даже если ошибка приводит к вылету из игры, но вы не поняли, почему это произошло, отчет не будет иметь смысла. Требуется описать действия, ведущие к повторению бага, до мельчайших деталей, чтобы разработчики смогли их повторить и попытаться исправить проблему.
Впрочем, все вышесказанное не значит, что тестировать игры невыносимо скучно. Это лишь сопоставление ожиданий и реальности.
Вы не будете, развалившись на диване, рубиться в бета-версию Overwatch, раз за разом вынося лузеров и купаясь в лутбоксах. Скорее всего, вам придется, сидя в офисе, час за часом перепроходить один и тот же фрагмент малоизвестной игры, пытаясь ее сломать.
Что должен уметь тестировщик игр?
Давайте поговорим о навыках.
В работе тестировщика невероятно важна внимательность к деталям. Чтобы успешно работать в этой сфере, нужно уметь замечать любые мелочи.
Гибкость мышления тоже пригодится. Придумывать все новые способы сломать игру поможет творческий подход. Главное, не давать порывам вдохновения себя отвлечь.
Значит, нужно развить в себе суперсилу: абсолютное сосредоточение. Чем ближе дедлайны, тем больше у вас работы, и продуктивность нельзя терять ни на минуту. Никогда не знаешь, сколько багов ждет впереди, а надо собрать их все: играть по настроению уже не выйдет.
Не обойтись и без навыков коммуникации. Помните: мало увидеть баг, нужно суметь рассказать разработчикам, как его воспроизвести.
Идеальный отчет об ошибке не должен быть началом долгой переписки с разработчиком. Лучше всего, если единственным ответом на него будет письмо в отдел тестирования о том, что баг исправлен. Никто не любит тратить время на уточняющие вопросы, поэтому способность сразу донести мысль играет решающую роль.
Помните также, что иногда вам придется говорить с самыми разными людьми. Не всеми ошибками занимаются только программисты. Нужно уметь найти общий язык со всеми отделами, разрабатывающими игру. Например, может оказаться, с программистами лучше говорить прямо, без обиняков, а вот в диалоге с художниками могут потребоваться более аккуратные формулировки.
Узнать подробнее о курсе «Game QA Engineer» можно здесь.
Чем нужно обладать, чтобы стать тестировщиком игр?
Многие знакомые тестировщики (и не только) спрашивают меня — что нужно, чтобы тестировать игры? Нужны ли какие-то особенные качества, знания, умения? Ну конечно нужны! Как и в любой другой работе с любым другим продуктом. Но все же — чем конкретно должен обладать тестировщик, чтобы работать в Геймдеве?
На мой взгляд это:
Геймер хай-левела
Тестировщик игр в первую очередь должен уметь играть. И неплохо.
— понимать, как видит продукт конечный пользователь;
— предугадать, что беспокоит пользователя;
— знать язык, на котором говорят игроки.
Все это дает определенные скилы в работе. А именно:
1. Вы знаете, где чаще всего бывают «дырки».
Если вы играли в 5 игр определенного жанра, и в одной из них наткнулись на какой-то баг — вы проверите этот баг в своем проекте.
2. Играя в игры, вы лучше понимаете механику игры, как и что с чем может быть связано.
3. При введении нового функционала, вы сможете понять некоторые моменты, которые могут с наибольшей вероятностью вызвать негативную реакцию, или быть очень сложной для прохождения/или вовсе непроходимый
4. Получая от игрока описание бага в подобном формате (цитата ниже) вы должны дословно понять о чем он говорит и где /в чем ошибка:
я взял квест, а монстр1 нет, но наше пати пустило в топь, лут падал обоим, а не только мне. и какого то фига монстр1 юзанул печать, и застанил босса, хотя на нем висел баф неуязвимости, должен был сработать антибаф, затем аоешка, но он не аоешил, хп не убавлялось, а при юзе хилок агрились попугайосы, которые прилетали с логова в начале карты.
Хороший тестировщик не только находит и описывает ошибки, но и предлагает варианты их исправления.
Для этого нужно обладать отличным воображением и фантазией.
Креативность в играх очень важный параметр, и фразой — пусть думают о креативности те, кому за это деньги платят (маркетинг, отдел геймдизайна, продюсер) не прокатит. Вы одна команда, и мозговые штурмы будут вашими друзьями. Да вам самим это понравится, поверьте.
Как и в локализации, так и в играх, которые создаются на «родном» языке, программисты могут ошибаться, опечатываться и пр. (Вплоть до того, что знать русский язык на 12 баллов не обязаны). А тестировщик — должен.
Ибо ошибки в текстах (будь то грамматика или орфография) — это также баги. Пусть и малозначительные.
Дипломатия, Тактика, Умение объяснять, Аргументировать и Коммуникабельность
Все это не ново, и требуется в любой работе, но в играх с этим немножечко сложней.
Вам будет непросто объяснить отделу геймдизайна, почему вы считаете, что созданный и такой любимый новый босс — г****.
И сделать это так, чтоб они не только не обиделись, а и посчитали, что предложенный вами фикс не _ваше_ гениальное решение, а ИХ.
Ну и хороший тестировщик (на мой взгляд) умеет общаться с пользователями. Это тоже нелегко.
Почему умение объяснять отдельно от аргументирования?
— Тут все просто. Объяснять вы будете программистами и пользователям. Причем, в обоих случаях вы будете в роли телефона.
У программистов свой язык общения, у пользователей — свой. Вы должны еще и уметь переводить.
Если программист будет пытаться объяснить пользователю как почистить тот же кеш — это будет катастрофа.
Тоже самое будет если пользователь опишет свою ошибку в игре программисту.
Вам нужно уметь «провести» информацию из одного источника в другой так, чтоб оба остались довольны и все поняли.
Очень часто, когда меня спрашивают, а как вот это объяснить пользователю — я говорю им, представить, что пользователь — их мама или бабушка/дедушка, которому из ваших слов должно быть понятно, что вы ему говорите.
Многие могут сказать, что это задача отдела техобслуживания или комьюнити-менеджера.
Я так не считаю. Хотя, признаю, такой подход также существует. В любом случае, тестировщику это не помешает.
Хороший тестировщик играет в свой продукт. Хотя бы на начальном этапе. И у этого тестировщика, наверняка, есть «виртуальные» друзья, сокланы. Возможно даже, что у него есть «реальные» друзья, которые также играют в его продукт.
И в данном пункте есть 2 нюанса, которые я разделила на подпункты.
К личному я отношу то, что тестировщик, который играл/играет в игру не должен при тестировании отталкиваться от себя — а как это будет для меня выгодно/хорошо/плохо. При этом, думать он должен, но всего лишь «примерив шкуру пользователя», а не став им.
Думать нужно обо всех, а не о себе.
У вашего друга, будь он виртуальный или реальный, рано или поздно возникнут какие-то проблемы в игре.
И он, скорее всего, с этой проблемой придет к вам. И вот тут ВАЖНО поставить и оценить проблему друга, как проблему любого другого игрока, который таковым не является. Пользователи — едины. Будь они вашими друзьями/родителями. Не нужно никого выделять. Никогда.
Тестировщик, который делает проект, но не заинтересован в нем (не любит то, что делает) — плохой тестировщик для этого проекта. Свой проект нужно любить. Можно даже фанатично. Но быть равнодушным нельзя — это зло.
Большинству этих навыков можно изучить в процессе работы. Кроме — любви и умения играть. С этим вы должны прийти в геймдев. Остальному научат. Или сами научитесь.
Основы тестирования, методы и методики, опыт и прочее — это все учится. Хотя основы этого — (прочесть того же Савина) нужно обязательно.
Приветствуется : логическое мышление, математические, ответственность, здоровый перфекционизм, знание английского, html, sql, python,java,c++ (последние 3 редко случается)
Да, конечно, это далеко не все, что я бы выделила из навыков и умений нашего персонажа «Тестировщик игр». Но это база, с которой можно идти на амбразуру.
Дополнение к статье — приветствуются.
А может, у вас есть какие-то требования к данному типу тестировщиков?
Поделитесь в комментариях, мне очень интересно!
Как стать тестировщиком с нуля
Основы тестирования можно освоить без курсов за 120K. Наш QA-инженер Антон в прошлом работал на стройке и самостоятельно переучился на тестировщика игр за полгода. В статье он расскажет, как нашел бесплатный курс, сколько часов в день тратил на теорию и зачем в перерывах между занятиями рубил дрова.
«Ребята, работаю охранником, мне 40 лет. На кого пойти переучиться?» Этот пост на Пикабу сразу меня зацепил: я мечтал бросить работу на стройке, но не знал, чем зарабатывать дальше. В комментариях увидел ссылку на бесплатный курс по QA. Посмотрел вводный урок о профессии тестировщика и на следующий день уволился.
Видео, после которого я решил учиться на тестировщика. Скриншот с YouTube
Составьте план обучения
После увольнения устроил себе долгий-долгий отпуск. Шучу 🙂 Сразу сел за курс и, вдохновленный, решил изучать его по 8 часов в день. Не считал, сколько месяцев буду осваивать основы тестирования, а потом искать работу. Не считал, сколько денег нужно на этот период.
У нас с женой было отложено около 90 тысяч, казалось, нам хватит надолго: машины нет, квартира своя. Ели гречку, макароны, сосиски, хлеб. Из развлечений оставили только прогулки по улице.
Отложенные деньги закончились через 4 месяца, а я еще не открывал сайты с вакансиями. Пришлось переехать к родителям жены: мы не могли даже оплатить коммуналку. Тогда я поставил себе дедлайн — через 2 месяца устроиться в IT-компанию.
Совет: сразу решите, когда закончите учебу и станете искать работу. Рассчитайте, сколько денег нужно на этот период. Не начинайте ничего без финансовой подушки.
Найдите базовый курс для тестировщиков
Я не хотел платить адские деньги за курсы: в интернете есть тысячи бесплатных материалов по основам тестирования. Но в них легко запутаться, особенно когда не знаешь базу. Поэтому я сосредоточился на бесплатном курсе Михаила Портнова «Тестирование программного обеспечения в США», который рекомендовали на Пикабу.
Курс — топ за свои деньги 🙂 Во время уроков Михаил Портнов шарит экран компьютера и показывает, как ищет баги и пишет баг-репорты. Иногда он отвлекается от теории и рассказывает истории из жизни, чтобы мотивировать новичков. В курсе 23 видео по 2 часа, есть проверочные онлайн-тесты и практические задания. Минус — нет обратной связи.
Пример домашнего задания из курса Михаила Портнова. Скриншот с YouTube
Чтобы лучше запомнить уроки, я конспектировал их от руки. Не забивал на домашние задания, старался сделать на «отлично» — как если бы от качества зависело, отчислят меня с курса или нет. В конце дня перечитывал свои конспекты и вслух пересказывал их жене.
Конспект от руки, как в универе
Совет: заучивайте лекции, делайте домашки, и тогда любой курс будет работать.
Ограничивайте и сортируйте информацию
К базовому курсу я подключал другие источники. Если в уроке попадался незнакомый термин — какая-нибудь «верификация» или «валидация», — то ставил видео на паузу и шел гуглить. Изучал все статьи подряд. Думал, чем больше прочитаю, тем лучше разберусь, но по факту либо читал одну и ту же информацию в разной подаче, либо углублялся в экспертные дебри, в которых ничего не понимал. В итоге решил смотреть не более двух-трех сайтов по непонятной теме.
Когда серфишь, список закладок растет в геометрической прогрессии. У каждой статьи по десять ссылок на другие статьи, а у тех статей — еще десять. Под конец обучения я боялся открывать свои закладки: там царил неудержимый хаос. Я так и не решился его упорядочить и потерял много классных ресурсов.
Совет: не пытайтесь прочитать весь интернет. Изучайте темы:
— как составлять тест-кейсы,
— как составлять чек-листы,
— что такое классы эквивалентности и как их выделять,
— что такое метод граничных значений,
— как правильно оформить баг,
— какие бывают виды и уровни тестирования,
— что такое клиент-серверная архитектура и как она работает.
Сохраняйте полезную информацию по этим темам в закладки. Сортируйте закладки по папкам.
Занимайтесь краудтестингом
Как только я прошел половину курса, захотел применить свои знания на практике.
Чтобы получать много заказов, нужно много девайсов. У меня был только комп, мой мобильник и мобильник жены. Я поставил виртуальные машины с различными ОС и Android Studio на свою винду. Так набралось 20 девайсов, которые я и указал в профиле. С инвайтами проблем не было.
Проблемы были с оформлением багов. Мне возвращали баг-репорты, потому что неправильно называл баги, описывал их не по ТЗ, прикреплял мало скриншотов. Я переделывал, переделывал и еще раз переделывал. В итоге за несколько месяцев на краудтестинге научился правильно оформлять баг-репорты.
Совет: сосредоточьтесь на качестве баг-репортов, а не на их количестве.
Отдыхайте от учебы (хоть иногда)
Освоением новой профессии я занимался по 11 часов в день: 8 часов на теорию и 3 — на практику. Во время обеда быстро грел еду и сидел с тарелкой за компьютером. Когда голова совсем закипала, позволял себе максимум 5 минут, чтобы встать со стула и пройтись по комнате. Никаких соцсетей, просмотра новостей и видосиков на Ютубе.
Такой экстремальный режим измотал меня: хуже запоминал информацию, быстро уставал. Поэтому решил делать нормальные перемены в течение дня — по 15–20 минут каждые 2 часа. В это время гулял вокруг дома, рубил дрова, помогал с домашней работой. Если не находил проект на краудтестинге, то вечером со спокойной совестью отдыхал.
Совет: устраивайте перемены по 15 минут каждые несколько часов. Полноценно отдыхайте по вечерам.
Смотрите, читайте, слушайте
Сложно учиться 8 часов подряд, даже с небольшими передышками в течение дня. Чтобы голова не закипала, я постоянно переключался между просмотром видео, чтением бумажной книги, изучением сайта и т. д.
Как это выглядело? Когда начинал тупить над видеоуроком, переключался на чтение книги. Когда начинал перечитывать абзац по сто раз, включал подкаст про тестирование и ложился на диван. Когда переставал слышать информацию, открывал форум по тестированию. И так по кругу. Иногда в течение часа менял источники каждые 20 минут.
Совет: переключайтесь между источниками информации, как только начинаете тупить. Заранее составьте список книг, сайтов, подкастов или воспользуйтесь перечнем, который я спрятал под кат в конце статьи.
Ищите вакансии на позицию интерна
Чтобы стать тестировщиком с нуля, я потратил полгода. Первые четыре месяца просто учился, оставшиеся два — учился и искал работу. Искать было тяжело, получил 15 отказов и почти отчаялся, но тут мне попалась вакансия Plarium Krasnodar. Они набирали тестировщиков онлайн-игры без опыта работы на позицию интернов. Интерны — это специалисты начального уровня: компания обучает их, так как видит потенциал.
Мое сопроводительное письмо в одну из компаний. Только за образец брать не надо, ладно?
Теоретические знания и опыт в краудтестинге помогли мне выполнить тестовое задание, а на собеседовании ребята расспрашивали про мое самообразование. Через день позвонила HR и сказала, что меня берут в интернатуру. Первые 3 месяца я обучался под руководством крутого тестировщика, потом сдал финальный тест и стал самостоятельно заводить баги. В этом месте звучат фанфары, и занавес медленно опускается 🙂
Не совет: я не знаю, как закончить статью. Писать что-то из серии «Иди к своей цели» или «Ученье — свет» не хочется. Поэтому беру помощь Хабра. Опытные тестировщики, давайте вместе сделаем статью полезной. Что еще можно почитать/посмотреть новичкам? Какие курсы рекомендуете?
Книги
«Тестирование программного обеспечения. Базовый курс», С. Куликов. Написана простым языком, с юмором.
«Тестирование программного обеспечения», С. Канер, Д. Фолк, Е. К. Нгуен. Книга сложная. Осилят не все.
«Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах», Р. Савин. Для новичков, без сложных терминов.
«Быстрое тестирование», Р. Калбертсон, К. Браун, Г. Кобб. Книга о том, как тестировать быстро и качественно.
«Кровь, пот и пиксели. Обратная сторона индустрии видеоигр», Дж. Шрейер. Прочитайте, если хотите идти в геймдев.
«Как тестируют в Google», Дж. Уиттакер, Дж. Арбон, Дж. Кароло. Общая информация о работе QA в большой корпорации.
Сайты
Сообщество программистов DOU. Новости, тренды тестирования и IT-индустрии в целом.
Software-Testing.Ru. В разделе «Библиотека» есть подраздел для новичков — «Начинающему тестировщику». Там много мегаполезных статей.
Testbase.ru. Коротко об основах тестирования. Помогает разобраться в терминах.
Группы ВКонтакте
QA тестирование и котики. Вакансии, приколы, практические советы.
Ключ седого тестировщика. Создатели сообщества регулярно отвечают на вопросы новичков.
QA Club. Много видеоконтента о тестировании.
QA NINJAS. Работающий тестировщик делится своим опытом в статьях.
Телеграм-каналы
QA — Курсы и образование. Обсуждение курсов, книг, мастер-классов по тестированию.
QA — Bad Company! Про компании, в которые стоит или не стоит идти тестировщику.
Тестировщик игр: кто это, обязанности, зарплаты и как им стать в 2021 году. Обзор профессии.
Кто такой тестировщик игр?
Тестировщик игр — это специалист, который играет в видеоигры, находящиеся в стадии разработки, чтобы проверить их на наличие ошибок, также известных как глюки или баги. Тестировщики игр обычно работают в компаниях, выпускающих видеоигры, часто в тесной связи с программистами и другими техническими членами команды разработчиков.
Что делают тестировщики игр и чем занимаются?
Обязанности на примере одной из вакансий:
Что должен знать и уметь тестировщик игр?
Требования к тестировщикам игр:
Востребованность и зарплаты тестировщиков игр
На сайте поиска работы в данный момент открыто 227 вакансий, с каждым месяцем спрос на тестировщиков игр растет.
Количество вакансий с указанной зарплатой тестировщика игр по всей России:
Вакансий с указанным уровнем дохода по Москве:
Вакансий с указанным уровнем дохода по Санкт-Петербургу:
Как стать тестировщиком игр и где учиться?
Варианты обучения для тестировщика игр с нуля:
Ниже сделали обзор 4 лучших онлайн-курсов.
4 лучших курса для обучения тестировщика игр: подробный обзор
1 место. Курс «Game QA Engineer» — OTUS
В течение курса вы углубитесь в специфику тестирования игр:
Все эти навыки позволят вам системно подходить к тестированию игр, и тем самым ускорить процессы и выявлять неочевидные баги.
Для кого этот курс?
Если вы фанат игр и у вас есть компания мечты, в которой вы хотели бы начать работать, данный курс даст вам необходимый фундамент и преимущества, чтобы привлечь внимание работодателя.
Программа курса:
Модуль 1. Функциональность игр
Модуль 2. Игровые платформы
Модуль 3. Тестирование в игровых движках и эмуляторах
Модуль 4. Автоматизация и производительность игр
Модуль 5. Базовое управление тестированием
Модуль 6. Подготовка к собеседованию, сертификация
Выпускной проект
После курса предполагается итоговое выпускное тестирование! И оно будет очень сложным.
По окончании курса выдаётся сертификат.
2 место. Курс «Тестировщик игр» — Synergy
На обучении ты сможешь не только научиться искать ошибки, но и взаимодействовать с разработчиками и геймдизайнерами, познакомишься с видами тестирования и прокачаешь свой игровой опыт.
Программа курса на 1-й месяц:
Обучение длится 6 месяцев.
По окончании обучения вы получите диплом государственного образца. Это официальный документ, который подтверждает, что вы получили все необходимые знания и навыки по профессии. Работодатели в первую очередь отдают предпочтение тем специалистам, которые имеют подтверждения своего обучения.
3 место.Курс «Тестирование компьютерных игр» — ООО “Планета тестирования”
После прохождения онлайн-курса вы научитесь:
Учебная программа: