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. Выберите инструмент для проведения теста.
Вы можете выбрать следующие инструменты для запуска теста:
Консоль 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.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) |