Рекомендации по распространению приложений Android среди тестировщиков QA с использованием CI/CD

В этом документе представлены лучшие практики использования Firebase App Distribution, чтобы сделать ваши рабочие процессы предварительного тестирования Android устойчивыми и воспроизводимыми в среде CI/CD. Решения включают Gradle и fastlane, но чтобы дать вам еще большую гибкость, мы также включаем решения, доступные через консоль Firebase, интерфейс командной строки Firebase и общедоступный API распространения приложений Firebase. Мы также описываем ограничения для выпусков и тестировщиков, чтобы вы могли заранее спланировать оптимальную работу.

Если вы также используете платформы Apple, ознакомьтесь с рекомендациями по распространению приложений Apple среди тестировщиков с использованием CI/CD и fastlane .

Прежде чем вы начнете

Прежде чем применять рекомендации из этого документа, обязательно включите распространение приложений в консоли Firebase для каждого приложения . Если вы не включили распространение приложений, вы получите ошибку 404.

Чтобы включить распространение приложений, выполните следующие действия:

  1. Откройте страницу распространения приложений в консоли Firebase.
  2. Выберите приложение для Android.
  3. Нажмите «Начать» .

Учитывая, что пакеты Android App Bundle (AAB) становятся наиболее распространенным форматом пакетов Android, мы рекомендуем вам настроить возможность распространения AAB среди ваших тестировщиков, связавшись с Google Play .

Автоматизируйте рабочий процесс предварительного тестирования с помощью конвейера CI/CD.

Если вы хотите автоматизировать создание и выпуск приложений для тестировщиков и используете CI/CD, мы рекомендуем вам использовать fastlane или Gradle . Другой вариант — использовать интерфейс командной строки Firebase , который позволяет получить доступ к широкому спектру продуктов Firebase.

Используйте полосу обгона

Интегрируйте распространение приложений в свой конвейер CI/CD с помощью fastlane — инструмента с открытым исходным кодом, который автоматизирует создание и выпуск приложений для iOS и Android. Автоматически создавая и распространяя последние выпуски среди тестировщиков, вы гарантируете, что у тестировщиков всегда будет самая последняя тестовая версия вашего приложения.

Чтобы узнать, как интегрировать распространение приложений с fastlane, см. раздел Распространение приложений Android среди тестировщиков с помощью fastlane .

Используйте Градл

Используйте Gradle для интеграции App Distribution в процесс сборки Android с помощью плагина App Distribution Gradle. Плагин позволяет вам указать тестировщиков и примечания к выпуску в файле build.gradle вашего приложения, что позволяет вам настраивать дистрибутивы для разных типов сборок и вариантов вашего приложения.

Чтобы узнать, как интегрировать распространение приложений с Gradle, см. раздел Распространение приложений Android среди тестировщиков с помощью Gradle .

Используйте интерфейс командной строки Firebase

Используйте инструменты Firebase CLI, предоставляемые App Distribution, для программного распространения сборок тестировщикам. Вы можете указать тестировщиков и примечания к выпуску для сборки.

Распространите свою последнюю сборку Android, указав идентификатор приложения Firebase App ID, при необходимости добавив примечание к выпуску и файл, содержащий электронные письма тестировщиков:

firebase appdistribution:distribute test.aab  \
    --app 1:1234567890:android:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

Дополнительные сведения об использовании Firebase CLI для автоматизации сборок см. в разделе Распространение приложений Android среди тестировщиков с помощью Firebase CLI .

Используйте учетные данные службы для аутентификации

Используйте плагин Fastlane App Distribution, плагин Gradle или интерфейс командной строки Firebase с учетными записями служб. Сервисная учетная запись — это тип учетной записи Google, которая представляет приложения (а не пользователей). Ваша система CI может использовать учетные записи служб для выполнения рабочих нагрузок распространения приложений. Дополнительные сведения см. в разделе Аутентификация с помощью учетной записи службы .

Если вы используете федерацию удостоверений рабочей нагрузки, вы можете создать и использовать файл конфигурации учетных данных вместо ключа учетной записи службы.

Помните об ограничениях выпуска

