Тестирование видеоигр, или Легкий способ попасть в геймдев
Шрифт:
• Что такое жизненный цикл дефекта?
• Когда и почему появляются дефекты?
• Как снизить риск их появления?
• Где место тестирования в разных моделях разработки?
• Как тестировщик взаимодействует с заинтересованными лицами проекта?
Выше я говорил о процессе тестирования как о процедуре сравнения ожидаемого результата с реально полученным и заявил, что любое расхождение между ними и есть дефект, если разработчик игры громко не утверждает обратного.
Пришло время поговорить о дефектах подробнее, ведь баг багу рознь. Один может запросто привести к крашу [10]
10
Краш – полная поломка, аварийный сбой.
Тот самый мотылек, закоротивший контакты реле в компьютере. Запись гласит: «Первый подтвержденный случай обнаружения бага»
2.1. Отчет о дефекте (баг-репорт)
Отчет о дефекте (также известный как баг-репорт) – это документ, который описывает ошибку, неисправность или проблему, найденные в программном продукте, в том числе игровом. Это важный инструмент для команд разработки и тестирования, поскольку он помогает им понять, исправить и отслеживать проблемы в продукте. Это документ, который ты должен научиться разрабатывать в первую очередь. Отчет создается только для ОДНОГО дефекта.
2.1.1. Атрибуты отчета о дефекте
Описание дефекта, а фактически задача для разработчика, как правило, содержит следующие обязательные атрибуты.
1. Краткое описание (Summary)
2. Подробное описание (Description)
3. Шаги воспроизведения (Steps)
4. Ожидаемый результат (Expected Result)
5. Фактический результат (Result)
6. Критичность (Severity)
7. Приоритет (Priority)
В разных компаниях и проектах могут использоваться дополнительные атрибуты для описания дефекта, но перечисленные выше составляют обязательное ядро. Рассмотрим их подробнее.
Краткое описание (Summary) – название атрибута говорит само за себя. Задача тестировщика – максимально кратко и в то же время понятно описать найденный дефект. Иногда тестировщики говорят: «Всегда есть Description, где можно описать баг во всех деталях», но разработчики считают суперабилкой тестировщика именно его способность описывать баги кратко и понятно. Это объясняется простым фактом: в Jira и других баг-трекерах разработчик видит задачи списком, каждая задача представлена кратким описанием. Теперь представь, что таких задач (баг-репортов) несколько сотен, больше половины из которых непонятны без прочтения Description. Представь только, сколько времени потеряет разработчик для вникания в суть проблемы. И как он будет
Способность описать дефект в рамках поля Summary – действительно одно из главных достоинств и профессиональных навыков специалиста по тестированию. Есть несколько способов обучения этому навыку. Приведем три самых действенных и простых.
Метод «Что? Где? Когда?»
Нет, это не связано с привлечением знатоков из одноименного интеллектуального клуба. Этот способ подразумевает описание, которое дает ответы на три следующих вопроса.
1. Что произошло и в чем суть неполадки?
2. Где был обнаружен дефект?
3. Когда и при каких обстоятельствах возник дефект?
Это довольно действенный способ, и я рекомендую взять его на заметку.
Метод выделения ключевой информации
Весьма действенный метод, особенно когда у тебя уже есть длинное описание дефекта.
1. Попробуй описать дефект со всеми необходимыми деталями.
2. Внимательно прочитай свое описание и выдели из него ключевую информацию, то есть самые важные моменты.
3. Попробуй сложить эти ключевые моменты вместе.
То, что получится в итоге, и будет составлять Summary.
Метод тождественности атрибутов
Составь описание дефекта по следующей схеме.
1. Шаги воспроизведения
2. Ожидаемый результат
3. Полученный результат
Если все описано правильно, то «Полученный результат» и будет являться Summary дефекта. Если нужно, можешь добавить пару важных деталей.
Но вернемся к прочим атрибутам дефекта.
Подробное описание (Description) – это поле служит для того, чтобы тестировщик мог добавить более подробное описание и дать больше деталей. Здесь указывается любая дополнительная информация, относящаяся к багу, которая может помочь в исправлении дефекта.
Следующие два атрибута – Шаги (Steps) и Ожидаемый результат (Expected Result) – берутся непосредственно из твоего тест-кейса [11] , с помощью которого ты обнаружил дефект. Это и понятно. Разработчик должен сделать абсолютно то же самое, чтобы увидеть этот баг. О том, как проектировать тест-кейсы, я расскажу тебе чуть позже.
11
Тест-кейс – это детально описанный сценарий или инструкция, которая позволяет тестировщикам выполнить определенные шаги для проверки определенной функциональности или поведения программного продукта. Это основной инструмент в процессе тестирования программного обеспечения, включая компьютерные игры.
Фактический результат (Result) – это описание того, что ты увидел своими глазами, выполнив необходимые для проверки Шаги. Если он не отличается от Ожидаемого результата, мы можем быть уверены, что система функционирует как нужно. Любое отличие между Ожидаемым и Фактическим результатом будет означать только одно: перед тобой дефект.
Критичность (Severity) – это основное, чем баги отличаются друг от друга. Определяя Критичность, ты информируешь разработчика, что тобой был выловлен баг, бажик или бажище.