Перевод книги «Game QA & Testing» Часть 7

Перевод книги «Game QA & Testing» Часть 7

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

Предыдущая часть здесь:

Глава 5. Заводите мотор! Основы поиска багов

Обнаружение багов

Как мы уже много раз упоминали: Тестирование видеоигр очень сильно отличается от простой игры в них. Если вы и правда хотите обнаружить баги, вам необходимо делать это со всем старанием. Просто играя в игру, вы со временем встретитесь с некоторыми “находками” спустя какое-то время — но вы просто наткнетесь на них. Чистая случайность (а не техника) будет определять вашу производительность. Если вы игровой тестировщик — вам хотелось бы находить баги по собственной воле. Для этого вам необходимо вооружиться всеми навыками тестирования.

Жанры игр и баги

Как уже обсуждалось в Главе 4, баги — это изъяны программного обеспечения, которые могут быть заметны игрокам. Если баг существует, но его невозможно найти — это абсолютно то же самое, что его нет. Следовательно, вы способны только найти баги, которые проявляют себя визуально, звуком или в геймплее.

Если вы взглянете на различные игровые жанры, станет понятнее, что баги специфичны для каждого из них. Более того, техники, которые могут использоваться для поиска багов в FPS, могут иметь огромное различие с техниками, используемыми в симуляторах. Хотя вам необходимо проверять абсолютно всё, чтобы выполнить хорошо работу тестировщика, некоторые жанры имеют “слабые места”, которые всегда должны получать здоровую дозу внимания.

Знание предмета невероятно важно. Ваша игра будет лучше протестирована тестировщиками, которые отлично знакомы с этим типом игр.

Frank T. Gilson, Senior Producer, Wizards of the Coast

2D платформеры.

Один из старейших игровых жанров, 2D платформеры, начали свое существование на игровых автоматах в поздних 1970-х и невероятно продвинулись с Super Mario Bros. Когда вы тестируете платформеры, вы должны сфокусироваться на геймплее. Поскольку эти игры довольно просты (даже если их механика состоит в перемотке времени, как в Braid, они все равно относятся к платформерам), визуальные и звуковые ошибки будут устранены изначально — в то время как недостаточно точное управление персонажем сложнее заметить. Вам также стоит убедиться, что поведение врага осмысленно. Ошибки искусственного интеллекта (ИИ) легко проскальзывают, заставляя врагов вести себя немного “странно”.

Даже если его механика состоит в перемотке времени, Braid относится к 2D платформерам и тестируется как они.
Даже если его механика состоит в перемотке времени, Braid относится к 2D платформерам и тестируется как они.

3D платформеры

Как только платформеры перешли к трехмерному пространству — комплексность каждой игры взлетела до небес. Основные проблемы 3D платформеров — управление персонажем, графика и камера. (Если вы когда-либо играли в Conker: Live and Reloaded — вы знаете, что мы имеем в виду.) Управление персонажем — основа 3D платформеров, так что уделите ему достаточно внимания. По аналогии с тем, как 3D графика стала экспоненциально более сложной по сравнению со старыми 2D платформерами, увеличилось и количество визуальных багов, таких как z-fighting, пропавшие текстуры и тиринг экрана.

Наконец, камера может утянуть игру на дно, даже если всё остальное вы великолепно отловили. Сделайте своей главной задачей — рапортовать о камере, которая никогда не должна мешать игре. Если игроки будут постоянно о ней беспокоиться — они могут совсем бросить играть.

Управление персонажем - важнейшая вещь в 3D платформерах, таких как Conker: Live & Reloaded, так что уделите ему должное внимание.
Управление персонажем - важнейшая вещь в 3D платформерах, таких как Conker: Live & Reloaded, так что уделите ему должное внимание.

Shoot’ Em Up

Хотя большинство могут подумать, что жанр shoot ’em up умер, правда в том, что он все еще имеет хардкорную фан базу. Ikaruga продалась чрезвычайно хорошо в Xbox Live Arcade. Ахиллесова пята shoot ’em up в их сложности и управлении персонажем. С тех пор как жанр ассоциируется с хардкорными игроками, довольно просто просчитаться и сделать игру, которой не удастся насладиться. Вам всегда необходимо отслеживать уровень сложности на различных настройках — easy, medium, hard и “insane”. Вам необходимо удостовериться, что игра отлично настроена в этих режимах, иначе она провалится.

