Ниже приведены основные проблемы использования эмуляторов и симуляторов в тестировании игр.
1. Мощность компьютера, на котором работает эмулятор, может серьезно отличаться от мощности мобильного устройства. Поэтому на эмуляторе нельзя понять и оценить дефекты, связанные с временем отклика. По этой же причине рендеринг графики в эмуляторе часто отличается от реального устройства. Другими словами, тестировать реальную производительность на эмуляторе практически невозможно.
2. Отсутствие реальной мобильности. Тестировщик не может проверить, как игровое ПО будет выглядеть в темноте или, наоборот, в сильно освещенном месте, как руки пользователя и их размер будут взаимодействовать с интерфейсом (например, закрывать его часть). Поэтому полноценное тестирование UI крайне затруднительно, если вообще возможно.
3. Несмотря на имеющийся в эмуляторах функционал, нельзя полноценно имитировать проблемы с аккумулятором устройства. Также нельзя предусмотреть и проверить взаимодействие тестируемой игры с другими популярными приложениями, с которыми игровое ПО взаимодействует постоянно.
Поэтому необходимость проведения тестов хотя бы на нескольких реальных устройствах – неотъемлемый элемент процесса тестирования.
Кроме эмуляторов и симуляторов мобильных устройств в работе тестировщика не обойтись без ПО, которое позволяет:
• делать скриншоты и записывать видео;
• имитировать различные проблемы с интернет-соединением;
• проверить, как игра воспринимается людьми, имеющими особенности органов чувств (например, для людей с цветовой слепотой и ее подвидами).
10. Возможности автоматизации тестирования
Одна из особенностей тестирования игр на мобильных устройствах – расширенные возможности для автоматизации тестов. Специалистам доступен широкий выбор самого разнообразного ПО: от инструментов автоматизации проверок пользовательского интерфейса до организации нагрузочного тестирования. Автоматизация тестирования – очень обширная тема, достойная отдельного разговора. Информацию по использованию различных инструментов автоматизации ты найдешь в источниках в конце этой книги.
5.2. Игровые консоли
В отличие от других платформ, игровые консоли принадлежат к типу сугубо игрового «железа», изначально появившись исключительно для игр. Во многом это определяет их уникальность и специфический подход при тестировании программных продуктов.
Первый и основной нюанс консольного тестирования – это аппаратное и программное обеспечение. В отличие от РС, где существуют тысячи различных конфигураций, консоли имеют унифицированное железо. Это дает разработчикам возможность точно знать, под какое оборудование они оптимизируют свои игры. Это, с одной стороны, облегчает процесс тестирования, так как отсекает проблемы совместимости, характерные для РС. Однако это добавляет сложности, связанные с оптимизацией и интеграцией с операционной системой игровой консоли. Консоли разных производителей (и разных моделей) имеют разный интерфейс, разные функции или реализацию аналогичных функций. Например, консоли Sony имеют функцию PlayGo, которая позволяет запустить игру, не дожидаясь ее полной загрузки. Разработчику нужно заранее позаботиться о том, чтобы необходимые для запуска игры файлы загружались первыми и могли работать до полной установки игры. Именно из-за отличий в аппаратном и программном обеспечении каждый фрагмент кода должен быть оптимизирован под спецификации и технические требования каждой консоли.
Пример игровых контроллеров для автосимуляторов
Еще одна особенность тестирования консольных игр – довольно специфические для консолей контроллеры, такие как геймпады (gamepad) и контроллеры движения (move motion controller), а также множество других игровых контроллеров, которые могут быть подключены к игровой приставке.
1. Рули, педали и рычаги переключения скоростей
2. Джойстики
3. Макеты оружия (пистолеты, автоматы)
4. Макеты музыкальных инструментов (гитары, ударные установки)
5. Танцевальная платформа (ритм-платформа)
6. Макеты рыболовной удочки и т. д.
Такие устройства серьезно расширяют возможности консолей, помогают получить дополнительный игровой опыт, а также создают условия и необходимость проведения дополнительных тщательных проверок.
В отличие от современных РС, у которых практически не осталось дополнительных оптических устройств для установки игр с внешних носителей (таких как DVD или Blu-ray-диски), игровые консоли используют возможности использования дисков или картриджей как одну из основных для установки продуктов (наряду со скачиванием игры из официального магазина игр). В связи с этим часто возникает необходимость дополнительных проверок установки и процесса игры с таких носителей.
На базовом уровне, кроме указанных выше, отличий тестирования консольных игр от тестирования игр для РС нет, но существует один вид тестирования, который радикально меняет подходы к проверкам. Этот вид называется сертификационным тестированием (Compliance testing). Производители игровых консолей (на текущий момент основные производители – Sony, Microsoft и Nintendo) разработали ряд требований[40], которые они предъявляют к играм и без соблюдения которых игра не будет опубликована в официальном магазине платформы. Эти требования изложены в специальных документах, которые получают аккредитованные компании-разработчики и тестировщики. Помимо функциональных и нефункциональных требований в документах изложены и требования юридического характера, связанные, например, с соблюдением прав и ограничений для несовершеннолетних пользователей, использования объектов интеллектуальной собственности и др.
Сертификация всех публикуемых в магазине платформы игр необходима прежде всего для:
• соблюдения законодательства стран, в которой распространяется игровой контент;
• интеграции с оболочкой системы консоли;
• поддержания репутации владельцев платформы;
• гарантии работоспособности игры для покупателей и соблюдения их прав;
• исключения попадания нежелательного и/или вредоносного программного обеспечения или контента на платформу.
Так как мир не стоит на месте, меняются законы, меняются игры и консоли – меняются и требования, предъявляемые к играм. А это значит, что тестировщики и разработчики должны быть к этому готовы. Опытный тестировщик знает, что время – деньги, и должен проверять актуальность требований, основываясь на которых он собирается тестировать игру. Тестирование по устаревшим требованиям принесет невалидные результаты и дополнительные затраты на разработку.
Выпускаемых игр огромное количество, и владельцы платформы не могут предоставить список требований для каждой конкретной игры: он общий и универсальный. Одинаковые требования для разных игр могут тестироваться разным путем, но одинаковым принципом, и это создает трудности для понимания начинающим тестировщикам. К примеру, есть требование «иметь возможность приобрести творог в магазине» и мы тестируем разные магазины. Ты пойдешь в разные места, творог будет лежать в разных местах, ты будешь общаться с разными кассирами, потратишь разную сумму, но принцип проведения теста будет при этом один. Как раз это и требуется понимать при сертификационном тестировании.
Важный нюанс при тестировании игр для консолей: для проведения глубокого сертификационного тестирования обычные игровые приставки не годятся. Это обусловлено тем, что современные игровые консоли имеют закрытую операционную систему и не имеют такой обширный спектр инструментов для тестирования, как РС. Поэтому специалисты используют устройства, которые называются дев-китами (Dev Kit) или тест-китами (Test Kit). Данные устройства имеют более мощное аппаратное обеспечение, предназначены для разработчиков, а также позволяют использовать дополнительные инструменты для проверки того, как будет работать игра у реальных пользователей.
Хотя тестировщики проводят глубокое тестирование на специальных консолях и используют специальный софт, тестировщик без навыков программирования не сможет проверить все требования. Дело в том, что некоторые вещи возможно проверить, только имея доступ к коду и понимание кода игры. Если у тестировщика нет необходимых знаний, он должен создать запрос для разработчиков на проверку определенного требования.
5.3. Персональный компьютер (ПК, РС)
Тестирование игр на персональном компьютере считается одним из самых сложных и разнообразных по следующим причинам.
• Огромное количество конфигураций компьютерного «железа»
• Большое количество операционных систем и их версий
• Большое количество установленного на РС программного обеспечения (антивирусы, другие игры, драйверы устройств и т. д.) и присутствие или, наоборот, отсутствие обновлений для этих программ
• Многообразие используемых мониторов с разным разрешением, соотношением сторон и частотой обновления экрана
• Широкий спектр подключаемых игровых контроллеров
• Большое количество платформ распространения и хранения игрового контента
Количество всевозможных сочетаний комплектующих современного РС не только усложняет процесс проведения тестирования производительности и совместимости, но и накладывает определенные ограничения на саму разработку игрового продукта. С одной стороны, разработчики хотят охватить как можно более широкую аудиторию, поскольку это влияет на популярность игры и финансовые показатели продаж. С другой – они должны понимать, что количество пользователей будет ограничено некоторыми минимальными требованиями к РС. И эти минимальные требования, как и рекомендуемые для оптимальной работы, нужно определить в процессе тестирования. Конечно, даже используя специальные тестовые фермы, физически невозможно провести проверку работоспособности игры на всех вероятных конфигурациях, но выше уже упоминалась техника тест-дизайна попарного тестирования, которая позволяет тестировщикам существенно упростить и ускорить пр