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.
Интерфейс командной строки gcloud позволяет запускать тесты в интерактивном режиме, а также подходит для создания скриптов в рамках автоматизированного процесса сборки и тестирования. Инструкции по использованию этого инструмента приведены в разделе Тестирование с помощью gcloud CLI.
Прежде чем тестировать приложение на реальных устройствах, запустите тест локально на симуляторе, чтобы убедиться, что все работает правильно. Инструкции приведены в разделе Локальное тестирование.
Шаг 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 (добавлено в феврале 2022 г.) 108.177.6.0/23 108.177.18.192/26 (добавлено в феврале 2022 г.) 108.177.29.64/27 (расширен в феврале 2022 г.) 108.177.31.160/27 (добавлен в феврале 2022 г.) 199.36.156.8/29 (добавлено в феврале 2022 г.) 199.36.156.16/28 (добавлено в феврале 2022 г.) 209.85.131.0/27 (добавлено в феврале 2022 г.) 2001:4860:1008::/48 (добавлено в феврале 2022 г.) 2001:4860:1018::/48 (добавлен в феврале 2022 г.) 2001:4860:1019::/48 (добавлено в феврале 2022 г.) 2001:4860:1020::/48 (добавлено в феврале 2022 г.) 2001:4860:1022::/48 (добавлено в феврале 2022 г.) 2001:4860:101d::/48 (добавлено в октябре 2025 г.) 2001:4860:101e::/48 (добавлено в октябре 2025 г.) 2001:4860:1031::/48 (добавлено в октябре 2025 г.) 70.32.128.48/28 (добавлено в апреле 2024 г.) 70.32.150.192/27 (добавлено в сентябре 2025 г.) 108.177.6.0/27 (добавлено в сентябре 2025 г.) 108.177.24.160/27 (добавлено в сентябре 2025 г.) 108.177.29.0/27 (добавлено в сентябре 2025 г.) 108.177.25.128/27 (добавлено в мае 2026 г.) 108.177.26.128/26 (добавлено в мае 2026 г.) 108.177.29.192/26 (добавлено в мае 2026 г.) 172.217.120.64/26 (добавлено в мае 2026 г.) 172.217.120.128/26 (добавлено в мае 2026 г.) 2001:4860:1037::/48 (добавлено в мае 2026 г.) 2001:4860:1038::/48 (добавлено в мае 2026 г.) 2001:4860:103a::/48 (добавлено в мае 2026 г.) |
| Виртуальные устройства Android (не ARM) |
34.68.194.64/29 (добавлен в ноябре 2019 г.) 34.69.234.64/29 (добавлен в ноябре 2019 г.) 34.73.34.72/29 (добавлено в ноябре 2019 г.) 34.73.178.72/29 (добавлено в ноябре 2019 г.) 34.74.10.72/29 (добавлено в феврале 2022 г.) 34.136.2.136/29 (добавлено в феврале 2022 г.) 34.136.50.136/29 (добавлено в феврале 2022 г.) 34.145.234.144/29 (добавлено в феврале 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 (добавлен в июле 2019 г.) 35.245.243.240/29 (добавлено в феврале 2022 г.) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |
| Блоки IP-адресов устройств больше не используются. |
74.125.122.32/29 (удален в феврале 2022 г.) 216.239.44.24/29 (удален в феврале 2022 г.) |