Распространение приложений поддерживает максимум 1000 выпусков для каждого приложения. Это означает, что если вы превысите лимит выпусков, App Distribution автоматически удалит самые старые выпуски, превышающие лимит. Чтобы узнать, как управлять ограничениями на выпуски, см. Как долго доступны выпуски приложений?

Добавьте один и тот же набор тестировщиков в несколько выпусков.

Если вы хотите добавить в свои выпуски большое количество тестировщиков, используйте функцию массового управления тестировщиками App Distribution.

Мы рекомендуем использовать группы для добавления одних и тех же тестировщиков в несколько выпусков. Группа действует как список управления доступом; когда вы удаляете тестировщика из группы, он теряет доступ ко всем выпускам, распространяемым в этой группе. Дополнительные сведения см. в разделе Добавление и удаление тестировщиков из группы .

Если у вас много тестировщиков, которыми нужно управлять, вы можете массово добавлять и удалять тестировщиков с помощью консоли Firebase. Чтобы автоматизировать добавление и удаление тестировщиков, используйте Firebase CLI , fastlane , Gradle или общедоступный API распространения приложений Firebase .

Помните об ограничениях тестера

Распространение приложений ограничивает количество тестировщиков, которых вы можете добавить в проект Firebase или группу распространения приложений. Если вы превысите эти ограничения, вы не сможете распространять свое приложение среди дополнительных тестировщиков. Дополнительные сведения об ограничениях для тестировщиков см. в разделе Существуют ли ограничения на добавление тестировщиков в мое приложение?

Предоставьте потенциальным тестировщикам возможность самостоятельно зарегистрироваться для тестирования.

Чтобы упростить распространение вашего приложения среди большего количества тестировщиков, мы рекомендуем вам использовать ссылки для приглашения. Ссылка для приглашения — это уникальный URL-адрес, который позволяет тестировщикам ввести свои адреса электронной почты, чтобы зарегистрироваться для тестирования приложения. Предоставление пользователям возможности добавлять себя в список тестировщиков приложений — это простой способ расширить вашу внутреннюю базу тестирования.

Случаи использования пригласительных ссылок включают в себя корпоративные тестовые программы, организации с большими командами контроля качества и группы разработчиков, которые хотят, чтобы отдельные клиенты могли контролировать доступ тестировщиков.

Мы рекомендуем вам создать ссылку-приглашение для группы. Любой тестер, который регистрируется по ссылке-приглашению, автоматически добавляется в последующие выпуски.

Дополнительные сведения см. в разделах «Создание ссылок для приглашений» и «Добавление и удаление тестировщиков из группы» .

Убедитесь, что тестировщики тестируют нужную вам версию.

Когда загружается новая версия, ваши тестировщики получают уведомление по электронной почте. В дополнение к этому уведомлению вы можете использовать следующие функции — ссылки на выпуск и оповещения в приложении — чтобы убедиться, что ваши тестировщики тестируют конкретную версию приложения, которая вас интересует:

  • Ссылки на выпуск: используйте эту функцию, если хотите поделиться определенной версией с тестировщиками. Чтобы узнать, как использовать ссылки на выпуск, см. раздел Распространение приложений Android среди тестировщиков с помощью консоли Firebase . Эти ссылки также доступны в наших инструментах командной строки (CLI) Firebase , fastlane и Gradle для использования с вашими инструментами автоматизации сборки.
  • Оповещения в приложении. Используйте эти оповещения, если хотите убедиться, что ваши тестировщики тестируют последнюю версию вашего приложения. Интегрировав Android SDK Firebase App Distribution, вы можете отображать оповещения тестировщикам непосредственно внутри приложения, когда доступны новые сборки вашего приложения. Чтобы узнать, как добавлять оповещения в приложении, см. раздел Уведомление тестировщиков о новых сборках .

Автоматически закрывать доступ тестировщикам, покидающим компанию

Когда ваш внутренний процесс тестирования CI/CD запущен и запущен, вам необходимо убедиться, что люди, покидающие компанию, больше не имеют доступа к вашим внутренним сборкам. Чтобы помочь вам управлять доступом тестировщиков к сборкам, App Distribution предоставляет следующие возможности: