Найти в Дзене
RDSAW

Охотники за багами или как тестируют игры

Вы когда-нибудь задумывались, кто стоит между вами и игровым апокалипсисом? Между тем моментом, когда вы запускаете долгожданный проект, и тем хаосом, в который он мог бы превратиться? Это не программисты. И не дизайнеры. Это — тестировщики. Самые терпеливые люди в индустрии. Их работа — не играть. Их работа — ломать. День начинается не с эпичного квеста, а с чек-листа. Жёсткого, подробного, скучного. «Нажмите кнопку «Старт». Перейдите в меню «Инвентарь». Выберите третий меч. Нажмите «Экипировать». Тестировщик делает именно то, что задумал разработчик. Он — идеальный, послушный игрок. Он проверяет, открываются ли двери, наносят ли удары мечи, запускаются ли диалоги. Это базовая, рутинная и абсолютно необходимая работа. Если игра не делает то, что должна, это найдут здесь. А вот теперь начинается магия. Чек-лист отложен в сторону. Наступает время исследовательского тестирования. Здесь тестировщик превращается в агента хаоса. Его цель — сделать всё, что не должен делать нормальный челове
Оглавление

Вы когда-нибудь задумывались, кто стоит между вами и игровым апокалипсисом? Между тем моментом, когда вы запускаете долгожданный проект, и тем хаосом, в который он мог бы превратиться? Это не программисты. И не дизайнеры. Это — тестировщики. Самые терпеливые люди в индустрии. Их работа — не играть. Их работа — ломать.

Не в обиду тестировщикам
Не в обиду тестировщикам

Функциональное тестирование: следование сценарию

День начинается не с эпичного квеста, а с чек-листа. Жёсткого, подробного, скучного. «Нажмите кнопку «Старт». Перейдите в меню «Инвентарь». Выберите третий меч. Нажмите «Экипировать». Тестировщик делает именно то, что задумал разработчик. Он — идеальный, послушный игрок. Он проверяет, открываются ли двери, наносят ли удары мечи, запускаются ли диалоги. Это базовая, рутинная и абсолютно необходимая работа. Если игра не делает то, что должна, это найдут здесь.

Исследовательское тестирование: рождение хаоса

А вот теперь начинается магия. Чек-лист отложен в сторону. Наступает время исследовательского тестирования. Здесь тестировщик превращается в агента хаоса. Его цель — сделать всё, что не должен делать нормальный человек.

Он будет пытаться застрять в каждой текстуре. Он будет биться головой об одну и ту же стену триста раз, проверяя, не «поплывёт» ли геометрия. Он будет прыгать с самых высоких утёсов, пытаясь упасть под мир. Он будет экипировать предметы в невероятных сочетаниях, заставлять NPC сталкиваться друг с другом, сэкономить все ресурсы и попытаться купить легендарный меч на первой минуте игры.

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

Регрессия и экзекуция железа

Допустим, программисты починили летающую лошадь. Работа окончена? Как бы не так! Начинается регрессионное тестирование — возможно, самая душераздирающая часть работы. Нужно проверить ВСЁ, что работало до этого, снова. Потому что, чиня одну дыру, можно незаметно проделать три новые. Вдруг после починки лошади перестали открываться сундуки? А главный герой разучился плавать? Тестировщик снова проходит все те же квесты, проверяя, не рухнул ли хрупкий мир игры после очередного вмешательства.

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

Классификация: от катастрофы до «мелочи»

Найденный баг — это не просто «ой, сломалось». Это артефакт, который нужно описать с криминалистической точностью. Каждый баг заносится в систему (баг-трекер) с четкой классификацией:

Критический (S1): Игра не запускается. Вылетает после заставки. Сохранения стираются. Всё, играть невозможно. Паника. Чинить нужно вчера.
Серьёзный (S2): Главный квестовый NPC провалился под текстуры. Финал игры недостижим. Можно бегать по миру, но цели нет.
Значительный (S3): Сломан важный навык. Улучшение брони не работает. Играть можно, но очень обидно.
Косметический (S4): У бегущего NPC трясётся прядь волос не в ту сторону. На камне плавает тень. Мелочь, которую заметит только одержимый.
Тривиальный (S5): Опечатка в третьей строке диалога у второго кузнеца слева. Чинить будут в самом конце, если дойдут руки.

Главное — шаги воспроизведения.

1. Запустить игру.

2. Дойти до моста у Водопада.

3. Развернуть камеру на 180 градусов.

4. Сделать три шага в сторону сосны.

5. Присесть.

6. Вы увидите, как текстура реки накладывается на небо.

Без этого программист никогда не поймёт, как вызвать этот призрачный баг.

Почему же баги всё равно проскальзывают к нам?

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

Вот так и происходит тестирование игр на наличие багов. Если вы работаете тестировщиком игр или ПО, то можете поделиться своими историями в комментариях