Управление персонажем — тоже проблема. Хотя его легко внедрить, важно убедиться, что скорость транспорта корректно воспринимается, а границы экрана хорошо сочетаются с геймплеем остальной игры. Это также включает в себя проверку столкновений (collision detection). Здесь не должно быть никаких недоработок — shoot ’em up живут за счет механик стрельбы и управления персонажем.

Shoot ’em up, такие как Ikaruga, живут за счет механик стрельбы и управления персонажем.
Shoot ’em up, такие как Ikaruga, живут за счет механик стрельбы и управления персонажем.

Шутеры от первого лица (одиночные)

Одиночные шутеры от первого лица (Single-player first-person shooters (FPS)) всегда сложны. Массивные уровни, сотни врагов на экране одновременно и сверкающая графика — не только желательны, но и необходимы. Хотя очень много в FPS может пойти не так, ощущение оружия и левел дизайн могут быть наиболее больными их местами. “Ощущение оружия” включает в себя ощущение веса и другие необходимые аспекты оружия, такие как его внешний вид, стрельба и звук. Вам никогда не удастся починить плохой дизайн, но вы можете убедиться, что на хороший дизайн не влияют баги. В Quake 4, Луис смог “защитить” ручной пулемет от бага искаженного звука, внимательно и долго уделяя ему внимание. Помните: всегда уделяйте внимание оружию в FPS больше, чем чему-либо.

Вам также стоит уделять внимание левел дизайну в одиночных FPS. В одиночной игре левел дизайн никогда не должен путать или сбивать с толку. Последнее, чего хотят разработчики — чтобы игрок потерялся. Играя в игру снова и снова вы выясните, какие места вы “пробегаете”, а какие нет. И, наконец, будьте уверены что уведомили разработчиков, если заблудились. Если даже тестировщик заблудился, представьте, что будет с “гражданскими”, играющими в игру.

Перевод книги «Game QA & Testing» Часть 7

Шутеры от первого лица (многопользовательские)

Многопользовательские шутеры от первого лица (Multiplayer first-person shooters (FPS)) отличаются от одиночных разнообразными проблемами с сетевым подключением. Если вы помните времена онлайн игр по 56-килобитному модему, вы должны согласиться, что важнейшей проблемой является задержка (lag, лаг) — время между нажатием на курок и реальной стрельбой на экране. С тех пор как сетевые соединения стали широкополосными, лаги перестали быть убийцей сетевой игры — но проблема все еще существует. Когда тестируете многопользовательские FPS, обращайте внимание на любые проблемы с соединением. Задержки должны оставаться минимальными и игроки не должны постоянно отключаться (известная проблема “dropped connection”).

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

Когда тестируете многопользовательские FPS, такие как Halo 3, уделяйте пристальное внимание любым сетевым проблемам.
Когда тестируете многопользовательские FPS, такие как Halo 3, уделяйте пристальное внимание любым сетевым проблемам.

Гоночные

Гоночные (racing) игры очень сильно полагаются на физику. С консолями, оснащенными мощными многоядерными системами и очень высокопроизводительными графическими процессорами, очевидно, что динамика автомобиля будет доведена до предела. Здесь, однако, у нас есть проблема. Поскольку гонки — испытание на скорость и аккуратность — как в реальном мире, так и в игре — ошибки, влияющие на динамику автомобиля, серьезно подрывают игровой процесс.

Также важно уделить максимальное влияние сохранению достигнутого игроком. В таких играх как Forza Motorsport и Gran Turismo, игроки могут проводить месяцы в одиночной части. Если что-то случится с сохранением и прогресс потеряется — это подтолкнет бросить игру. Потерять гараж с 30 автомобилями (или что-то подобное) мы не пожелаем и своему врагу.

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

И последняя область, которая требует внимания, это производительность. Гоночные игры быстрые. Игроки не выбирают Lamborghini Murciélagos потому, что она неплохо выглядит. Если у вас есть 600-сильная тачка на треке в игре, запущенной при 20 кадрах в секунду — у вас проблема. 30 кадров в секунду — совершенный минимум для гоночных игр. В идеале она должна работать при 60 кадрах в секунду. Единственный способ убедиться что фреймрейт адекватный — постоянно за ним следить. Если вы не заметите проблему до поздней стадии производства — разработчики, возможно, не смогут починить ее к запуску игры.

Файтинг

Для многих файтинги (fighting) являются их страстью с тех времен, как Street Fighter 2: The World Warriors от Capcom появился в соседнем зале игровых автоматов. Другие играли в Virtua Fighter от Sega, когда он вышел в 1993 и дал жизнь трехмерным файтингам. Бесспорно, файтинги захватили наше внимание, потому что позволяли отмутузить друзей на экране. Файтинги целиком построены на скорости отклика. Не самая обязательная в других играх (таких как пошаговые стратегии) моментальная отдача, требуется файтингам. Если вы ударяете кулаком — вы должны немедленно увидеть это на экране. Если вы тестируете файтинг — всегда уделяйте внимание времени реакции. (Если ваша игра включает онлайн, это становится еще более важно, потому что онлайн игры страдают от задержек).

Следующая важная проблема файтингов — это баланс. Когда игра несбалансирована — один персонаж сильнее другого до такой степени, что это влияет на матчи. Ранние файтинги страдали от этого. Одной из причин, по которой время от времени появлялись новые “издания”, была балансировка оригинального, несбалансированного геймплея. Это была причина появления Street Fighter 2: Champion Edition и множества других. Теперь консоли подключены к интернету 24/7 и немного проще править баги. И все же, плохой баланс может уронить стартовые продажи в связи с плохими отзывами — так что вам необходимо держать планку. Лучший способ выявить проблемы с балансом — всегда выбирать различных персонажей и делать заметки об их преимуществах и слабостях. Все, что не “так задумано” — точно баг.

В файтингах, таких как Virtua Fighter 5, всегда фокусируйтесь на времени реакции и балансе.
В файтингах, таких как Virtua Fighter 5, всегда фокусируйтесь на времени реакции и балансе.

Adventure

Адвенчуры (Adventures, квесты) живут за счет их головоломок (puzzles). Прекрасная графика и затягивающий саундтрек не спасут, если одна единственная головоломка сломана. Потому что адвенчуры линейны: одна сломанная головоломка может не дать возможности игроку продвинуться по игре. Вот почему тестировщикам необходимо провести многочисленные прохождения, чтобы абсолютно убедиться, что прогресс никогда не прерывается. Особые слабости адвенчур — управление персонажем и камерой. Когда жанр перешел в 3D с Alone in the Dark, исследовать окружение неожиданно стало испытанием. Управлять персонажем с клавиатуры уже было достаточно трудным, но эти первые попытки в 3D заставляли иметь дело с “кинематографической” камерой, которая была неуклюжей и мешала игроку.

Если вы вдруг попадете на работу по тестированию адвенчуры, сфокусируйтесь на управлении персонажем и камерой. Оно должно быть очевидным, чтобы не мешать остальному игровому процессу. Некоторые считают, что адвенчуры никогда не оправятся от перехода в 3D. По факту, можем винить в этом QA. Если бы разработчики уделяли больше внимания проблемам управления, возможно игры вроде Fade to Black (сиквел Flashback) не были бы такими разочаровывающими — и жанр сейчас был бы в лучшей форме.

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

Action-Adventure

Action-adventure (приключенческие игры) часто располагают бок о бок с шутерами от третьего лица (third-person shooter (TPS)), потому что они оба используют вид от третьего лица. Однако вы легко найдете отличия при сравнении Gears of War и Tomb Raider. В то время как Gears of War сильно фокусируется на аспекте стрельбы, Tomb Raider полагается на исследование и решение головоломок. Так что если проблема с прицеливанием может “убить” TPS, с приключенческой игрой это может случиться из-за управления и головоломок.

Когда вы тестируете игру жанра action-adventure, уделите должное внимание каждой головоломке. Как и в чистых адвенчурах, головоломки могут прервать прогресс, это известно под названием progression break. Учитывая, что движение может быть разнообразным (поднятие по лестницам, прыжки по платформам и исполнение акробатических приемов), точность — это ключ. Потеря контроля в action-adventure гарантирует плохой результат.

Когда вы тестируете игру жанра action-adventure game, такую как God of War II, играйте в каждую головоломку по множеству раз.
Когда вы тестируете игру жанра action-adventure game, такую как God of War II, играйте в каждую головоломку по множеству раз.

Ролевые игры

