Полная версия
Тестирование видеоигр, или Легкий способ попасть в геймдев
Вложения в баг-репорте обязательны и играют важную роль по нескольким причинам.
• Скриншоты, видео и логи помогают точно показать, что происходит при возникновении ошибки. Это позволяет разработчикам видеть проблему глазами пользователя и лучше понимать контекст.
• Вместо того чтобы тратить время на попытки воспроизвести проблему по текстовому описанию, благодаря вложениям разработчики могут сразу же увидеть, что не так. Это сокращает время на нахождение и исправление бага.
• Текстовые описания могут быть интерпретированы по-разному. Визуальные и другие вложения уменьшают неоднозначность, предоставляя конкретные доказательства проблемы.
• Логи и дампы памяти могут предоставить ценную информацию о состоянии системы в момент возникновения ошибки. Это помогает разработчикам понять, какие процессы или условия могли способствовать возникновению проблемы.
• Вложения помогают обеспечить более четкое и эффективное общение между теми, кто сообщает о баге, и теми, кто его исправляет. Это сокращает количество необходимых вопросов и уточнений.
• Вложенные файлы могут быть использованы для анализа тенденций и выявления корневых причин проблем, выходящих за рамки конкретного баг-репорта.
• В целом вложения делают баг-репорты более информативными, упрощают и ускоряют процесс их обработки и увеличивают шансы на то, что баг будет успешно исправлен.
Нина Резниченко, QA-менеджер Saber Interactive
В идеале после чтения саммари бага и просмотра вложения (прикрепленный файл – скриншот, видео, логи и т. д) должно быть понятно, в чем проблема и как ее фиксить. Если при взгляде только на прикрепленный к багу файл понятно, в чем баг, то поздравляю, вы достигли вершины искусства. Не стоит пренебрегать скринами даже, казалось бы, в простых проблемах. Сделать скрин и прикрепить его к багу занимает всего пару секунд, а бонус выходит +100 к ясности.
Часто можно встретить баги с названиями вроде «Неправильное отображение иконки». У меня к таким багам сразу вопрос: что значит неправильное? А как правильно? Или «Работает некорректно». Хорошо, а как корректно? Почему бы сразу не написать, в чем проблема, избегая выход на такие абстракции?
Уточнив, в чем проблема (например, иконка отображается лоу-резно, с темными краями и т. д.), и прикрепив дополнительно скрин или видео, вы сэкономите время как себе (потому что за уточняющим вопросом придут к вам), так и исполнителю.
Мой совет: всегда старайтесь уйти от широких понятий или давайте конкретные числа и данные, если все же их используете. Например, вы описываете баг про Low FPS. Укажите в цифрах, сколько это Low – 10–15 (5 и т. д.)? Кому-то и 60 мало:)
2.1.2. Критичность дефекта (Severity)
Суммируя сказанное выше, любая ошибка, найденная тестировщиком, должна быть описана как можно подробнее. Для этого в отчете о дефектах, который может представлять собой как обычную таблицу, так и задачу типа «баг» в одном из баг-трекеров[13], у любой ошибки есть атрибуты, которые необходимо заполнить. Эти сведения должны помочь тому, кто будет исправлять эту ошибку, сделать это наиболее рациональным способом.
Давай посмотрим на дефект с точки зрения степени его влияния на возможность использования игры, то есть попытаемся определить его критичность. Для этого тестировщику нужно проанализировать совокупность следующих факторов.
1. Степень влияния на работоспособность игры, то есть насколько сильно дефект затрудняет игровой процесс.
2. Степень заметности для пользователя – насколько дефект заметен для большинства игроков[14].
3. Степень влияния на удобство использования – насколько дефект ухудшает удобство игрового процесса.
Только анализ всех этих факторов вместе позволит получить правильное представление о критичности бага.
С точки зрения критичности принято выделять следующие виды дефектов.
Blocker (Блокирующий, Блокер) – самый критичный и самый заметный дефект, который вызывает самые большие трудности при использовании игрового продукта. Более того, блокер, как правило, – это такой дефект, который не позволяет нам больше играть, и обойти это препятствие не представляется возможным. Помнишь синий экран смерти в Windows? Вот это как раз пример блокера! Другими примерами могут стать «вечный» фриз, утечка памяти и многие другие неприятные вещи. Но есть и хорошая новость для тестировщика: ты никогда не пропустишь блокер, если увидишь его, это просто нереально. Ты внезапно теряешь контроль над игровым процессом и получаешь его назад только после полной перезагрузки. Хотя и в этой ситуации, если подходить строго, блокеры можно разделить на софтлок (softlock) и хардлок (hardlock).
Софтлок – это случаи, когда игрок, например, постоянно погибает в месте воскрешения или автосохранение игры происходит как раз в момент гибели персонажа. Другими словами, формально игра продолжает работать, но все, что может делать игрок, – бесконечно повторять одни и те же действия без прогресса и возможности откатиться назад.
Хардлок – это ситуация, при которой игра перестает воспринимать любые команды ввода и единственный выход из ситуации – перезагрузка.
Представь, что ты находишься в комнате, в которой нет окон, дверь заперта, а ключа нет: выйти из нее невозможно.
Critical (Критический) – этот баг очень похож на предыдущий. Он тоже может превратить игровой процесс в кошмар и выглядит как начало Армагеддона, но, в отличие от предыдущего дефекта, предполагает некий способ выхода из ситуации. Например, появляющееся каждые пять минут окно с ошибкой, останавливающее игровой процесс, можно закрыть, нажав Alt+F4, и продолжить игру.
В той же комнате, в которой ты оказался в первый раз, кроме запертой двери есть окно, в которое можно с трудом выйти. Люди не должны выходить в окна, но это альтернативный приемлемый выход из ситуации, не так ли?
Major (Значительный). Значительными называются дефекты, которые осложняют использование основных функций игры: движение персонажа, использование необходимых предметов, переходы на другие уровни, получение наград и т. д. Они также могут полностью блокировать второстепенный функционал: выполнение отдельных квестов, способы перемещения по карте, взаимодействие моделей и т. д.
В комнате есть дверь, но она открывается только на такую ширину, что тебе придется выдохнуть весь воздух и снять часть одежды, чтобы протиснуться в проем. Ужасно неудобно, но выйти все же можно.
Minor (Незначительный). Обычно такие баги не относятся к функционалу игры или влияют на него в очень незначительной степени. Тем не менее баг заметен и очевиден для тестировщика и для пользователя. Чаще всего так определяется дефект, который затрудняет нам удобство использования игрового продукта, раздражает игрока или связан с недочетами интерфейса. Очень часто в эту категорию попадают мелкие рендер-баги[15]
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.
Примечания
1
Saber Interactive – международная компания по разработке и изданию компьютерных игр. Офисы разработки находятся в России, Армении, Испании, Беларуси, Швеции и Португалии. – Здесь и далее прим. авт.
2
Bytex – российская компания, специализирующаяся на тестировании компьютерных игр любого жанра на любых платформах.
3
RSTQB (Russian Software Testing Qualifications Board) – российское представительство открытой международной организации ISTQB, занимающейся развитием тестирования программного обеспечения через обучение и сертификацию.
4
Шутан (от «шутер», англ. shooter) – жанр игры от первого или третьего лица, в котором игровой процесс основан на использовании в сражениях огнестрельного оружия.
5
Баг – жаргонное название дефекта. В индустрии ходит такая легенда о появлении этого термина. В 1945 году при испытании компьютера Mark II случился сбой в работе, вызванный мотыльком, закоротившим собой контакты реле. В журнале была сделана соответствующая запись о первом подтвержденном случае обнаружении бага (жука). Так с тех пор называют любой дефект программного или аппаратного обеспечения.
6
Плейтест (англ. playtest) – метод тестирования игры путем предоставления ее группе представителей целевой аудитории для обнаружения потенциальных дефектов и сбора отзывов.
7
Продукт развивается, и требования могут быстро устаревать. Если требования не актуализируются, то, как правило, использовать их в работе нет никакого смысла. Поэтому одна из важных задач в проекте – поддерживать требования к продукту в актуальном состоянии.
8
ГДД (гейм-дизайн-документ) – детальное описание разрабатываемой компьютерной игры.
9
QA (Quality Assurance) – это любой систематический процесс определения соответствия продукта или услуги определенным требованиям.
10
Краш – полная поломка, аварийный сбой.
11
Тест-кейс – это детально описанный сценарий или инструкция, которая позволяет тестировщикам выполнить определенные шаги для проверки определенной функциональности или поведения программного продукта. Это основной инструмент в процессе тестирования программного обеспечения, включая компьютерные игры.
12
Иногда также называется Repro Frequency.
13
Баг-трекер (англ. bug tracking system, bug-tracker – «система отслеживания ошибок») – прикладная программа, разработанная с целью помочь разработчикам программного обеспечения (программистам, тестировщикам и др.) учитывать и контролировать ошибки и неполадки, найденные в программах, пожелания пользователей, а также следить за процессом устранения этих ошибок и выполнения или невыполнения пожеланий.
14
В некоторых компаниях для определения этого фактора может быть использовано отдельное поле. Оно может так и называться – влияние на пользователя (User effect), в английском варианте еще употребляется User impact, Probability. То есть то, насколько вероятно, что пользователь встретит этот дефект. Сам посуди, если баг возникает при прохождении основного сюжетного квеста в игре, то вероятность его встретить 100 %, а если эта проблема где-то на краю локации в подземельях и туда еще надо добежать, то понятное дело, что не каждый игрок найдет это место, а значит и баг.
15
Рендеринг – термин в компьютерной графике, обозначающий процесс получения изображения по модели с помощью компьютерной программы.