Internal Testing — это закрытый трек тестирования в магазинах приложений, доступный только внутренней команде разработчиков и QA-инженерам. В Google Play и App Store Internal Testing позволяет публиковать билды без модерации и мгновенно распространять их среди ограниченного круга участников. По данным Google Android Developers, 2024, 60% команд используют Internal Testing как первый этап перед выкатом на бета-треки и production. Это минимальный порог входа для проверки новых функций.
Главное
Internal Testing — это трек тестирования в Google Play Console и TestFlight, предназначенный для распространения билдов среди участников команды разработки. В отличие от открытого бета-тестирования, доступ к Internal Testing ограничен списком email-адресов, утверждённых владельцем аккаунта разработчика.
Основное преимущество — минимальное время доставки билда тестировщикам. В Google Play Internal Testing не требует прохождения модерации — билд появляется у участников через 5–15 минут после загрузки. В App Store через TestFlight билд также доставляется без предварительного App Review, но подлежит автоматической проверке на базовые требования безопасности.
В Google Play существует три трека тестирования: Internal Testing, Closed Beta (Open Beta) и Production. Internal Testing — самый быстрый и ограниченный по числу участников (до 100 человек). Closed Beta допускает до 10 000 участников и требует настройки страницы тестирования. Production — финальный этап с полной модерацией.
Internal Testing применяется для первичной проверки билдов перед передачей на бета-треки. Разработчики загружают ежедневные сборки для QA-команды, проверяют интеграцию новых SDK, тестируют совместимость с разными версиями ОС и выявляют регрессионные ошибки до того, как билд увидят внешние тестировщики.
В Google Play Console Internal Testing — это отдельный трек, доступный в разделе Release → Testing. Для добавления тестировщика достаточно указать его email-адрес — участник получает приглашение и ссылку на присоединение через Google Play. Билды загружаются через тот же интерфейс, что и production-релизы.
Разработчик загружает App Bundle или APK в раздел Internal Testing Google Play Console. Система проверяет базовые требования: подпись, версию кода и совместимость с API. После 5–15 минут обработки билд становится доступен тестировщикам. Статус отслеживается в консоли: Draft, In Review, Ready to Test.
// Fastlane — публикация в Internal Testing трек
lane :internal_testing do
gradle(task: ":app:assembleRelease")
upload_to_play_store(
track: "internal",
release_status: "completed",
rollout: 1.0
)
slack(
message: "Build uploaded to Internal Testing"
)
end
Добавление участников выполняется через раздел Testers в Google Play Console. Доступна групповая загрузка через CSV-файл. Каждый тестировщик получает письмо с приглашением и инструкцией по установке. Для отзыва доступа достаточно удалить участника из группы — установленное приложение продолжает работать, но новые обновления не приходят.
В экосистеме Apple роль Internal Testing выполняет TestFlight — платформа для распространения бета-версий. TestFlight поддерживает до 100 внутренних тестировщиков, которые добавляются по email через App Store Connect. Для публикации билда не требуется проходить полный App Review, но билд проверяется автоматически на минимальные требования.
В отличие от Google Play, где Internal Testing не требует модерации вообще, Apple выполняет автоматическую Basic Review. Проверка занимает 30–60 минут и включает сканирование бинарного кода на вредоносные API и соблюдение базовых требований. После успешной проверки билд доступен тестировщикам в течение 24 часов. Срок действия билда — 90 дней.
В App Store Connect Internal Testing настраивается в разделе TestFlight → Internal Testing. Владелец аккаунта добавляет тестировщиков по email и назначает роли. После загрузки билда через Xcode или Transporter система уведомляет участников о доступности новой версии. Тестировщики устанавливают приложение через приложение TestFlight на устройстве.
Настройка Internal Testing для обеих платформ занимает от 10 до 30 минут. Ниже приведены пошаговые инструкции для Google Play и App Store. Процесс не требует изменений в коде приложения — достаточно однократной настройки консоли разработчика.
| Шаг | Google Play | App Store (TestFlight) |
|---|---|---|
| 1 | Google Play Console → Testing → Internal | App Store Connect → TestFlight → Internal Testing |
| 2 | Создать группу тестировщиков | Добавить email тестировщиков |
| 3 | Загрузить App Bundle / APK | Загрузить IPA через Xcode / Transporter |
| 4 | Дождаться обработки 5–15 минут | Дождаться Basic Review 30–60 минут |
| 5 | Уведомить команду о доступности | TestFlight уведомляет участников |
Оба магазина поддерживают публикацию в Internal Testing через API. Для автоматизации используются Gradle Play Publisher (Google Play) и Fastlane (обе платформы). CI/CD-пайплайн может загружать билды в Internal трек после каждого успешного прохождения unit-тестов и UI-тестов.
Для приложений с авторизацией необходимо подготовить тестовые аккаунты и передать их QA-команде. Аккаунты должны иметь доступ к тестовой среде (staging/development) и не затрагивать production-данные. Рекомендуется создать отдельную тестовую Firebase-конфигурацию для Internal трека.
Internal Testing встраивается в QA-пайплайн после прохождения автоматических проверок в CI. Разработчик или DevOps-инженер загружает билд в Internal трек, после чего QA-инженеры получают уведомление и устанавливают обновление на тестовые устройства через магазин приложений.
Рекомендуется выкладывать билды в Internal Testing ежедневно или после каждого значимого изменения в кодовой базе. QA-команда тестирует критические сценарии: авторизацию, основной пользовательский поток, интеграцию с API и работу с локальным хранилищем. Регрессионное тестирование выполняется на каждом третьем-четвёртом билде.
Для сбора баг-репортов используйте интеграцию с системами трекинга: Jira, YouTrack, Trello или GitHub Issues. Тестировщики отправляют скриншоты, логи и шаги воспроизведения. TestFlight встроенно поддерживает сбор скриншотов и логов с устройства при встряхивании — данные отправляются разработчику через App Store Connect.
Для автоматической публикации билдов в Internal Testing трек настройте CI/CD пайплайн. После прохождения unit-тестов и UI-тестов скрипт загружает билд в Internal трек и отправляет уведомление QA-команде. Fastlane предоставляет готовый action upload_to_play_store с параметром track: internal. Для iOS используйте Fastlane Pilot для загрузки в TestFlight.
Internal Testing имеет жёсткие лимиты по числу участников: до 100 человек в Google Play и до 100 внутренних тестировщиков в TestFlight. Google Play дополнительно ограничивает количество групп — максимум 1 группа для Internal трека. App Store не ограничивает число билдов, но срок действия каждого билда составляет 90 дней.
Google Play не ограничивает количество загружаемых билдов в Internal трек, но после 90 дней бездействия трек может быть автоматически приостановлен. TestFlight имеет более строгие ограничения: до 30 активных билдов одновременно, до 10 000 внешних тестировщиков (не Internal). Для снятия ограничений требуется участие в программе Apple Developer Enterprise.
После стабилизации билда на Internal треке он переносится в Closed или Open Beta для тестирования на внешней аудитории. Google Play позволяет скопировать настройки трека и перенести билд без повторной загрузки. TestFlight требует создания отдельного внешнего трека с добавлением новых групп тестировщиков.
Билды в Internal треке защищены от внешнего доступа: скачать приложение могут только участники, авторизованные через Google Play Console или App Store Connect. Даже зная ссылку на приложение, посторонний пользователь не сможет установить билд. Это обеспечивает конфиденциальность новых функций и защиту интеллектуальной собственности на этапе разработки.
Часто задаваемые вопросы
В Google Play — до 100 человек. В TestFlight — также до 100 внутренних тестировщиков. Для расширения аудитории необходимо перейти на Closed Beta (до 10 000 в Google Play) или External Testing (до 10 000 в TestFlight).
В Google Play модерация не требуется — билд доступен через 5–15 минут после загрузки. В TestFlight выполняется автоматическая Basic Review (30–60 минут), которая незначительно задерживает публикацию. Полный App Review не требуется.
Нет, Internal Testing предназначен только для внутренней команды разработки. Для клиентов и внешних тестировщиков используйте Closed Beta (Google Play) или External Testing (TestFlight). Эти треки поддерживают большее количество участников и публичную страницу тестирования.
Ограничений по частоте в Google Play нет — можно выкладывать билды ежедневно или несколько раз в день. TestFlight ограничивает срок жизни билда 90 днями, но число новых билдов не лимитировано. Рекомендуется обновлять не чаще 1–2 раз в день для стабильности тестирования.
Internal Testing ограничен 100 участниками, не требует модерации и не имеет публичной страницы. Closed Beta поддерживает до 10 000 участников, имеет публичную ссылку для присоединения и может быть настроен на страну или регион. Closed Beta также отображается в поиске Google Play.
Итоги
Мы разработаем мобильное приложение под ключ
IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.
Читайте также