Ролевые игры (Role-playing games (RPG) невероятно комплексные. От ранних игр на Commodore Amiga до графически насыщенных ПК игр, тестировать эти массивные игры — это всегда испытание. Если вы возьметесь за RPG, приготовьтесь к невероятной нагрузке. Можете называть это уровнем сложности “insane” игрового тестирования. Каждый аспект необходимо протестировать самостоятельно, а затем еще раз — в паре с чем-либо еще. Прохождение может занимать 80-120 часов вместо обычных 10-20. Альтернативные пути должны работать точно также, как и “основные” пути. Все оружие должно быть проверено против всех врагов или NPC. Вкратце — RPG может быть очень сложным — вам необходимо иметь большую и способную команду. (Вы также можете положиться на технику автотестов, обсуждаемую в главе 6.)

Тестировать ролевые игры, такие как Fallout 3 - это всегда испытание.
Тестировать ролевые игры, такие как Fallout 3 - это всегда испытание.

Проблемы с RPG

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

Brandon Adler, (QA Lead, Obsidian Entertainment)

Симуляторы

Игры симуляторы (Simulation games) пытаются «порезать» реальность на небольшие кусочки, которыми мы сможем поуправлять. В некоторых гоночных играх динамика транспорта честно воспроизведена, но не изменения погоды. The Sims пробуют симулировать человеческие отношения, но разумно избегают жизненных проблем.

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

Когда тестируете симуляторы, такие как Flight Simulator X, наиболее важный фактор - релевантность реальному миру.
Когда тестируете симуляторы, такие как Flight Simulator X, наиболее важный фактор - релевантность реальному миру.

Стратегии

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

Когда тестируете стратегические игры, такие как Sid Meier’s Civilization IV: Colonization, вам необходимо сфокусироваться на проблемах баланса и ИИ.
Когда тестируете стратегические игры, такие как Sid Meier’s Civilization IV: Colonization, вам необходимо сфокусироваться на проблемах баланса и ИИ.

Головоломки

Головоломки (Puzzle) относительно легко тестировать по сравнению с другими, более размашистыми жанрами. Даже более усложненные игры-головоломки, такие как Lumines, не должны быть такими уж запутанными. В головоломках вам необходимо сосредоточить внимание на всем, что имеет отношение к программированию. Уделите внимание обнаружению столкновений (collision detection), системе подсчета очков (scoring), точности управления (control precision) и динамике геймплея (gameplay dynamics). Даже если элемент — не “истинный” баг (такой как не впечатляющий бонус), о нем необходимо отчитаться, как о предположении. Точность управления чрезвычайно важна. Нет ничего хуже, чем разместить неверно часть пазла из-за неточного управления.

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

Dr. Richard Allan Bartle, Visiting Professor in Computer Game Design, University of Essex
В играх-головоломках, таких как Lumines Live!, вы должны сосредоточиться на всем, что относится к программированию - в особенности, на точности управления.
В играх-головоломках, таких как Lumines Live!, вы должны сосредоточиться на всем, что относится к программированию - в особенности, на точности управления.

Казино

Игры казино (casino) теряют популярность среди консольных игроков, но все еще привлекают казуальных игроков на игровых веб-сайтах. (Xbox Live также привлекает внимание казуальных игроков к традиционным играм казино, таким как покер.) Как и головоломки, игры казино довольно просто тестировать. В азартных играх настоящих казино правила часто не меняются веками, так что видеоигры по ним не могут отклоняться в сторону. Для примера, даже если игра назовет себя «Специальный блэкджек», она не может базироваться на 22 очках вместо традиционных 21.

Программные читы в тестировании игр казино.

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

Aaron Marks, Composer & Sound Designer, On Your Mark Music Productions

Когда тестируете игры казино, убедитесь, что понимаете правила — чтобы отловить все базовые проблемы. Кроме того, большинство игр казино имеют какое-либо онлайн соединение — так что уделите внимание сетевой производительности.

Когда тестируете игры казино, такие как Texas Hold ’Em, убедитесь, что знаете все правила, чтобы отследить все основные проблемы.
Когда тестируете игры казино, такие как Texas Hold ’Em, убедитесь, что знаете все правила, чтобы отследить все основные проблемы.

Survival-Horror

Survival-Horror (SH) — это производная самых первых 3D адвенчур. Alone in the Dark обычно классифицируется как action-adventure. Но также она ответственна за появление SH игр. Более свежие франшизы — это Resident Evil и Silent Hill. В отличие от большинства игровых жанров, SH основывается больше на истории, чем на геймплейных элементах. Если взглянуть с этой стороны — они больше склоняются к фильмам, чем традиционные игровые жанры. Большинство SH игр имеет те же геймплейные элементы, что и игры жанра action-adventure.

Имея дело с SH играми — важнее всего уделять внимание управлению. Первые представители жанра имели фиксированную камеру, и это создавало невероятные сложности при управлении своим персонажем. Также внимательно проверяйте головоломки. Хотя это не основной компонент жанра SH, один сломанный пазл может оборвать прохождение.

Когда имеете дело с survival-horror играми, такими как Alone in the Dark: Inferno, уделяйте внимание управлению и головоломкам.
Когда имеете дело с survival-horror играми, такими как Alone in the Dark: Inferno, уделяйте внимание управлению и головоломкам.

Massively Multiplayer Online

Massively Multiplayer Online Games (MMOG или MMO) стали популярны в последнее десятилетие. World of Warcraft и его 11 миллионов подписчиков популяризировали MMO на весь мир. Если вы получили работу над MMO, поздравляем: это настоящий "Эверест" тестирования. (Вы можете попробовать его на вкус — принять участие в бета тестировании, проводимом почти всеми разработчиками MMO.) Не только RPG сложно тестировать. Тестирование MMO — все еще “Дикий запад” — где не действуют законы, а любая ошибка может стать последней. Вы будете работать с огромной командой, чтобы иметь хоть какую-то надежду отыскать наиболее важные баги. Также необходимы огромные усилия по бета тестированию — и с закрытой, и с открытой бетой.

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

Игры жанра MMO, такие как World of Warcraft - “гора Эверест” тестирования.
Игры жанра MMO, такие как World of Warcraft - “гора Эверест” тестирования.

Испытания при тестировании MMO

В MMO основная сложность тестирования — балансировка и настройка в реальном многопользовательском окружении. Игроки играют в настоящей игре не так, как это делают при тестировании. Обе игры: City of Heroes и World of Warcraft были чрезвычайно хорошо отполированы на момент выхода и, если сравнивать с другими MMO, в них практически не было багов.

Gordon Walton, Vice President & Studio Co-Director, BioWare Austin

Доктор Ричард Аллан Бартл об игроках MMOG в роли охотников за ошибками

Ричард Бартл был соавтором первого виртуального мира, MUD (multi-user dungeon), в 1978, и таким образом был в авангарде онлайн индустрии с самого ее зарождения. В прошлом преподаватель об искусственном интеллекте, а ныне приглашенный профессор дизайна компьютерных игр в университете Эссекса (Великобритания), он является влиятельным автором работ по всем аспектам проектирования, разработки и управления виртуальным миром. Как независимый консультант, он работал с большинством крупнейших компаний, создающих онлайн игры в Великобритании и США более 20 лет. Его книга 2003 года Designing Virtual Worlds зарекомендовала себя как фундаментальный текст для исследователей и разработчиков виртуальных миров.

Для MMORPG было бы неплохо прибегнуть к методике, которая раньше была популярна в старых текстовых играх, но с тех пор потеряла популярность: вознаграждение игроков за обнаружение ошибок. MMO работает так, будто у вас есть что-то большое и сложное, например, машина, и вы хотите сделать ее водонепроницаемой. Тестеры могут пройти и проверить каждую щель в каждом соединении, чтобы убедиться, что она водонепроницаема, но как только вы запускаете в нее игроков — она словно погружается в воду. Если где-то есть утечка — игроки ее найдут. Они найдут слабые места там, где вы даже не проверяли. Их десятки тысяч на одного тестировщика. Так что они найдут баги. Вопрос только в том, скажут ли они вам о них? На самом деле ответ не имеет значения; дело в восприятии. Допустим, вы регулярно играете и сталкиваетесь с ошибкой. Сообщаете об этом? Что ж, на данный момент ваши причины для этого — наказание: если вы этого не сделаете, а кто-то еще сделает это, вас могут забанить за использование багов. Это не меняется, даже в случае если вы действительно хотите сообщить об ошибке, потому что вы ответственный игрок (как и большинство). Они посылают игрокам совершенно неверный сигнал, если те чувствуют, что должны сообщить об ошибках — или столкнутся с «гневом разработчиков». Гораздо лучше, если вы предложите награду первому, кто найдет баг. Конечно же, большинство игроков никогда не найдут багов. Тем не менее, мнение игроков о вас будет окрашено вашей политикой в этом отношении. Другими словами, плей тесты могут быть тем инструментом, что улучшит отношения между разработчиками и игроками. По сравнению с текущей ситуацией — это, безусловно, прогресс!

Dr. Richard Allan Bartle, Visiting Professor, Computer Game Design, Essex University

Баг репорт (Bug Report)

Многие люди думают, что тестировать игры — значит весело проводить время. Вы, вероятно, согласитесь — мы уже развенчали это заблуждение! А вот что мало кто предполагал — тестирование предполагает необходимость много писать. И те, кто плохо пишут — становятся ужасными тестировщиками. Баг репорт (отчет о баге) — это текстовый документ, который описывает разработчику как баг в точности воспроизводится. Чем более детален баг репорт — тем легче разработчику его починить. Давайте взглянем из чего состоит баг репорт.

Заголовок (title)

Заголовки багов должны быть абсолютно ясными и точными — словно заголовки газет. Хорошее практическое правило — следовать пяти “W” журналистики: кто (who), что (what), когда (when), где (where) и почему (why).

«Плохие» заголовки багов:

А: Падение сквозь землю

B: Дробовики — отстой

C: Не загружается уровень

Проблемы:

A: Не сказано «где» это происходит

B: Это мнение (еще и незавершенное)

C: Не уточнено какой уровень

Исправленные заголовки:

A: Падение сквозь землю при проходе по Ангару напротив выхода

B: Дробовик союзников слабоват в сравнении с дробовиком противников

C: Не загружается уровень «Poisson» в режиме «Захват флага»

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

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

Brian Reynolds, Founder & Creative Director, Big Huge Games

Описание (description)

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

«Плохие» описания:

A: Я шел по уровню, и вдруг неожиданно мой перс провалился через огромную дыру в земле. Он падал вечность, пока не умер.

B: Не перевариваю дробовики. Я стреляю с очень близкого расстояния, но враг все равно не умирает.

C: Каждый раз, когда я пробую загрузить уровень “Poisson” — что-то происходит и экран темнеет.

Проблемы:

A: Недостает деталей, использование ужасных аббревиатур («перс» вместо «персонажа») и излишние выражения.

B: Остается очень субъективным. Необходимо немного деталей вместо факта «стреляю с очень близкого расстояния».

C: Добавилось только название карты. Все еще недостаточно информации.

Исправленные описания:

A: При пересечении ангара в конце уровня “Enemy Fields”, я неожиданно провалился в дыру в карте. Если смотреть на вход — дыра в метре слева от инопланетного реактивного двигателя. Я продолжал падать до тех пор, пока персонаж не умер, и меня перекинуло к загрузочному экрану.

B: Дробовик союзников слабоват в сравнении с дробовиком противников. Если я встаю в одном метре от вражеского солдата и стреляю — мне необходимо 2 или 3 выстрела для убийства. Если же он стреляет в меня с этого же расстояния — он может убить меня с одного выстрела. Другие тестировщики отчитывались о подобных проблемах около недели назад.

C: Уровень «Poisson» не загружается в 3 случаях из 10. Это случается чаще в режиме «Захват флага». У нас была команда из 16 игроков в лобби, заполненная полностью, когда два других ПК тоже зависли на черном экране (мы зашли в игру примерно в одно и то же время).

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

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

Шаги (steps)

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

«Плохие» шаги:

A:
1. Идти к выходу.
2. Умереть.

B:
1. Загрузить игру.
2. Экипировать дробовик.
3. Стрельнуть в кого-нибудь.
4. Ничего не произошло

C:
1. Загрузить игру.
2. Выбрать мультиплеер.
3. Выбрать загрузку «Poisson»

Проблемы:

A: Слишком упрощенно. Звучит скорее как шутка.

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

C: Не добавляет новой информации. Разработчик остается в неведении.

Исправленные шаги:

A:
1. Загрузите уровень «Enemy Fields».
2. Идите по уровню по обычному пути.
3. Близко к окончанию уровня вы увидите инопланетный ракетный двигатель.
4. Расположите игрока в одном метре слева от двигателя.
5. Вы проваливаетесь через дыру в карте.

B:
1. Загрузите любой многопользовательский уровень.
2. Попросите другого тестировщика зайти на карту.
3. Экипируйте дробовик.
4. Попросите тестировщика также экипировать дробовик.
5. Попросите тестировщика выстрелить вам в грудь с расстояния одного метра. Вы должны умереть с одного выстрела.
6. Когда оживете — выстрелите в тестировщика с той же дистанции. Вам понадобится 2 или 3 выстрела, чтобы убить его персонажа.

C:
1. Загрузите игру.
2. Запустите создание многопользовательского матча на карте «Poisson».
3. Измените режим игры на «Захват флага».
4. Пока вы в лобби — попросите второго тестировщика зайти в игру одновременно с вами.
5. Вы столкнетесь с черным экраном в 3 из 10 случаев.

Шаги позволяют разработчикам в точности воспроизвести баги на их собственных машинах. Помните, что производственные тестировщики сидят в одних офисах с разработчиками, в то время как QA тестировщики издателя могут работать над игрой из другой временной зоны. Без детальных шагов разработчики не смогут начать работу по их исправлению. Учитывая все это, шаги должны быть точными и конкретными. Добавляйте столько деталей, сколько возможно — не скупитесь. Одна маленькая упущенная деталь может быть именно тем, что сделает баг невоспроизводимым. Если это случится — он вернется к вам с пометкой “невозможно воспроизвести”.

Версия (Version)

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

  1. Как только разработчики возьмутся за баг, они выберут неверный диск.
  2. Они загрузят игру.
  3. Теперь они начнут идти по шагам вашего бага. Но они применяют эти шаги на неверную версию игры.
  4. Они не могут воспроизвести баг. Они пробуют снова и снова — тратя время впустую.
  5. Баг возвращается к вам.
  6. Ваш лид замечает, что вы указали не ту версию. Ой!

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

Перевод книги «Game QA & Testing» Часть 7

Что я люблю в настольных играх — так это то, что они собирают людей вместе. Компьютерные игры имеет тенденцию изолировать людей, и даже многопользовательские игры, как правило, настраивают людей друг против друга. Однако есть некоторые люди, которые осознали, что компьютер может стать тем средством, что их связывает. M.U.L.E. (разработанная другом, покойным Дэни Бунтеном) — одна из таких игр. Она сбалансированная, обучающая, интересная, смешная, затягивающая (мое любимое слово для описания отличных игр) и у нее есть сердце. Чего еще можно пожелать?

Baron R.K. Von Wolfsheild, Chief Software Architect, Qtask, Inc.

Повторяемость (Repeatability)

Повторяемость описывает как часто баг случается. “5 из 5” — это намного более серьезный баг, чем “1 из 5”. Каждый баг репорт должен содержать эту информацию. Большинство баг трекинговых систем имеют поле для указания повторяемости бага. Обычно шкала в 5 или 10 уровней. Цель — дать разработчиком представление о повторяемости бага. Даже если это приблизительная оценка — это все еще полезно. Если для повторяемости нет отдельного поля, не забудьте добавить ее в поле описания.

Крайне важный фактор повторяемости

Мне нужен тестировщик, который отчитывается о багах, играя в игру и может ответить на вопрос: “Какую наиважнейшую вещь необходимо заполнить при описании бага?” (Ответ может показать, какой тестировщик перед вами. Лучший ответ — шаги воспроизведения: Как сделать так, чтобы баг появлялся постоянно?)

Floyd Billings, Assistant Lead QA, Sony Online Entertainment

Дополнительная документация

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

Журнал диагностики (Diagnostic Log)

Если вы тестируете игру на ПК — вам всегда необходимо добавлять журнал диагностики DirectX: dxdiag. Это “снимок” компьютера, на котором вы тестируете — он содержит важную информацию о версии драйверов, объеме оперативной памяти (RAM), видеокарте (GPU), объеме видеопамяти (video RAM size) и многом другом. Если вы не прикрепите файл dxdiag — у вас могут быть проблемы!

Как получить доступ к журналу dxdiag:

  1. Перейдите раздел поиска (меню «Пуск» или рядом с ним).
  2. Напишите «dxdiag» и нажмите Enter.
  3. Вы увидите приложение с вкладками Система (System), Экран (Display), Звук (Sound), и Ввод (Input).
  4. Выберите «Сохранить все сведения» («Save All Information.»).
  5. Сохраните файл на своем машине.
  6. Прикрепите его к багу!
Наличие журнала dxdiag может “перевернуть игру”. Причиной множества багов может быть неверная версия драйверов видеокарты. Файл dxdiag даст разработчикам все что им нужно, чтобы адресовать комплексный баг на ПК.
Наличие журнала dxdiag может “перевернуть игру”. Причиной множества багов может быть неверная версия драйверов видеокарты. Файл dxdiag даст разработчикам все что им нужно, чтобы адресовать комплексный баг на ПК.

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

  1. Включите режим разработчика (developer mode).
  2. Найдите в меню разработчика функцию дампа памяти (memory dump).
  3. Выберите эту функцию и примените ее.
  4. Консоль, вероятно, скопирует txt файл на ПК, присоединенный к ней.
  5. Прикрепите этот файл к вашему багу.

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

Методические рекомендации по баг репорту

Будьте конкретны в своих репортах. Не скупитесь на детали. Многие могут посчитать это излишним для тестировщиков/игроков. Но просто представьте, что вам необходимо искать во всем коде, что движет игрой! Его необходимо перебрать инженерам, чтобы найти баг, который вы описали. Расписать то, как вы наткнулись на ошибку в малейших деталях — ключ к написанию хорошего баг репорта. Это значит, что вы должны быть осведомлены и щепетильны в том, что вы делаете во время тестирования. Вы не просто играете в игру, вы в поисках того, что не работает — это означает, вы воссоздаете процесс, через который вы прошли, найдя баг. Оставайтесь внимательны и конкретны!

Todd M. Fay, Owner, DemoNinja.com

Скриншоты (Screenshots)

Ничто не является таким хорошим доказательством наличия бага для разработчиков, как скриншот. Сделать скриншот на ПК просто:

  1. Нажмите Printscreen, и скриншот появится в буфере обмена.
  2. Вставьте скриншот в Paint или Adobe Photoshop.
  3. Прикрепите файл к своему багу.

На консолях это может быть несколько хитрее. Вам необходимо снова зайти в меню разработчика (dev menu) и выбрать «сохранить скриншот» («save screenshot») или «запись экрана» («screen capture»).

Дополнительные советы по скриншотам:

- Всегда делайте более одного скриншота. Это необходимо для осмотра с различных сторон. Будьте уверены, что сжали его в JPEG. Файлы BMP слишком большие и могут засорять место.

- Используйте наибольшее возможное разрешение. У разработчиков большие мониторы, позвольте им использовать их по назначению.

- Сделайте наиболее близкий вид, вид со средней дистанции и издалека. Все расстояния пригодятся.

- Отметьте «красным маркером” необходимую область»: используйте инструменты программ для лучшего описания вашего бага.

- Укажите на баг текстом (опционально): Сопровождение описанием таких багов, как «z-fighting” или “пропавшая текстура» не повредит, пока текст не закрывает сам баг.

- Если вы сделали несколько скриншотов — упакуйте их в один файл. Все скажут вам за это спасибо!

Запись экрана (Video Capture)

Запись экрана может быть даже более полезной, чем скриншот. Хотя видео также занимает больше времени для воспроизведения, а разрешение обычно невелико — оно также может иметь большое преимущество перед скриншотами: движение. Вы можете покрыть все шаги своего баг репорта (и заменить несколько скриншотов) одним хорошо сделанным видео. Вы можете удивить многих разработчиков, когда они увидят видео, прикрепленное к багу. Видеозаписи отличают любителей от профессионалов!

Вы можете покрыть все шаги своего баг репорта одним хорошо сделанным видео, используя такие программы как FRAPS (слева) и Movie Maker (справа).
Вы можете покрыть все шаги своего баг репорта одним хорошо сделанным видео, используя такие программы как FRAPS (слева) и Movie Maker (справа).

Дополнительные советы по созданию видео

Когда тестируете на ПК:

- Скачайте FRAPS. Она бесплатна и проста в использовании.

- FRAPS имеет 30-секундный лимит. Работайте в этих пределах или купите платную версию.

- Отрепетируйте свое видео перед записью. Не хотите же вы застрять, уткнувшись в стену.

- Запишите хороший проход. Затем запустите Windows Movie Maker на компьютере.

- Записанное видео не сжато. Windows Movie Maker поможет сжать его.

- Также он может помочь замедлить видео. Это также облегчит задачу разработчикам.

Когда тестируете на консолях у вас есть 2 варианта:

- Не записывать видео.

- Записать на видео экран ТВ.

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

Верификация (Verification)

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

  1. Пройдитесь по своим шагам множество раз.
  2. Поищите баг, в этот раз с другими шагами (Создайте альтернативные наборы шагов, но не тратьте на этот процесс слишком много времени.)
  3. Если баг исправлен, напишите «верифицировано» («verified») в баг репорте и подпишите свое имя.
Перевод книги «Game QA & Testing» Часть 7

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

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

2727
6 комментариев

столько текста, а практического QA почти не видно. Так-то книга наверняка интересная...

1
Ответить

Одних только знаний из этой книги достаточно будет, чтобы найти работу игровым QA?

Ответить

Нет

99% компаний даже на джунов требуют знания процессов и инструментов
В книге только теория

Ответить

Не могу дождаться следующую главу)

Ответить

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

Ответить

В ближайшее время нет, к сожалению. Совершенно нет времени((

Ответить