TestFlight и закрытое тестирование: как заказчику получить приложение на телефон до публикации
Короткий ответ: TestFlight — бесплатное приложение Apple, через которое подрядчик выдаёт вам тестовую сборку для iPhone до выхода в App Store. На Android ту же роль играют внутреннее или закрытое тестирование Google Play и альфа-версия RuStore: вас добавляют в список, вы открываете ссылку и ставите приложение из магазина. Ниже — как это сделать по шагам, кого из сотрудников позвать и как писать замечания, чтобы их исправили с первого раза.
Что такое TestFlight и безопасно ли его ставить?
TestFlight — официальный сервис Apple для бета-тестирования. Вы ставите его из App Store, принимаете приглашение и получаете тестовую сборку приложения. Это безопасно: сборку подписывает аккаунт разработчика, раздаёт Apple, ничего в обход магазина на телефон не попадает.
Что важно знать заказчику до первой установки:
- Это бесплатно. И само приложение TestFlight, и участие в тесте. По описанию Apple для тестировщиков, даже встроенные покупки в бете не списывают деньги.
- Бета ставится вместо версии из магазина. Если у вас уже стоит прошлая версия приложения из App Store, тестовая её заменит. Отличить бету легко: у названия на экране оранжевая точка.
- Одна учётная запись — до 30 устройств. Можно поставить сборку и на свой iPhone, и на iPad для проверки планшетного вида.
- Разработчик видит немного. Данные о сбоях и сеансах, дату установки и номер версии. Переписка, фото и другие приложения ему недоступны. Если вы пришли по публичной ссылке, ваше имя и почта ему не показываются.
Apple различает два вида тестировщиков. Внутренние — это пользователи App Store Connect, у которых есть доступ к приложению; их до 100. Внешние — люди со стороны, до 10 000 по письму или публичной ссылке, но первую сборку для внешней группы сначала проверяет Apple. Лимиты и правила описаны в справке App Store Connect.
Как установить тестовую сборку на iPhone?
Поставьте TestFlight из App Store, откройте на этом же телефоне письмо-приглашение или публичную ссылку, нажмите «Принять», затем «Установить». Иконка появится на рабочем столе. Вся процедура занимает пару минут, если приглашение пришло на тот Apple ID, под которым вы вошли на телефоне.
- Сообщите подрядчику адрес Apple ID. Для внутреннего теста вас заводят пользователем App Store Connect в аккаунте компании. Поскольку аккаунт разработчика оформлен на вас, это делает владелец аккаунта или подрядчик с правами администратора.
- Примите приглашение в App Store Connect, если вы внутренний тестировщик: письмо придёт отдельно. Без этого шага сборка в TestFlight не появится.
- Установите TestFlight из App Store на iPhone, где будете проверять.
- Откройте приглашение на сборку с телефона и нажмите «Принять». Если письмо открыто на компьютере, ссылку перешлите себе на телефон.
- Нажмите «Установить». Если приложение уже было, TestFlight предупредит, что заменит его.
- Включите автообновления в настройках TestFlight — тогда каждая новая сборка поставится сама, и вы не будете проверять устаревшую.
Частая заминка — несовпадение Apple ID. Приглашение отправили на рабочую почту, а на телефоне вход выполнен под личной. Тогда сборка может не появиться в TestFlight или приглашение не примется. Проще сразу назвать подрядчику тот адрес, что указан в «Настройки → ваше имя» на iPhone.
Как получить тестовую версию на Android?
Через Google Play: подрядчик вносит адрес вашего аккаунта Google в список тестировщиков и присылает ссылку. Вы открываете её на телефоне под тем же аккаунтом, соглашаетесь участвовать и ставите приложение из Google Play как обычное. Для RuStore порядок похожий, только вместо почты используется VK ID.
Google Play. В Play Console есть три вида тестов, о них подробно написано в справке Google:
- Внутреннее — до 100 тестировщиков. Подходит для приёмки: сборка становится доступна быстро, а внутренняя версия может не проходить стандартные проверки магазина.
- Закрытое — по спискам адресов до 2000 человек в каждом или по Google Группе. Им пользуются, когда приложение надо показать клиентам или партнёрам.
- Открытое — любой пользователь Google Play может присоединиться. Для приёмки у заказчика не используется.
Отдельно про сроки. Если аккаунт разработчика личный и создан после 13 ноября 2023 года, перед выходом в магазин Google требует закрытый тест: не менее 12 тестировщиков 14 дней подряд. Тестировщик, который вышел из теста, засчитывается, только если потом пробыл в нём 14 дней подряд. Требование касается личных аккаунтов, на аккаунт организации оно не распространяется — ещё один довод оформлять аккаунт разработчика на компанию.
RuStore. Здесь закрытый тест называется альфа-тестированием. По справке RuStore: тестировщиков добавляют по VK ID, до 2000 человек; версия проходит модерацию; одновременно тестируется одна альфа-версия; режим доступен только бесплатным приложениям. Тестировщику нужно обновить приложение RuStore до последней версии и войти под тем VK ID, который внесли в список. После окончания теста тестовое приложение надо удалить и поставить заново, иначе доступ к основной версии не восстановится.
Если приложение сделано как PWA, магазины не участвуют: подрядчик даёт тестовый адрес, вы открываете его в браузере и добавляете на экран «Домой».
| iPhone: TestFlight | Android: тест в Google Play | Android: альфа-версия RuStore | |
|---|---|---|---|
| Кто может поставить | Только приглашённые: пользователи App Store Connect или внешние тестеры по письму и ссылке | Только адреса из списка тестировщиков | Только VK ID из списка тестировщиков |
| Проверка магазином | Для внутренних не нужна, первая сборка для внешней группы идёт на проверку Apple | Внутренняя версия может не проходить стандартные проверки | Версия проходит модерацию |
| Сколько живёт | 90 дней с загрузки сборки, потом не открывается | Пока разработчик не заменит или не остановит тест | До конца тестирования, потом сборка уходит в архив |
| Покупки и оплата | Встроенные покупки бесплатны и не переносятся в версию из App Store | Встроенные покупки списываются по-настоящему, если тестировщика не внесли в список лицензионных тестировщиков | Альфа-версия доступна только бесплатным приложениям |
| Отзывы | Через приложение TestFlight, со скриншотом | Публичный отзыв оставить нельзя, видит только разработчик | Через канал, который назначит подрядчик |
Кого добавить в тестировщики со стороны компании?
Трёх-пятерых людей, которые будут пользоваться приложением по-разному: владельца или руководителя проекта, сотрудника, который отвечает клиентам, и одного-двух «обычных пользователей» без технической подготовки. Обязательно хотя бы одного с iPhone и одного с Android, если приложение для обеих систем.
- Ответственный за приёмку. Собирает замечания в один список и подписывает акт. Без такого человека правки приходят из пяти чатов и противоречат друг другу.
- Тот, кто будет отвечать клиентам. Менеджер, администратор, диспетчер. Он сразу видит, где клиент запутается и позвонит с вопросом.
- Бухгалтер или кассир, если в приложении есть оплата, бонусы или документы. Он проверит, что суммы и чеки совпадают с учётом.
- Человек со стороны — родственник, знакомый, лояльный клиент. Он не знает, «как задумано», и поэтому находит то, что команда уже не замечает. На iPhone таких людей зовут внешними тестерами, на Android — в закрытый тест.
- Владелец старого или недорогого телефона. Ошибки вёрстки и медленная работа видны именно там.
Используйте рабочие адреса и VK ID сотрудников, а не общий ящик отдела: в TestFlight и Google Play доступ привязан к конкретному человеку. Когда сотрудник увольняется, его убирают из списка тестировщиков, а пользователя App Store Connect удаляют или отключают ему доступ к приложению.
Как правильно сообщить об ошибке подрядчику?
Одно замечание — одно сообщение: что делали, что получили, что ожидали, плюс скриншот или запись экрана, номер версии и сборки, модель телефона и версия системы. С такими данными разработчик повторит ошибку у себя и исправит её, без этого он сначала выясняет, о чём речь.
Что приложить к каждому замечанию:
- Номер версии и сборки. В TestFlight он виден на странице приложения, на Android — в настройках телефона в разделе приложений. Без номера неясно, проверяли вы старую или новую сборку.
- Модель телефона и версию системы. Например, «Samsung, Android 13» или «iPhone, iOS 17». Половина ошибок вёрстки проявляется только на определённых экранах.
- Шаги. «Открыл каталог → выбрал фильтр по цене → нажал “Показать”». Не «фильтр не работает».
- Результат и ожидание. «Список пустой, ожидал увидеть 12 товаров, как на сайте».
- Скриншот или запись экрана. Запись экрана есть в пункте управления iPhone и в шторке большинства Android-телефонов.
- Время и учётную запись. «В 14:20 под номером такого-то». По времени разработчик найдёт ошибку в журналах сервера.
На iPhone удобно пользоваться встроенным отзывом: сделайте снимок экрана в тестовом приложении, нажмите на миниатюру и выберите отправку отзыва о бета-версии. Скриншот, модель и номер сборки уйдут разработчику вместе с комментарием до 4000 знаков. На Android такой кнопки нет, поэтому договоритесь об одном канале — общей таблице, задачах в трекере или отдельном чате.
Замечания удобнее присылать пачкой, раз в день или по итогам прохода по сценариям. Так подрядчик сразу видит картину целиком, расставляет приоритеты, и вы не тратите раунд правок на одну опечатку.
Чем бета отличается от опубликованной версии?
Бета видна только тем, кого добавили в список, может не проходить полную проверку магазина и ограничена по сроку: на iPhone сборка перестаёт открываться через 90 дней. Покупки в бете на iPhone бесплатны, в тесте Google Play — настоящие, если тестер не внесён в список лицензионных; публичный отзыв о тестовой версии в Google Play оставить нельзя.
Из этого есть практические следствия для приёмки:
- Не принимайте работу по сборке, которой больше месяца. За это время подрядчик мог выпустить несколько исправлений. Акт подписывают по той сборке, что уходит в магазин.
- Проверьте оплату отдельно. То, что платёж прошёл в бете, ещё не значит, что настоящие деньги дойдут до счёта. Перед публикацией договоритесь о контрольной оплате на небольшую сумму с последующим возвратом.
- Данные в бете бывают тестовыми. Если приложение подключено к тестовой базе, заказы и клиенты оттуда не попадут в вашу CRM. Уточните у подрядчика, к чему подключена сборка.
- Бета не заменяет проверку перед релизом. Что именно проверять по сценариям — в чек-листе приёмки приложения.
Какие ошибки чаще всего мешают тестированию?
Почти все заминки на этом этапе организационные, а не технические: приглашение ушло не на тот адрес, тестирует один человек, замечания приходят вразнобой, а сборка истекла до подписания акта. Их легко избежать, если договориться о правилах до первой сборки.
- Смотреть приложение только на демонстрации с телефона разработчика. На его устройстве всё настроено и залогинено. Ставьте сборку себе.
- Ставить файл APK из чата. Это не та сборка, что уйдёт в Google Play, и телефон попросит разрешить установку из неизвестных источников.
- Звать в тест всю компанию. Тридцать человек пришлют сто замечаний, из них половина — вкусовые и противоречивые. Хватит трёх-пятерых и одного ответственного.
- Не указывать номер сборки. Подрядчик чинит то, что уже исправлено, а свежая ошибка остаётся.
- Забыть про двухнедельный тест Google. Если аккаунт личный и новый, 14 дней закрытого теста нужно заложить в график до даты запуска.
- Оставить в тесте уволившихся. Бывший сотрудник продолжит получать сборки и видеть непубличные функции.
Когда TestFlight и закрытый тест не нужны?
Когда приложения в магазине пока нет и не будет: для PWA хватит тестового адреса в браузере. Когда вы оцениваете только дизайн — на этапе прототипа достаточно кликабельного макета. И когда правка мелкая, например текст на экране: её можно проверить в следующей полной сборке вместе с другими.
Во всех остальных случаях тестовая сборка через магазин — самый короткий путь увидеть приложение таким, каким его получат клиенты. Это ещё и проверка того, что аккаунты разработчика, подписи и настройки магазинов в порядке до дня публикации.
Сколько это стоит и кто за что платит?
Тестирование в TestFlight, Google Play и RuStore магазины не тарифицируют. Платные только аккаунты разработчика: по нашему прайсу Apple — 99 $ в год, Google Play — 25 $ разово, оформляются на заказчика. Раздача тестовых сборок входит в работу подрядчика.
В нашем тарифе разработки мобильного приложения от 200 000 ₽ тестирование на реальных устройствах и сборка релизов — отдельный этап перед публикацией. На готовой сборке предусмотрено до 2 раундов правок, на приёмку по договору — 5 рабочих дней. После публикации 14 дней мелких правок бесплатно, гарантия на ошибки по нашей вине — 30 календарных дней с даты акта. Дальше — поддержка от 7 900 ₽ в месяц: новые сборки под обновления iOS и Android выходят тем же путём, через тестовые каналы. Как устроена жизнь приложения после релиза, мы разбирали в статье о поддержке мобильного приложения, а особенности RuStore — в материале о публикации в RuStore.
Короткие ответы на частые вопросы
TestFlight — это вирус или стороннее приложение?
Нет. TestFlight выпускает сама Apple, ставится бесплатно из App Store. Через него разработчики раздают тестовые сборки, а тестировщики устанавливают их и отправляют отзывы.
Сколько живёт тестовая сборка на iPhone?
По справке Apple — 90 дней с момента, как разработчик загрузил сборку. После этого она перестаёт открываться, и нужна новая сборка или версия из App Store.
Можно ли прислать приложение для Android просто файлом?
Технически можно, но для приёмки так делать не стоит: файл из переписки — не та сборка, что уйдёт в Google Play, а телефон попросит разрешить установку из неизвестных источников. Надёжнее ссылка на внутренний тест Google Play.
Сколько сотрудников можно добавить в тест?
Во внутреннюю группу TestFlight — до 100 пользователей App Store Connect, внешних тестеров — до 10 000. Во внутренний тест Google Play — до 100, в альфа-версию RuStore — до 2000 VK ID. Для приёмки обычно хватает трёх-пяти человек.
Видит ли разработчик мои данные, если я ставлю бету?
В TestFlight разработчик видит данные о сбоях и сессиях, дату установки и номер версии; если вы пришли по публичной ссылке, имя и почта ему не показываются. Переписку, фото и другие приложения на телефоне он не видит.
Услуги и кейсы по теме: мобильные приложения · поддержка сайта от 7 900 ₽/мес · цены и сроки
Расскажите, какое приложение задумали, — объясним, как будем выдавать тестовые сборки вам и сотрудникам, и назовём цену и срок до старта.
Рассчитать проект →Оценку срока и цены по брифу делаем бесплатно, обычно отвечаем в течение часа в рабочее время. Типовой договор — посмотреть до оплаты.
