Catch up on highlights from Firebase at Google I/O 2023. Learn more

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

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

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

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

    • Избегайте написания одного и того же кода для разных пользовательских интерфейсов или сред тестирования.

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

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

Инструменты для запуска вашего теста

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

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

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


Тестовая лаборатория и сервисы 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

70.32.128.0/19 (добавлено 02.02.2022)

108.177.6.0/23

108.177.18.192/26 (добавлено 02.02.2022)

108.177.29.64/27 (расширен 02-2022)

108.177.31.160/27 (добавлено 02.02.2022)

199.36.156.8/29 (добавлено 02.02.2022)

199.36.156.16/28 (добавлено 02.02.2022)

209.85.131.0/27 (добавлено 02.02.2022)

2001:4860:1008::/48 (добавлено 02.02.2022)

2001:4860:1018::/48 (добавлено 02.02.2022)

2001:4860:1019::/48 (добавлено 02.02.2022)

2001:4860:1020::/48 (добавлено 02.02.2022)

2001:4860:1022::/48 (добавлено 02.02.2022)

Виртуальные устройства Android

34.68.194.64/29 (добавлено 11.11.2019)

34.69.234.64/29 (добавлено 11.11.2019)

34.73.34.72/29 (добавлено 11.11.2019)

34.73.178.72/29 (добавлено 11.11.2019)

34.74.10.72/29 (добавлен 02.02.2022)

34.136.2.136/29 (добавлено 02.02.2022)

34.136.50.136/29 (добавлено 02.02.2022)

34.145.234.144/29 (добавлено 02.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.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)