11 Янв 2023
6 мин
265

Как тестировать игры для мобильных приложений и ПК

Чтобы найти баги, проводят комбинаторное, исследовательское и другие виды тестирования.

Как тестировать игры

Содержание

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

Чем тестирование игр отличается от тестирования ПО

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

В играх — иначе. Пользователь через персонажа совершает разные действия. На них реагирует игровая механика и запускает события. Но на механику влияет не только конкретный игрок, но и другие игроки плюс неигровые персонажи (NPC). Получается большая вариативность событий: везде могут быть ошибки. Чтобы обнаружить все, нужно много времени.

Специалист по тестированию мобильных или компьютерных игр, или game tester сначала изучает правила игры. Потом вызывает всевозможные события, чтобы в каждом обнаружить баги.

Виды тестирования игр

🧪 Функциональное (functionality testing)

Специалист проверяет:

  • меню, вкладки, кнопки;
  • единое отображение шрифтов;
  • разрешение экрана во время игры;
  • звуки, музыку, голоса персонажей.

Задача — найти баги в графике, навигации, контенте и окружающей игрока среде. Типичная функциональная ошибка — когда игровой персонаж проваливается в текстуры. Как раз такое и обнаруживает тестировщик.

🧪 Комбинаторное (combinational testing)

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

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

🧪 Исследовательское (exploratory testing)

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

🧪 Тестирование совместимости (compatibility testing)

Тестировщик проверяет, к каким экранам игра оптимизирована, а на каких расползается или сжимается. Еще определяет, скачивается ли игра, точно ли устанавливается и запускается без сбоев на всех устройствах.

🧪 Play-тестирование (play testing)

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

🧪 Регрессионное (regression testing)

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

Как тестировать игры: основные этапы

Проработка требований

Часто тестировщик начинает с того, что проверяет функциональные требования к игре. Они должны быть четкими, непротиворечивыми, выполнимыми. Необходимо, чтобы требования реально было протестировать, когда первая версия игры будет готова.

Разработка плана тестирования

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

Разработка сценариев тестирования

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

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

Тестирование программного обеспечения

Специалисты проводят различные тесты, отмечают ошибки в чек-листе. В конце отдают отчеты разработчикам — и они исправляют баги.

Повторное тестирование

Когда разработчики устранят баги, тестировщики прогонят игру еще раз. То есть проведут регрессионное тестирование. Если ошибки исправлены — игра готова к продакшену.

Завершение тестирования

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

Станьте инженером по тестированию по программе от Skypro. Освоите специальность за восемь с половиной месяцев, даже если совсем нет опыта в IT. Научитесь писать тестовую документацию: тест-кейсы, чек-листы и тест-планы, тестировать API, мобильные приложения. Всё это — вместе с личным наставником.

Не только дадим знания, но и поможем найти работу с минимальной зарплатой 50 000 ₽. Гарантию трудоустройства закрепляем в договоре.

Типичные ошибки в играх: где возникают

❌ В пользовательском интерфейсе. Вот несколько популярных багов:

  • игра не адаптирована под разрешения экранов — на некоторых расползается, на других сжимается;
  • игрок не получает подсказки там, где они должны быть;
  • пользователь вызывает рюкзак или меняет шмот, а действия тормозят по полминуты;
  • игрок делает одно, а интерфейс выдает что-то нелогичное: например, вместо сохранения сворачивает игру.

❌ В графике и анимации. Это любые ошибки, которые возникают с текстурами, краями области. Например, текстура вдруг распалась на пиксели, у персонажей не загрузились головы или NPC заело — он врос в стену.

❌ В физике. Если она в порядке, то игровой мир схож с реальным: при взрыве осколки разлетаются, а по воде идут круги, если в нее что-то бросить. Когда есть баги, физика не работает. Например, дома начинают взлетать или мяч не отскакивает от ворот, а камнем падает вниз.

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

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

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

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

❌ В системе оплаты. Если в процессе оплаты подписки или покупки шмота вылезет ошибка, то персональные данные — банковская карта, пароль, серия и номер паспорта — утекут в сеть и станут доступны третьим лицам. Игрок понесет финансовые потери, а компания — репутационные. К тому же ее могут привлечь к ответственности.

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

Коротко о тестировании игр

  • Тестирование игры — это процесс поиска ошибок: логических несоответствий, нарушений законов физики, багов с графикой и анимацией.
  • Баги ловит специалист — игровой тестировщик, или game tester. Он знает, как протестировать игру.
  • Сначала специалист оценивает требования к игре, потом разрабатывает план тестирования, дальше — сценариев тестов. Наконец, проверяет игру несколько раз и в конце пишет отчет о проделанной работе.
  • Во время тестирования используют разные приемы. Например, функциональное тестирование — поиск ошибок в окружающей игрока среде. Или тестирование совместимости — проверка отображения на любом гаджете без искажений.
Получите пошаговый план развития в карьере после записи на курс

    Оставляя заявку, вы принимаете условия соглашения

    Учёба ради учёбы — это не прикольно. На наших курсах вы ставите конкретные цели и достигаете их в заданные сроки. Начинайте карьеру с первых достижений!

    Добавить комментарий

    Вставить формулу как
    Блок
    Строка
    Дополнительные настройки
    Цвет формулы
    Цвет текста
    #333333
    Используйте LaTeX для набора формулы
    Предпросмотр
    \({}\)
    Формула не набрана
    Вставить