Тесты Протестировать код
Программирование Аналитика Дизайн Маркетинг Управление проектами
01 Окт 2023
8 мин
9452

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

Пройдите тест, узнайте какой профессии подходите

Игры тестировать сложнее, чем неигровые приложения.

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

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

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

На курсе Skypro «Инженер по тестированию» научитесь проверять неигровые мобильные и веб-приложения. Проведете несколько видов тестирования, создадите собственные запросы и тесты.

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

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

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

QA-инженер использует разные методы, которые помогают выявить ошибки в функционале, совместимости, геймплее и даже сюжете. Разберем основные виды тестирования.

Функциональное — functionality testing. Специалист проверяет:

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

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

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

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

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

Быть настоящим исследователем научат на курсе Skypro «Инженер по тестированию». Опытные преподаватели расскажут, как найти возможные ошибки и какие инструменты для этого использовать. А еще разберут нестандартные ситуации из практики.

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

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

Регрессионное — regression testing. Новые ошибки могут появиться, когда разработчик выкатывает обновление или исправляет старые баги. Тестировщик отлавливает такие ошибки.

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

Игры проверяют поэтапно: от чек-листов до финального баг-фикса. Вот что нужно сделать тестировщику на каждом шаге:

  1. Проработать требования.
    Часто тестировщик начинает с того, что проверяет функциональные требования к игре. Они должны быть четкими, непротиворечивыми, выполнимыми. Необходимо, чтобы требования реально было протестировать, когда первая версия игры будет готова.
  2. Разработать план тестирования.
    На втором этапе тестировщик разрабатывает план, как проверить игру и поймать в ней баги. В плане описывает объем работ, бюджет, подходы, инструменты, время — получается вроде сметы, но на языке Game Test.
  3. Создать сценарии тестирования.
    Тестировщик пишет тест-кейсы — описывает определенные действия, чтобы проверить часть игры. Плюс составляет чек-листы: в них он будет отмечать, что работает как надо, а что — с ошибками.В некоторых случаях, чтобы не тестировать всё руками, тестировщик пишет скрипты. Они автоматически тестируют часть игры, специалист в этом не участвует.
  4. Протестировать программное обеспечение.
    Специалисты проводят различные тесты, отмечают ошибки в чек-листе. В конце отдают отчеты разработчикам — и они исправляют баги.

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

  5. Протестировать повторно.
    Тестировщики проводят регрессионное тестирование — прогоняют игру еще раз, когда разработчики исправляют баги. Проект готов к продакшену, если все ошибки исправлены и нет новых.
  6. Завершить тестирование.
    Специалисты готовят отчеты о проделанной работе. В них они указывают, какие провели тесты, какие ошибки нашли, сколько их было, что исправили разработчики.

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

Инструменты и программы

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

  • Jira или Bugzilla. Помогают управлять проектами и отслеживать задачи. Тестировщики фиксируют баги и следят, как их исправляют. Можно подробно описывать ошибки, прикреплять скриншоты и назначать задачи разработчикам.
  • TestRail. Организовывает кейс-тесты. Тестировщик записывает, какие проверки уже сделал, а какие — еще нет.
  • Charles Proxy или Fiddler. Показывают данные, которыми игра обменивается с сервером. Это помогает ловить ошибки в онлайн-играх.
  • Android Studio или Xcode. Проверяют мобильные приложения. Можно запустить игру на эмуляторе, смотреть логи и находить сбои.
  • GameBench. Анализирует производительность игры в реальном времени: смотрит на частоту кадров, время отклика и энергопотребление на разных устройствах.
  • Appium. Автоматизирует тесты для мобильных игр: сам нажимает кнопки и проверяет, как реагирует приложение.

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

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

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

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

В игре Quake заметили ошибку в интерфейсе: ники врагов по цвету не отличались от союзников. Баг поправили, но использовали эту особенность для персонажа шпиона в другой игре разработчиков — Team Fortress 2. Источник

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

игра

В игре «Ведьмак» Геральт и другие персонажи «любят» проваливаться в текстуры. Источник

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

игра

В Grand Theft Auto IV многие игроки столкнулись с «качелями смерти» — наезд на детскую площадку отправлял автомобиль в полет на другой конец карты. Источник

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

игра

В Red Dead Redemption 2 некоторые игроки жаловались на квест «Экзотика». Нужный NPC просто исчезал из игры, из-за чего сдать собранные компоненты и закрыть задание было невозможно. Источник

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

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

игра

Любители The Elder Scrolls V: Skyrim до сих пор помнят кур в деревне Ривервуда, которые передавали информацию обо всех преступлениях игрока в другие поселения. Источник

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

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

Инженер по тестированию — важный специалист в сфере IT: без его внимания не обходится ни один программный продукт. В онлайн-университете Skypro обучиться этой профессии можно с нуля за 12 месяцев. За это время вы научитесь проводить ручное и автоматическое тестирование, работать с системами баг-трекинга и Git. В конце учебы получите диплом о профессиональной переподготовке.

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

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

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