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) |