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 .
Для получения инструкций по созданию инструментального теста обратитесь к документации для разработчиков Android .
Роботизированное тестирование : автоматизированный тест, который анализирует пользовательский интерфейс вашего приложения, а затем методично исследует его, имитируя действия пользователя, без необходимости написания какого-либо кода. Подробнее см. в разделе «О роботизированных тестах» .
Тест игрового цикла : тест, использующий «демонстрационный режим» для имитации действий игрока в игровых приложениях. Это быстрый и масштабируемый способ проверить, насколько хорошо ваша игра работает для пользователей. При запуске теста игрового цикла вы можете:
Пишите тесты, изначально предназначенные для вашего игрового движка.
Избегайте написания одного и того же кода для разных пользовательских интерфейсов или фреймворков тестирования.
При желании можно создать несколько циклов для выполнения в рамках одного теста (подробнее см. в разделе «О тестах игровых циклов »). Также можно упорядочивать циклы с помощью меток, чтобы отслеживать их и повторно запускать определенные циклы.
Инструкции по запуску этого теста в Test Lab см. в разделе «Запуск теста игрового цикла» .
Инструменты для запуска вашего теста
Для проведения теста вы можете выбрать следующие инструменты:
Рекомендуется для начинающих пользователей : консоль Firebase позволяет загрузить приложение и начать тестирование прямо из веб-браузера. Инструкции по запуску тестов с помощью этого инструмента см. в разделе «Тестирование с помощью консоли Firebase .
Интеграция с Android Studio позволяет тестировать приложение, не покидая среду разработки. Инструкции по запуску тестов с помощью этого инструмента см. в разделе «Тестирование с помощью Android Studio» .
Интерфейс командной строки gcloud позволяет запускать тесты из командной строки в интерактивном режиме, а также хорошо подходит для написания скриптов в рамках автоматизированного процесса сборки и тестирования. Инструкции по запуску тестов с помощью этого инструмента см. в разделе «Тестирование с помощью CLI gcloud» .
Вы также можете бесплатно протестировать свое приложение с помощью Test Lab , загрузив и опубликовав APK-файлы своего приложения в Play Store, используя альфа- или бета-канал. Для получения дополнительной информации см. разделы «Использование отчетов перед запуском для выявления проблем» и «Роботизированное тестирование» .
Шаг 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 (добавлено 02-2022) 108.177.6.0/23 108.177.18.192/26 (добавлено 02-2022) 108.177.29.64/27 (расширено в феврале 2022 г.) 108.177.31.160/27 (добавлено 02-2022) 199.36.156.8/29 (добавлено 02-2022) 199.36.156.16/28 (добавлено 02-2022) 209.85.131.0/27 (добавлено 02-2022) 2001:4860:1008::/48 (добавлено 02-2022) 2001:4860:1018::/48 (добавлено 02-2022) 2001:4860:1019::/48 (добавлено 02-2022) 2001:4860:1020::/48 (добавлено 02-2022) 2001:4860:1022::/48 (добавлено 02-2022) 2001:4860:101d::/48 (добавлено 10-2025) 2001:4860:101e::/48 (добавлено 10-2025) 2001:4860:1031::/48 (добавлено 10-2025) 70.32.128.48/28 (добавлено 04-2024) 70.32.150.192/27 (добавлено 09-2025) 108.177.6.0/27 (добавлено 09-2025) 108.177.24.160/27 (добавлено 09-2025) 108.177.29.0/27 (добавлено 09-2025) |
| Виртуальные устройства Android (не Arm) | 34.68.194.64/29 (добавлено 11-2019) 34.69.234.64/29 (добавлено 11-2019) 34.73.34.72/29 (добавлено 11-2019) 34.73.178.72/29 (добавлено 11-2019) 34.74.10.72/29 (добавлено 02-2022) 34.136.2.136/29 (добавлено 02-2022) 34.136.50.136/29 (добавлено 02-2022) 34.145.234.144/29 (добавлено 02-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 (добавлено 7-2019) 35.245.243.240/29 (добавлено 02-2022) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |
| Блоки IP-адресов устройств больше не используются | 74.125.122.32/29 (удалено 02-2022) 216.239.44.24/29 (удалено 02-2022) |