Начните работу с 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 для запуска в Test Lab см. в разделе «Создание XCTest» .

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

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

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

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

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

Шаг 2 : Выберите инструмент для проведения теста

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

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

  • Интерфейс командной строки (CLI) gcloud позволяет интерактивно запускать тесты из командной строки, а также отлично подходит для написания скриптов в рамках автоматизированного процесса сборки и тестирования. Инструкции по использованию этого инструмента см. в разделе Тестирование с помощью интерфейса командной строки 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, виртуальные устройства 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-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)

70.32.128.48/28 (добавлено 04-2024)

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