Игры с багами раздражают: никто не хочет потратить час на квест, а потом выяснить, что новая локация не грузится. В магазинах приложений нестабильные проекты получают негативные комментарии и опускаются в рейтинге. В результате новые пользователи не скачивают контент, а компания-разработчик теряет прибыль. Всего этого можно избежать, если тестировать игры перед запуском.
Чем тестирование игр отличается от тестирования ПО
Игры тестировать сложнее, чем неигровые приложения. Причина в игровой механике. Обычное ПО строят на алгоритмах, которые предсказуемо реагируют на то, что делает пользователь. К примеру, он нажал значок «Корзина» — программа тут же удалила часть данных. И так всегда.
На курсе Skypro «Инженер по тестированию» научитесь проверять неигровые мобильные и веб-приложения. Проведете несколько видов тестирования, создадите собственные запросы и тесты.
В играх пользователь через персонажа действует по-разному. Игровая механика реагирует и запускает определенные события. Но на механику, помимо конкретного игрока, влияют неигровые персонажи (NPC) и другие пользователи, если это онлайн-проект. Выходит, что сценариев много и везде могут быть ошибки. Нужно много времени, чтобы обнаружить все.
Специалист по тестированию мобильных или компьютерных игр, или game tester, сначала изучает правила игры, а потом вызывает всевозможные события, чтобы в каждом обнаружить баги.
Виды тестирования игр
QA-инженер использует разные методы, которые помогают выявить ошибки в функционале, совместимости, геймплее и даже сюжете. Разберем основные виды тестирования.
Функциональное — functionality testing. Специалист проверяет:
- меню, вкладки, кнопки;
- шрифты;
- разрешение экрана во время игры;
- звуки, музыку, голоса персонажей.
Задача — найти баги в графике, навигации, контенте и окружающей игрока среде. Типичная функциональная ошибка — когда игровой персонаж проваливается в текстуры. Как раз такое и обнаруживает тестировщик.
Комбинаторное — combinational testing. Это вроде теста в тесте. Специалист выясняет, сколько тестов надо провести, чтобы найти в игре все баги. Для этого он изучает игровые выходные и входные данные, получает их всевозможные комбинации и проверяет каждую. Смотрит, соответствуют ли входным данным необходимые выходные.
Например, персонаж должен перейти на новый уровень, когда набрал 100 очков. Данные соответствуют — уровень увеличивается, а если нет — где-то баг.
Исследовательское — exploratory testing. Специалист ищет баги по ходу игрового процесса. При этом он должен намеренно создавать ситуации, где ошибка появится с большей вероятностью. Поэтому от тестировщика требуется нестандартное мышление.
Быть настоящим исследователем научат на курсе Skypro «Инженер по тестированию». Опытные преподаватели расскажут, как найти возможные ошибки и какие инструменты для этого использовать. А еще разберут нестандартные ситуации из практики.
Тестирование совместимости — compatibility testing. Тестировщик проверяет, к каким экранам игра оптимизирована, а на каких расползается или сжимается. Еще определяет, скачивается ли игра, точно ли устанавливается и запускается без сбоев на всех устройствах.
Play-тестирование — play testing. Тестировщик проходит игру как обычный игрок. Если возникают ошибки, отмечает их, но главное, что он оценивает, — это качество сценария, сюжетную линию и увлекательность. В конце теста специалист делает вывод, может ли игра заинтересовать публику.
Регрессионное — regression testing. Новые ошибки могут появиться, когда разработчик выкатывает обновление или исправляет старые баги. Тестировщик отлавливает такие ошибки.
Как тестировать игры: основные этапы
Игры проверяют поэтапно: от чек-листов до финального баг-фикса. Вот что нужно сделать тестировщику на каждом шаге:
- Проработать требования.
Часто тестировщик начинает с того, что проверяет функциональные требования к игре. Они должны быть четкими, непротиворечивыми, выполнимыми. Необходимо, чтобы требования реально было протестировать, когда первая версия игры будет готова. - Разработать план тестирования.
На втором этапе тестировщик разрабатывает план, как проверить игру и поймать в ней баги. В плане описывает объем работ, бюджет, подходы, инструменты, время — получается вроде сметы, но на языке Game Test. - Создать сценарии тестирования.
Тестировщик пишет тест-кейсы — описывает определенные действия, чтобы проверить часть игры. Плюс составляет чек-листы: в них он будет отмечать, что работает как надо, а что — с ошибками.В некоторых случаях, чтобы не тестировать всё руками, тестировщик пишет скрипты. Они автоматически тестируют часть игры, специалист в этом не участвует. - Протестировать программное обеспечение.
Специалисты проводят различные тесты, отмечают ошибки в чек-листе. В конце отдают отчеты разработчикам — и они исправляют баги.
Этому научат на курсе Skypro «Инженер по тестированию». Вы сможете заводить данные в системы отслеживания ошибок, писать отчеты, оценивать качество работы и быстро проверять много сценариев с помощью техник тест-дизайна.
- Протестировать повторно.
Тестировщики проводят регрессионное тестирование — прогоняют игру еще раз, когда разработчики исправляют баги. Проект готов к продакшену, если все ошибки исправлены и нет новых. - Завершить тестирование.
Специалисты готовят отчеты о проделанной работе. В них они указывают, какие провели тесты, какие ошибки нашли, сколько их было, что исправили разработчики.
Станьте инженером по тестированию по программе от 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. Он знает, как протестировать игру.
- 🟦 Специалист оценивает требования к игре, разрабатывает план тестирования, создает сценарии тестов, проверяет игру несколько раз и в конце пишет отчет о проделанной работе.
- 🟦 Во время тестирования используют разные приемы. Например, функциональное тестирование — поиск ошибок в окружающей игрока среде. Или тестирование совместимости — проверка отображения на любом гаджете без искажений.
Добавить комментарий