Как начать тестирование приложений для Android с помощью Firebase Test Lab

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

Сведения о квотах и тарифных планах Test Lab приведены в разделе Использование, квоты и цены.

Основные понятия

Когда вы запускаете тест или набор тестов на выбранных устройствах и конфигурациях, Test Lab выполняет тестирование приложения в пакетном режиме, а затем показывает результаты в виде матрицы тестирования.

Устройства × выполнение тестов = матрица тестирования

Устройство
Физическое или виртуальное устройство (только Android), на котором вы проводите тестирование, например телефон, планшет или носимое устройство. Устройства в матрице тестирования определяются по модели, версии ОС, ориентации экрана и языковым настройкам.
Тестирование, выполнение тестов
Тест или набор тестов, которые нужно выполнить на устройстве. Вы можете запустить один тест на устройстве или разбить тест на части и запустить его тестовые случаи на разных устройствах.
Матрица тестов
Содержит статусы и результаты выполнения тестов. Если хотя бы одно выполнение теста в матрице завершится неудачно, вся матрица будет считаться неудачной.

Шаг 1. Подготовьте тест к загрузке в Test Lab

Доступные типы тестирования

С помощью Test Lab можно проводить следующие тесты: Обратите внимание, что все типы тестирования ограничены по времени: 45 минут на физических устройствах и 60 минут на виртуальных. Любое необработанное исключение приведет к сбою теста.

  • Инструментальный тест или инструментальный модульный тест – это тест, написанный с использованием фреймворков Espresso или UI Automator. С помощью этого теста можно явно задавать утверждения о состоянии приложения, чтобы проверить правильность его работы с помощью API AndroidJUnitRunner.

  • Тестирование роботом. Автоматизированное тестирование, в ходе которого анализируется интерфейс приложения, а затем методично исследуется путем имитации действий пользователя. При этом вам не нужно писать код. Подробнее о тестировании с помощью робота…

  • Тест с игровым циклом. Тест, в котором используется деморежим для имитации действий игрока в игровых приложениях. Это быстрый и масштабируемый способ проверить, насколько хорошо работает ваша игра. При запуске тестирования игрового цикла можно:

    • Как писать тесты, встроенные в игровой движок

    • Не пишите один и тот же код для разных интерфейсов или фреймворков тестирования.

    • При необходимости создайте несколько циклов, которые будут выполняться в рамках одного выполнения теста (подробнее о тестировании игровых циклов…). Вы также можете упорядочивать циклы с помощью ярлыков, чтобы отслеживать их и запускать повторно.

    Инструкции по проведению этого теста с помощью Test Lab приведены в статье Как запустить тест игрового цикла.

Инструменты для проведения тестирования

Для проведения тестирования можно выбрать следующие инструменты:

Вы также можете бесплатно протестировать приложение с помощью Test Lab, загрузив и опубликовав APK-файлы приложения в Google Play через альфа- или бета-канал. Подробнее о том, как выявлять проблемы с помощью отчетов о тестировании и как проводить тестирование роботом…

Шаг 2. Выберите тестовое устройство

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

Шаг 3. Проверьте результаты тестирования

Независимо от того, как вы запускаете тесты, все результаты хранятся в Test Lab и доступны онлайн.

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

Необработанные результаты тестирования содержат журналы тестирования и сведения о сбоях в работе приложения. Они автоматически сохраняются в сегменте Google Cloud. Если вы укажете сегмент, то будете нести ответственность за оплату хранения. Если вы не укажете сегмент, Test Lab создаст его для вас бесплатно.

Подробнее о том, как анализировать Firebase Test Lab результаты сканирования…

Если вы запустили тестирование из Android Studio, то сможете посмотреть результаты в этой среде разработки.

Очистка устройства

Google очень серьезно относится к безопасности данных приложений. После каждого тестирования мы удаляем данные приложений и сбрасываем настройки системы на физических устройствах, следуя отраслевым стандартам, чтобы подготовить их к новым тестам. Для устройств, на которые можно установить образ специальной среды восстановления, мы выполняем эту процедуру между запусками тестов.

Виртуальные устройства, используемые Test Lab, удаляются после использования, поэтому каждый тест выполняется на новом экземпляре виртуального устройства.


Test Lab и сервисы Google Play

На устройствах Test Lab обычно установлена последняя версия SDK сервисов Google Play, но иногда для обновления до новой версии SDK требуется несколько дней. Обратите внимание, что с некоторыми устройствами могут возникать проблемы совместимости.

