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 см. в разделе «Запуск теста игрового цикла» .
Шаг 2 : Выберите инструмент для проведения теста.
Вы можете выбрать следующие инструменты для проведения теста:
Консоль Firebase позволяет вам загружать приложение и инициировать тестирование из любой точки мира. Инструкции по использованию этого инструмента см. в разделе Тестирование с помощью консоли Firebase .
Интерфейс командной строки gcloud (CLI) позволяет вам запускать тесты из командной строки в интерактивном режиме, а также хорошо подходит для написания сценариев в рамках автоматизированного процесса сборки и тестирования. Инструкции по использованию этого инструмента см. в разделе Тестирование с помощью 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 CLI. Список обновляется в среднем раз в год.
Платформа и тип устройства | Блок 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) |