Как начать тестирование приложений для 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. С помощью этого теста вы можете сделать явные утверждения о состоянии вашего приложения, чтобы проверить правильность его работы, используя AndroidJUnitRunnerAPIs.

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

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

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

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

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

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

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

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

  • Рекомендуется для новых пользователей. Консоль Firebase позволяет загрузить приложение и запустить тестирование в браузере. Инструкции по проведению тестов с помощью этого инструмента приведены в разделе Тестирование с помощью консоли Firebase.

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

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

Вы также можете бесплатно протестировать приложение с помощью 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, но иногда обновление может занять несколько дней. Обратите внимание, что на некоторых устройствах могут возникнуть проблемы с совместимостью.

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

Для правильной работы во время тестирования некоторым мобильным приложениям требуется связь с частными серверными службами. Если ваши брандмауэры защищены правилами брандмауэра, вы можете разрешить доступ для физических и виртуальных устройств 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 г.)