Начните работу с Firebase Test Lab для iOS

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

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

Ключевые понятия и термины

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

Устройства × количество тестов = матрица тестов

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

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

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

  • XCTest (включая XCUITests) : Модульный тест, который вы написали с использованием среды XCTest . Посетите страницу Создание XCTest для получения инструкций по изменению XCTest для работы с Test Lab.

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

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

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

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

    Посетите раздел Запуск теста Game Loop, чтобы узнать, как запустить тест в Test Lab.

Шаг 2. Выберите инструмент для запуска теста.

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

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

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

  • Перед тестированием на реальных устройствах запустите тест локально на симуляторе , чтобы убедиться, что он ведет себя так, как задумано. Инструкции см. в разделе « Локальное тестирование» .

Шаг 3. Укажите устройства для тестирования.

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

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

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

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

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

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

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

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

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


Разрешение устройствам Test Lab доступа к частным внутренним серверам

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