Игры с багами бесят: никто не хочет потратить час на квест, а потом выяснить, что новая локация не грузится. Или вылететь из игры прямо во время битвы с боссом. В магазинах приложений к глючным играм оставляют негативные комментарии, из-за чего те опускаются в рейтинге. Со временем их всё реже видно в общем списке. Это приводит к последствиям: скачиваний всё меньше, как и прибыли у компании-разработчика. Но если игры тестировать перед запуском, такого не случится.
Чем тестирование игр отличается от тестирования ПО
Игры тестировать сложнее, чем неигровые приложения. Причина в игровой механике. Обычное ПО строят на алгоритмах. Они предсказуемо реагируют на действия пользователя. К примеру, он нажал значок «Корзина» — программа тут же удалила часть данных. И так всегда.
На курсе «Инженер по тестированию» научитесь проверять неигровые мобильные и веб-приложения. Проведете несколько видов тестирования, создадите собственные запросы и тесты.
В играх — иначе. Пользователь через персонажа совершает разные действия. На них реагирует игровая механика и запускает события. Но на механику влияет не только конкретный игрок, но и другие игроки плюс неигровые персонажи (NPC). Получается большая вариативность событий: везде могут быть ошибки. Чтобы обнаружить все, нужно много времени.
Специалист по тестированию мобильных или компьютерных игр, или game tester сначала изучает правила игры. Потом вызывает всевозможные события, чтобы в каждом обнаружить баги.
Виды тестирования игр
🧪 Функциональное (functionality testing)
Специалист проверяет:
- меню, вкладки, кнопки;
- единое отображение шрифтов;
- разрешение экрана во время игры;
- звуки, музыку, голоса персонажей.
Задача — найти баги в графике, навигации, контенте и окружающей игрока среде. Типичная функциональная ошибка — когда игровой персонаж проваливается в текстуры. Как раз такое и обнаруживает тестировщик.
🧪 Комбинаторное (combinational testing)
Это вроде теста в тесте. Специалист выясняет, сколько тестов надо провести, чтобы найти в игре все баги. Для этого изучает игровые выходные и входные данные, получает их всевозможные комбинации и проверяет каждую. Смотрит, соответствуют ли входным данным необходимые выходные.
Например, персонаж должен перейти на новый левел, если набрал 100 очков. Если перешел, значит данные соответствуют. Нет — где-то баг.
🧪 Исследовательское (exploratory testing)
Специалист ищет баги по ходу игрового процесса. При этом он должен намеренно создавать ситуации, где ошибка появится с большей вероятностью. Поэтому от тестировщика требуется нестандартное мышление.
Быть настоящим исследователем научат на курсе Skypro «Инженер по тестированию». Опытные преподаватели расскажут, как найти возможные ошибки и какие инструменты для этого использовать. А еще разберут нестандартные ситуации из практики.
🧪 Тестирование совместимости (compatibility testing)
Тестировщик проверяет, к каким экранам игра оптимизирована, а на каких расползается или сжимается. Еще определяет, скачивается ли игра, точно ли устанавливается и запускается без сбоев на всех устройствах.
🧪 Play-тестирование (play testing)
Тестировщик проходит игру как обычный игрок. Если возникают ошибки, отмечает их, но главное, что оценивает, — это качество сценария, сюжетную линию и увлекательность. В конце теста делает вывод, может ли игра заинтересовать публику.
🧪 Регрессионное (regression testing)
Когда разработчик выкатывает обновление или исправляет старые баги, ненамеренно могут появиться новые ошибки. Тестировщик их отлавливает.
Как тестировать игры: основные этапы
✅ Проработка требований
Часто тестировщик начинает с того, что проверяет функциональные требования к игре. Они должны быть четкими, непротиворечивыми, выполнимыми. Необходимо, чтобы требования реально было протестировать, когда первая версия игры будет готова.
✅ Разработка плана тестирования
Когда функциональные требования проверены, тестировщик разрабатывает план, как проверить игру и поймать в ней баги. В плане описывает объем работ, бюджет, подходы, инструменты, время — получается вроде сметы, но на языке Game Test.
✅ Разработка сценариев тестирования
Тестировщик создает тест-кейсы — описания того, какие действия надо выполнить, чтобы проверить определенную часть игры. Плюс составляет чек-листы: в них будет отмечать, что работает как надо, а что — с ошибками.
В некоторых случаях, чтобы не тестировать всё руками, тестировщик пишет скрипты. Они автоматически тестируют часть игры без участия специалиста.
✅ Тестирование программного обеспечения
Специалисты проводят различные тесты, отмечают ошибки в чек-листе. В конце отдают отчеты разработчикам — и они исправляют баги.
Этому научат на курсе «Инженер по тестированию». Вы сможете составлять и заводить данные в системы отслеживания ошибок, писать отчеты и оценивать качество работы. А еще быстро проверять много сценариев с помощью техник тест-дизайна.
✅ Повторное тестирование
Когда разработчики устранят баги, тестировщики прогонят игру еще раз. То есть проведут регрессионное тестирование. Если ошибки исправлены — игра готова к продакшену.
✅ Завершение тестирования
Специалисты готовят отчеты о проделанной работе. В них пишут, какие провели тесты, какие ошибки нашли и сколько, что исправили разработчики.
Станьте инженером по тестированию по программе от Skypro. Освоите специальность за восемь с половиной месяцев, даже если совсем нет опыта в IT. Научитесь писать тестовую документацию: тест-кейсы, чек-листы и тест-планы, тестировать API, мобильные приложения. Всё это — вместе с личным наставником.
Не только дадим знания, но и поможем найти работу с минимальной зарплатой 50 000 ₽. Гарантию трудоустройства закрепляем в договоре.
Типичные ошибки в играх: где возникают
❌ В пользовательском интерфейсе. Вот несколько популярных багов:
- игра не адаптирована под разрешения экранов — на некоторых расползается, на других сжимается;
- игрок не получает подсказки там, где они должны быть;
- пользователь вызывает рюкзак или меняет шмот, а действия тормозят по полминуты;
- игрок делает одно, а интерфейс выдает что-то нелогичное: например, вместо сохранения сворачивает игру.
❌ В графике и анимации. Это любые ошибки, которые возникают с текстурами, краями области. Например, текстура вдруг распалась на пиксели, у персонажей не загрузились головы или NPC заело — он врос в стену.
❌ В физике. Если она в порядке, то игровой мир схож с реальным: при взрыве осколки разлетаются, а по воде идут круги, если в нее что-то бросить. Когда есть баги, физика не работает. Например, дома начинают взлетать или мяч не отскакивает от ворот, а камнем падает вниз.
❌ В нарративе. Это любые логические несоответствия. Допустим, персонажи зимой ходят в летней одежде. Или игрок находит заброшенный дом, а он новенький, в нём ни пылинки: странно.
К играм с логическими багами теряют интерес. Особенно если несостыковка в сюжете: например, надо было спасать принцессу, а игрок спас короля. И переиграть нельзя, и дальше не пройти.
❌ В оптимизации под разные платформы. Разработчики оптимизируют игры под разные экраны, операционные системы и гаджеты. Это усложняет код игры, из-за чего появляются баги. Если игра не оптимизирована или оптимизирована неверно, в лучшем случае у нее будет искажаться графика и анимация. В худшем — просто не запустится.
❌ В работе искусственного интеллекта. Он отвечает за неигровых персонажей — NPC. Если вдруг в ИИ ошибки, то вовремя не активируется важный персонаж и игрок не пройдет дальше. Или объекты — автомобили, животные, техника — начнут двигаться непредсказуемым образом. Ошибки в ИИ ведут к ошибкам в анимации, физике и логике.
❌ В системе оплаты. Если в процессе оплаты подписки или покупки шмота вылезет ошибка, то персональные данные — банковская карта, пароль, серия и номер паспорта — утекут в сеть и станут доступны третьим лицам. Игрок понесет финансовые потери, а компания — репутационные. К тому же ее могут привлечь к ответственности.
Другой тип ошибок: игрок в принципе не может ничего оплатить. Или может, но деньги лежат на балансе и их нельзя потратить на игровые улучшения.
Инженер по тестированию — важный специалист в сфере IT: без его внимания не обходится ни один программный продукт. В онлайн-университете Skypro обучиться этой профессии можно с нуля за 12 месяцев. За это время вы научитесь проводить ручное и автоматическое тестирование, работать с системами баг-трекинга и Git. В конце учебы получите диплом о профессиональной переподготовке.
Коротко о тестировании игр
- Тестирование игры — это процесс поиска ошибок: логических несоответствий, нарушений законов физики, багов с графикой и анимацией.
- Баги ловит специалист — игровой тестировщик, или game tester. Он знает, как протестировать игру.
- Сначала специалист оценивает требования к игре, потом разрабатывает план тестирования, дальше — сценариев тестов. Наконец, проверяет игру несколько раз и в конце пишет отчет о проделанной работе.
- Во время тестирования используют разные приемы. Например, функциональное тестирование — поиск ошибок в окружающей игрока среде. Или тестирование совместимости — проверка отображения на любом гаджете без искажений.
Добавить комментарий