Начните тестирование Android с помощью Firebase Test Lab

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

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

Ключевые идеи

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

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

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

Шаг 1. Подготовьте тест для загрузки в тестовую лабораторию.

Доступные типы тестов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Дополнительные сведения см. в разделе Анализ результатов тестовой лаборатории Firebase.

Когда вы запускаете тест из 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, виртуальные устройства 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 (расширен с 02.02.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 (добавлено 2 февраля 2022 г.)

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

Виртуальные устройства 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 (добавлено 07.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)