С каждым годом становится всё очевиднее, что для распространения тестовых версий iOS-приложений нужны специализированные сервисы. Это актуально не только для компаний, занимающихся разработкой приложений в “промышленных масштабах”, но и для инди-разработчиков. Причины: увеличение количества устройств с “нестандартным”/”не кратным” размером экрана, отличия в архитектуре центрального и графических процессоров — всё то, что раньше было повседневностью для разработки под Android, теперь становится справедливым и для iOS.
Исторически самым популярным сервисом дистрибуции являлся TestFlight — практически идеал, как в техническом отношении, так и в юзабилити. Однако, после приобретения компанией Apple в начале 2014 года, сервис претерпел ряд неоднозначных изменений, которые с одной стороны сказались негативно на его позиции лидера, а с другой дали шанс альтернативным сервисам побороться за первое место и предложить как минимум равноценную замену, а может быть и что-то более удобное и функциональное.
Обзор сервиса TestFlight (на примере Yandex browser) от GeekStarter.net
В своей серии статей я собираюсь поделиться результатами сравнения нескольких сервисов дистрибуции и в результате помочь другим, кто стоит перед таким же вопросом выбора.
- Apple TestFlight
- HockeyApp
- Ubertesters
- Crashlytics (как часть Fabric)
- нет никаких гарантий, что Apple не приостановит или не прекратит его работу в любой момент
- SDK сервиса не доступно для скачивания, более того невозможно использовать сервис, если приложение использует SDK
- сервис больше не является кросс-платформенным, поддерживается только распространения приложений для iOS (подробнее)
Система оценки: сервисы будут оценены по 10-балльной шкале по каждому из разделов (Регистрация и интеграция, Основной функционал, Дополнительный функционал, Continuous Integration). Суммарная оценка позволит определить победителя (итоговое заключение войдет в последнюю часть обзора).
TestFlight от Apple
Регистрация и интеграция
- включать/отключать режим TestFlight Beta Testing для приложений (вкладка Prerelease)
- выбирать тестеров из списка доступных Internal Testers, но не имеют возможности формировать этот список на странице iTunes Connect -> Users and Roles -> TestFlight Beta Testers -> Internal
- формировать список внешних тестеров My Apps -> APP -> Prerelease -> External Testers (но для распространения версий для внешних тестеров приложение должно пройти ревью в Apple)
Пользователи из группы Admin обладают теми же правами, что и пользователи группы Technical, а также могут добавлять новых пользователей в список Internal Testers.
На данный момент установка или использование какого-либо специализированного SDK не требуется.
TestFlight-тестирование приложений на iOS#разработка #мобильныеприложения #тестирование #testflight
Основной функционал
Если сравнивать новую версию TestFlight с тем, что было доступно разработчикам ранее в рамках стандартных сервисов Apple, то она, в чем-то, несомненно, является шагом вперед. Так, например, количество тестеров увеличено с условных 100 до 1125 (из которых 100 — это доступные и раньше устройства для AdHoc распространения, 25 — это внутренние тестировщики (Internal Testers), а 1000 — внешние (External Testers)), причем если ранее привязка осуществлялась к устройству, то теперь уникальным идентификатором является Apple ID, а значит каждый тестер может проверить работу приложения на всех доступных ему (и, конечно, поддерживаемых приложением) устройствах.
Примечание (от 15 июня 2015): количество устройств, доступных при использовании AdHoc provision profiles с с 8 июня 2015 года было изменено со 100 суммарно, на 100 на каждое семейство устройств (изменение произошло после объявления на WWDC об объединении всех developers programs в одну).
Разница между внутренними и внешними тестировщиками заключается в дополнительном шаге, который добавляется во втором случае: тестовая версия приложения должна быть отправлена для обзора и одобрена специалистами Apple (Beta App Review). Причем первоначальный обзор будет проводиться более тщательно, а все последнующие могут проходить быстрее (но не обязательно). Это, конечно, накладывает определенные ограничения на процесс разработки и требует дополнительного планирования фаз тестирования приложения, с учетом неопределенности сроков прохождения обзора (как и в случае с обычным обзором приложений перед публикацие в AppStore, при отказе в публикации, повторная заявка рассматривается снова в порядке очереди).
- Приложение-клиент сервиса может быть установлен только на iOS 8.0 и выше, соответственно нет возможности тестировать приложения на устройствах с iOS предыдущих версий.
- Для распространения тестовых версий необходимо создать AppStore Distribution provisioning profile и настроить профиль приложения в iTunes Connect.
- Так как загрузка дистрибутива приложения осуществляется через стандартный визард Xcode -> Archive -> Export, необходимо чтобы проект приложения содержал 3 основных иконки.
- Количество приложений, одновременно доступных для тестирование ограничено 10.
- Сервис работает очень медленно, это касается как скорости обновления списка доступных приложений и их версий, так и скорости скачивания/установки приложений на тестовые устройства.
- Отправка отзыва с тестового устройства осуществляется при помощи приложения-клиента, но так как это обычное письмо, нет возможности прикрепить скриншот (как плюс можно отметить, то что в письмо автоматически вставляется блок с описанием характеристик тестового устройства).
- Возможность отправки отзыва появляется только, если в iTunes Connect в настройках версии имеется указание, что именно требуется протестировать (а если не будет указан адрес электронной почты для получения отзывов, то поле “To” в письме окажется незаполненным).
- Для тестирования может быть доступна только одна версия приложения (тестер не имеет возможность для выбора, настройки доступности делаются в профиле приложения в iTunesConnect).
- Поле “Feedback Email” в настройках версии приложения в iTunesConnect приходится заполнять каждый раз (логичней было бы запоминать, оставляя возможность для редактирования).
- Как не удивительно, но TestFlight в версии от Apple не является сервисом, работающим по принципу 24х7, например в конце декабря при попытке входа в iTunesConnect можно было увидеть такое сообщение: iTunes Connect is unavailable until December 29. (справедливости ради, стоит отметить, что подобные “каникулы” Apple устраивает ежегодно и рассылает уведомление за неделю до их наступления).
Однако есть и некоторые уникальные возможности: так, например, клиент сервиса (приложение TestFlight) единственный, кто наверняка знает статус установки тестовой версии, альтернативные решения попросту не имеют возможности использовать системные функцие, позволяющие реализовать подобное.
Примечание: статус установки — смена индикации процесса установки, привычная пользователям AppStore. Когда поочередно статус меняется Get — Install — Installing — Open. В других сервисах дистрибуции эта цепочка выглядит так: Install — Installing — Install — приложения попросту не знают результат, был ли установлен тестовый дистрибутив или нет. В случае же с Apple TestFlight цепочка имеет привычный вид: Install — Installing — Open.
Иконка обновленного приложения TestFlight (правильнее будет сказать, что это абсолютно новое native приложение, разработанное в Apple). Ниже пример иконки тестовой версии приложения — оранжевая “точка” позволяет определить, что это не версия из AppStore.
“Страховка” Apple от обвинений в распространении спама.
Apple не разрешает загрузку дистрибутивов без изменения версии или номера сборки.
Достаточно лаконичная и понятная страница администрирования версий приложения для тестирования.
Письмо-приглашение для участия в тестировании, HTML-форматирование не слишком оптимизировано для мобильных платформ (справедливости ради, хочу отметить, что приложение Mail отображает такие письма корректно, но письма от других сервисов отображаются нормально и в OWA).
Приложение TestFlight: информация о доступном для тестирования приложении.
Приложение TestFlight единственное умеет определять результат установки тестовой версии (кнопка Install поменялась на Open) — преимущество, полученное с переходом к Apple.
Письмо с отправленным из приложения TestFlight отзывом. Кроме скудного форматирования и невозможности добавить вложения, можно отметить еще один недостаток: отправленные отзывы попадают только в почтовый ящик, в iTunes Connect эта информация не сохраняется и недоступна.
Резюмируя, можно сказать, что обновленная версия TestFlight просто работает. В данный момент она не имеет особых конкурентных преимуществ (речь идёт о функционале, а не неоспоримом преимуществе — принадлежности компании Apple, которое пока в большей мере является потенциалом).
Дополнительный функционал
На данный момент, к сожалению, компания Apple берет только числом, а не умением. Из явного преимущества можно отметить разве что гораздо большее количество бета-тестеров, которое можно задействовать для внешнего тестирования: на порядок больше, чем у всех остальных альтернативных решений (причина ясна: компания сама контролирует условия распространения приложений и имеет преимущество перед решениями третьих сторон).
Обновление (5 мая 2015): с релизом Xcode 6.3 разработчикам стал доступен Crashes Organizer. Новый функционал, несомненно, хороший признак того, что Apple продолжает развивать свои сервисы, но, к сожалению, компания всё ещё отстаёт от других сервисов:
When you open the Crashes organizer, Xcode begins refreshing the crash reports for your apps. Xcode downloads the top crash reports—crash reports with the most number of occurrences on unique devices—that occurred during the past two weeks. However, there may be up to a three day delay between when you first distribute your app and when crash reports are available in Xcode.
Три дня задержки и период архивного доступа в две недели выглядит несколько обескураживающе.
Continuous Integration
Примечание: описанные далее нюансы использования сервисов как части непрерывной интеграции (continuous integration) в данном обзоре подразумевают, что она будет делаться на основе решения, предлагаемого компание Apple. То есть при помощи Mac OS X Server и Xcode bots — подробно на организации такой интеграции я не буду останавливаться, возможно это станет темой для отдельной статьи. Желающие могут ознакомиться с темой самостоятельно, например, обратившись к официальному руководству от Apple.
Каким бы странным это не казалось, но на данный момент не существует возможности для публикации приложений в Apple TestFlight в автоматическом режиме. Я надеюсь, что этот большой недостаток будет исправлен компанией в одном из ближайших крупных обновлений Xcode, тем более что в оригинальном TestFlight такая возможность имелась.
Итого суммарная оценка по всем разделам: 15 баллов.
Продолжение следует.
- тестирование
- мобильные приложения
- распространение
- дистрибуция
- iOS
- разработка
- TestFlight
- Блог компании Arcadia
- Разработка под iOS
- Разработка мобильных приложений
- Тестирование мобильных приложений
Источник: habr.com
Что за программа testflight
Для клиентов
Тестирование приложений iOS через TestFlight
В отличии от тестирования приложений для Android, где тестовое приложение представляет собой установочный файл, с IOS дела обстоят несколько сложнее. Подход централизованного тестирования является фактически единственным возможным методом для быстрой доставки приложения от разработчика до тестировщика (или заказчика).
Тестирование проводится при помощи приложения TestFlight, которое обеспечивает доставку и установку тестовых программ. Время тестовой версии с момента ее отгрузки составляет 60 дней, после чего ожидается загрузка обновленной версии. Если новая версия не отгружена, то тестирование прекращается.
Тестирование разделяется за внутреннее и внешнее. В обоих случаях, составляется список тестировщиков. В случае внешнего тестирования, приложение должно пройти дополнительную «beta»-проверку. Из практики, данная проверка проводится от 1 до 2-х дней. Внутренняя проверка рассчитана на сотрудников компании, которые доверяют разработчикам.
Мы склонны применять именно внутреннее тестирование из-за его быстрой динамики.
Этап 1
Для тестирования Вам потребуется знать AppleID, с которым работает устройство. Для просмотра активного AppleID Вам необходимо зайти в Настройки -> iTunes Store и App Store
Список адресов AppleID необходимо передать разработчикам (или организатору тестирования). Внимание! требуется только AppleID и желательно Фамилия и имя, пароль сообщать НЕ требуется.
Этап 2
После регистрации Вашего AppleID, на почту Вам придет письмо примерно следующего содержания:
Перейдите по ссылке из письма. В открывшемся окне браузера, Вам необходимо согласиться с условиями и подтвердить намерения.
Этап 3
Для ускорения процесса, Вы можете сообщить разработчику о том, что все тестировщики уже подтвердил свое участие.
Теперь Вам необходимо установить приложение TestFlight из AppStore.
Этап 4
После подтверждения, разработчик подключает Вас к конкретному тестируемому приложению, после чего Вы получаете следующее письмо
Перейдите по приглашению из письма и Вы установите целевое приложение. С этого момента Вы можете начинать тестирование.
Обновление
Если разработчик выкатил новый релиз, то Вам потребуется выполнить обновление через TestFlight практически так же, как и любое другое обновление в AppStore.
По истечении срока тестирования, приложение останется работать на Вашем устройстве. Удалить его можно точно так же, как и любое другое.
Не допускайте наличия тестовой и релизной версии приложений на Ваших устройствах. Перед скачиванием релиза рекомендуется удалить тестовую версию.
Источник: apptor.studio
Русские Блоги
Использование TestFlight (официальный инструмент тестирования iOS APP)
Использование TestFlight (официальный инструмент тестирования iOS APP)
- Учебный пакет по использованию TestFlight (официальный инструмент тестирования iOS APP)
- Внешний тест, используемый на собрании учебных пакетов пакета TestFlight (официальный инструмент тестирования iOS APP)
- Missing Compliance in Status when i add built for internal testing in Test Flight.How to solve?
подготовительный
- Перед использованием TestFlight вы должны убедиться, что ваше приложение загружено в iTunes Connect.
- Загрузите TestFlight на мобильный клиент iOS
Решите проблему «отсутствующего соответствия» / «Отсутствующего соответствия» в сборочной версии ios
Добавить в info.plist
ITSAppUsesNonExemptEncryption
или
Внутренний тест
Шаг 1. Добавление тестеров в пользователей iTunes Connect.
Шаг 2: Откройте пользователей и функции
Шаг 3: Добавить пользователей
Шаг 4: Заполните информацию о пользователе
Шаг 5: Пользовательские функции включают полномочия управления
Шаг 6
Шаг 7: электронное письмо будет отправлено после завершения предыдущего шага
Примечание. Срок действия электронного письма истекает относительно быстро. Пожалуйста, сообщите тестеру об этом как можно скорее и попросите тестера войти в свою учетную запись Apple по ссылке электронной почты. Если тестер не получил электронное письмо, отправьте его повторно, иначе последующие шаги не могут быть выполнены.
Шаг 8. После того, как приглашенный тестер проверит электронную почту и войдет в учетную запись Apple по ссылке, вы можете вернуться, чтобы добавить тестера
Шаг 9: После нажатия «Добавить» на этом шаге электронное письмо будет отправлено снова. Приглашенный получает код приглашения из электронного письма и заполняет его в тестовом полете.
Примечание: срок действия письма истекает, пожалуйста, сообщите тестеру, чтобы проверить как можно скорее
Работа тестера для получения почты:
(1): получать электронные письма и коды приглашений
(2): открыть приложение
(3): введите код приглашения в приложение
Шаг 10. Девятый шаг можно выполнить, если вы хотите увидеть, кто был приглашен или какую версию установил приглашенный, вы также можете просмотреть
Внешний тест
Создать группу
- На домашней странице нажмите «Мое приложение», выберите свое приложение, а затем нажмите «TestFlight» на панели инструментов.
- В левом столбце в разделе «Тестеры и группы» нажмите «Добавить внешнего тестера» или «Новая группа».
- В появившемся диалоговом окне введите имя группы и нажмите «Добавить».
После этого вы можете изменить название группы в любое время.
Добавить внешних тестеров в группу и опубликовать версию сборки
- В разделе «Тестеры и группы» выберите группу и нажмите кнопку «Добавить» (+) рядом с «Тестерами».
- В появившемся всплывающем меню выберите опцию и нажмите «Далее». Вы можете добавить новых тестеров, существующих тестеров или импортировать тестеры из файла CSV.
- Чтобы добавить версию сборки, нажмите «Версия сборки» и нажмите кнопку «Добавить» (+).
- Во всплывающем меню диалога версии сборки выберите платформу и версию.
- В таблице ниже выберите версию сборки и нажмите «Далее». Вы можете добавить только одну версию сборки, но вы можете добавить дополнительные версии сборки в группу позже. Если вы не видите переключатель выбора версии сборки, он не будет выбран.
- При необходимости ответьте на вопрос «Сертификат соответствия экспорта». Поскольку все приложения загружаются на серверы Apple в Соединенных Штатах, на все приложения распространяется действие законов США об экспорте.
- В диалоговом окне «Информация о тестировании» введите то, на чем вы хотите сосредоточить внимание тестера.
- Или введите локализованную версию тестовой информации в текстовое поле указанного языка.
- Или снимите флажок «Автоматически выпускать эту версию для тестеров». Если вы снимите этот флажок, позже вручную распространите версию сборки для тестировщиков после того, как версия сборки будет утверждена Бета-обзором приложений.
- В зависимости от состояния сборки, нажмите «Отправить отзыв» или «Начать тест».
Вы можете просматривать только одну версию сборки в каждой версии за раз. После утверждения версии сборки вы можете отправить дополнительные версии сборки.
После того, как вы отправите версию сборки в «Beta App Review», Apple проверит версию сборки и сопутствующие метаданные. Первая версия сборки, которую вы отправляете, требует полного обзора, но последующие версии сборки той же версии могут не потребоваться.
Если Apple утвердит вашу версию сборки для бета-тестирования TestFlight, пользователи с функциями «управления» в iTunes Connect получат электронное письмо с уведомлением об одобрении.
Если Apple отклоняет вашу версию сборки или метаданные, внешний статус будет отображаться как «Отклонено», и вы можете нажать на статус, чтобы просмотреть подробную информацию об отклонении.
Если уже есть версия сборки, доступная для тестирования, тестер немедленно получит приглашение.
_ [Примечание] _ Отправка версии сборки в «Бета-обзор приложений» не приведет к ее передаче в «Обзор приложений» для приложений, продаваемых в App Store.
Сообщите тестеру после того, как ваша сборка будет одобрена.
Если вы не выбрали «Автоматически выпускать эту версию для тестировщиков» при приглашении внешних тестировщиков, вам необходимо вручную уведомить тестировщиков, когда ваша версия сборки будет утверждена.
- В разделе «Build Version» в разделе TestFlight выберите платформу своего приложения (iOS или tvOS).
- Выберите версию и номер версии сборки.
- В правом верхнем углу нажмите «Уведомить тестера».
Статус версии сборки меняется на «тестирование». Внешние тестировщики получат электронное письмо с указанием использовать приложение TestFlight на своем устройстве или принять приглашение, выкупив код.
Удалить версию сборки из группы
- В разделе «Тестеры и группы» выберите группу.
- Нажмите «Версия сборки» и наведите курсор на версию сборки, которую хотите удалить.
- Нажмите кнопку «Удалить».
Если вы хотите удалить сборку для всех тестировщиков из теста, перейдите к Остановить тестирование сборки.
Источник: russianblogs.com