Как разрешить тестовым устройствам доступ к частным внутренним серверам

Для правильной работы некоторых мобильных приложений во время тестирования требуется связь с частными серверными сервисами. Если ваши внутренние серверы защищены правилами брандмауэра, вы можете разрешить доступ к физическим и виртуальным устройствам Test Lab, используя приведенные ниже блоки IP-адресов, чтобы открыть маршруты через брандмауэр.

Мобильная реклама

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

Чтобы устранить эту проблему:

  • Если вы используете или работаете со сторонними поставщиками цифровой рекламы (например, рекламными сетями или платформами покупателя), рекомендуем использовать тестовые объявления вместо реальных объявлений во время разработки и тестирования приложения.

  • Если вам необходимо использовать в тесте реальные объявления, сообщите поставщикам цифровой рекламы, с которыми вы сотрудничаете, чтобы они отфильтровали доход и весь соответствующий трафик, сгенерированный Test Lab, с помощью блоков IP-адресов, указанных ниже. Вам не нужно уведомлять поставщиков объявлений, принадлежащих Google, поскольку это делает Test Lab.

IP-адреса, используемые устройствами Test Lab

Весь сетевой трафик, создаваемый устройствами Test Lab, поступает из следующих блоков IP-адресов. Вы также можете получить доступ к этому списку, используя gcloud beta firebase test ip-blocks list команду в интерфейсе командной строки gcloud. Список обновляется в среднем раз в год.

Платформа и тип устройства Блок IP-адресов CIDR
Физические устройства Android и iOS, виртуальные устройства Arm

70.32.128.0/19 (добавлен в феврале 2022 г.)

108.177.6.0/23

108.177.18.192/26 (добавлен в феврале 2022 г.)

108.177.29.64/27 (расширение от февраля 2022 г.)

108.177.31.160/27 (добавлен в феврале 2022 г.)

199.36.156.8/29 (добавлено в феврале 2022 г.)

199.36.156.16/28 (добавлено в феврале 2022 г.)

209.85.131.0/27 (добавлено в феврале 2022 г.)

2001:4860:1008::/48 (добавлен в феврале 2022 г.)

2001:4860:1018::/48 (добавлен в феврале 2022 г.)

2001:4860:1019::/48 (добавлен в феврале 2022 г.)

2001:4860:1020::/48 (добавлен в феврале 2022 г.)

2001:4860:1022::/48 (добавлен в феврале 2022 г.)

2001:4860:101d::/48 (добавлен в октябре 2025 г.)

2001:4860:101e::/48 (добавлен в октябре 2025 г.)

2001:4860:1031::/48 (добавлен в октябре 2025 г.)

70.32.128.48/28 (добавлен в апреле 2024 г.)

70.32.150.192/27 (добавлен в сентябре 2025 г.)

108.177.6.0/27 (добавлен в сентябре 2025 г.)

108.177.24.160/27 (добавлен в сентябре 2025 г.)

108.177.29.0/27 (добавлен в сентябре 2025 г.)

108.177.25.128/27 (добавлен в мае 2026 г.)

108.177.26.128/26 (добавлен в мае 2026 г.)

108.177.29.192/26 (добавлено в мае 2026 г.)

172.217.120.64/26 (добавлено в мае 2026 г.)

172.217.120.128/26 (добавлено в мае 2026 г.)

2001:4860:1037::/48 (добавлен в мае 2026 г.)

2001:4860:1038::/48 (добавлен в мае 2026 г.)

2001:4860:103a::/48 (добавлен в мае 2026 г.)

Виртуальные устройства Android (не на базе архитектуры ARM)

34.68.194.64/29 (добавлен в ноябре 2019 г.)

34.69.234.64/29 (добавлен в ноябре 2019 г.)

34.73.34.72/29 (добавлен в ноябре 2019 г.)

34.73.178.72/29 (добавлено в ноябре 2019 г.)

34.74.10.72/29 (добавлен в феврале 2022 г.)

34.136.2.136/29 (добавлен в феврале 2022 г.)

34.136.50.136/29 (добавлено в феврале 2022 г.)

34.145.234.144/29 (добавлен в феврале 2022 г.)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

35.243.2.0/27 (добавлен в июле 2019 г.)

35.245.243.240/29 (добавлен в феврале 2022 г.)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

Блокировка IP-адресов устройств больше не используется

74.125.122.32/29 (удалено в феврале 2022 г.)

216.239.44.24/29 (удалено в феврале 2022 г.)