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