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 позволяет запускать тесты из командной строки в интерактивном режиме, а также хорошо подходит для написания скриптов в рамках автоматизированного процесса сборки и тестирования. Инструкции по использованию этого инструмента см. в разделе «Тестирование с помощью 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, виртуальные устройства 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 (расширено в феврале 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) 2001:4860:101d::/48 (добавлено 10-2025) 2001:4860:101e::/48 (добавлено 10-2025) 2001:4860:1031::/48 (добавлено 10-2025) 70.32.128.48/28 (добавлено 04-2024) 70.32.150.192/27 (добавлено 09-2025) 108.177.6.0/27 (добавлено 09-2025) 108.177.24.160/27 (добавлено 09-2025) 108.177.29.0/27 (добавлено 09-2025) |
| Виртуальные устройства 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) |