Начните тестирование с помощью виртуальных устройств Android

В этом документе описываются AVD для Test Lab , включая преимущества и известные ограничения. Мы также даем рекомендации по тестированию вашего приложения на протяжении всего жизненного цикла разработки. AVD Test Lab похожи на AVD для Android Studio , но оптимизированы для повышения производительности при облачном тестировании, поэтому между ними есть несколько различий.

AVD-устройства Test Lab с расширением .arm или (Arm) — это продвинутые эмуляторы, предоставляющие следующие преимущества:

  • Более быстрое выполнение тестов

  • Размеры и плотность экранов согласованы с AVD из Android Studio для обеспечения единообразия.

  • Графика с поддержкой графического процессора

В таблице ниже описаны преимущества использования виртуальных устройств:

Выгода Описание Вариант(ы) использования
Высокая доступность Тестирование с использованием виртуальных устройств позволяет запускать тесты и получать результаты быстрее. Поскольку виртуальные устройства создаются по запросу, ваши тесты запускаются практически мгновенно, обеспечивая быструю проверку вашего приложения. Тестирование небольших обновлений вашего приложения или регрессионное тестирование.
Более длительная продолжительность тестирования Виртуальные устройства поддерживают продолжительность тестирования до 60 минут. Тестирование на физических устройствах ограничено 45 минутами на каждом устройстве. Проведение более длительных тестов
Снижение затрат Стоимость использования виртуальных устройств для тестирования вашего приложения составляет 1 доллар в час. Ежедневное тестирование с использованием систем непрерывной интеграции или перед внесением изменений в код. Для получения дополнительной информации см. раздел «Уровни использования, квоты и цены для Test Lab .

Протестируйте свое приложение на виртуальных устройствах.

Вы можете тестировать свое приложение с помощью виртуальных устройств так же, как и с помощью физических устройств. Вы можете выбрать виртуальные устройства для своих тестов при настройке тестовой матрицы. Чтобы узнать больше о запуске тестов с помощью Test Lab , см. раздел «Начало тестирования Android с помощью Firebase Test Lab .

Просмотреть поддерживаемые модели и API

Чтобы просмотреть модели AVD и API, поддерживаемые Test Lab , выполните следующую команду:

gcloud firebase test android models list --filter=virtual

Рекомендации по тестированию вашего приложения

Виртуальные устройства расширяют ваши возможности при тестировании приложения с помощью Test Lab . Мы рекомендуем использовать следующие лучшие практики для тестирования приложения на протяжении всего жизненного цикла разработки:

Используйте эмулятор Android Studio или подключенное физическое устройство.

При разработке приложения используйте эмулятор Android Studio или подключенное физическое устройство для проверки каждой сборки в целях первоначальной валидации. Если у вас есть инструментальные тесты, вы также можете запустить их из Android Studio на физических или виртуальных устройствах, предоставляемых Test Lab .

При работе над общими проектами используйте системы непрерывной интеграции (CI) при каждом изменении кода.

Если вы работаете над крупным проектом или участвуете в проектах, которые распространяются через GitHub или аналогичные сайты, мы рекомендуем использовать системы непрерывной интеграции (CI). Тестируйте свои приложения на виртуальных устройствах каждый раз, когда запускается система CI, или перед каждым запросом на слияние (pull request). Чтобы узнать больше об использовании Test Lab с системами CI, см. раздел «Использование Test Lab для Android с системами непрерывной интеграции» .

Перед выпуском важных обновлений приложения протестируйте его на физических устройствах с помощью Test Lab

Прежде чем выпускать обновления приложения со значительными изменениями в пользовательском интерфейсе и функциональности, мы рекомендуем использовать Test Lab для тестирования вашего приложения на физических устройствах. Это поможет обеспечить стабильность и производительность вашего приложения на широком спектре популярных физических устройств. Тестирование на физических устройствах также гарантирует покрытие тестами любой функциональности приложения, которая зависит от функций физических устройств, не имитируемых виртуальными устройствами. Чтобы узнать больше об этих функциях, см. раздел «Известные ограничения» .

Обновления виртуальных устройств

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

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

Известные ограничения

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

Особенность Подробности
Интерфейсы двоичных приложений (ABI) Не все устройства поддерживают все ABI. Если вы разрабатываете с использованием Android NDK, обязательно сгенерируйте код для ABI, поддерживаемых целевыми устройствами (см. раздел «Доступные устройства в Test Lab »). Для получения дополнительной информации об управлении ABI см. раздел «Android ABI» .

Примечание: Если тест в вашей матрице тестов помечен как «Недействительный», это может быть связано с тем, что ваше приложение зависит от нативного кода, не поддерживаемого ABI устройства.

Производительность графики Виртуальные устройства Nexus и Pixel используют программный рендеринг графики. Приложения, интенсивно использующие графику, могут демонстрировать снижение производительности. Если ваше приложение требует интенсивной работы с графикой, рассмотрите возможность использования SmallPhone.arm, MediumPhone.arm или физических устройств.
Графические API OpenGL ES 3.x не поддерживается на устройствах с уровнем API ниже 29. Более новые устройства не на 100% совместимы с API OpenGL/Vulkan, поэтому вы можете заметить небольшие различия в графике.
Приложение Google Play Store Приложение Google Play Store не поддерживается на виртуальных устройствах Arm.
Функциональность дополненной реальности (AR) Тестирование функциональности дополненной реальности (AR) не поддерживается на виртуальных устройствах.
Более старые уровни API Виртуальные устройства Arm Test Lab не поддерживают уровни API ниже 26.

Следующие шаги