Начните работу с 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, вы сможете:

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

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

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

    Инструкции по запуску теста в Test Lab см. на странице «Запуск теста Game Loop» .

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

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

Шаг 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.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 (добавлено 2 февраля 2022 г.)

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

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

2001:4860:1020::/48 (добавлено 2 февраля 2022 г.)

2001:4860:1022::/48 (добавлено 2 февраля 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.02.2022)

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