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

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

Test Lab AVD с суффиксом .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 .

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

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

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

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

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

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

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

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

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

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

Примечание: Если тест в вашей тестовой матрице помечен как недействительный, это может быть связано с тем, что ваше приложение зависит от собственного кода, не поддерживаемого 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 Виртуальные устройства Test Lab Arm не поддерживают уровни API ниже 26.

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