Введение С каждым годом становится все более очевидным, что необходимы специализированные сервисы для распространения тестовых версий iOS-приложений.
Это актуально не только для компаний, разрабатывающих приложения в «промышленных масштабах», но и для инди-разработчиков.
Причины: увеличение количества устройств с «нестандартными»/«немногократными» размерами экрана, различия в архитектуре центрального и графического процессоров — все, что раньше было обыденностью при разработке под Android, теперь становится справедливым и для iOS. .
Исторически самым популярным сервисом распространения был TestFlight — практически идеальный, как с технической точки зрения, так и с точки зрения удобства использования.
Однако после приобретения Apple в начале 2014 года сервис претерпел ряд спорных изменений, которые, с одной стороны, негативно повлияли на его лидерские позиции, а с другой, дали шанс альтернативным сервисам побороться за первое место.
и предложить хотя бы равноценную замену, а может даже что-то более удобное и функциональное.
В своей серии статей я собираюсь поделиться результатами сравнения нескольких сервисов дистрибуции и, как следствие, помочь другим, кто сталкивается с таким же вопросом выбора.
В обзоре участвуют следующие сервисы (части обзора будут публиковаться в таком порядке):
- Apple TestFlight
- ХоккейApp
- Убертестеры
- Crashlytics (в составе Fabric)
- нет никакой гарантии, что Apple не приостановит или не прекратит его работу в любое время.
- Сервисный SDK недоступен для загрузки; более того, невозможно использовать сервис, если приложение использует SDK
- сервис больше не является кроссплатформенным; поддерживается только распространение приложений iOS ( подробнее )
Система рейтингов: услуги будут оцениваться по 10-балльной шкале по каждому разделу (Регистрация и интеграция, Базовый функционал, Дополнительный функционал, Непрерывная интеграция).
Сумма баллов определит победителя (окончательное заключение будет включено в последнюю часть обзора).
Тестовый полет Apple
Регистрация и интеграция
Чтобы использовать эту услугу, помимо вашей учетной записи разработчика (Программа разработчика iOS), у вас должен быть доступ к iTunesConnect. Функциональность зависит от роли (группы), к которой принадлежит используемая учетная запись iTunesConnect. Пользователи Технической группы могут:- включить/отключить режим бета-тестирования TestFlight для приложений (вкладка «Предварительная версия»)
- выбрать тестировщиков из списка доступных внутренних тестировщиков, но не иметь возможности создать этот список на странице iTunes Connect -> Пользователи и роли -> Бета-тестеры TestFlight -> Внутренняя страница
- создать список внешних тестировщиков Мои приложения -> Приложение -> Пререлиз -> Внешние тестировщики (но для распространения версий для внешних тестировщиков приложение должно быть проверено Apple)
На данный момент нет необходимости устанавливать или использовать какой-либо специализированный SDK.
Оценка: 8/10.
Основной функционал
Если сравнивать новую версию TestFlight с тем, что ранее было доступно разработчикам в рамках стандартных сервисов Apple, то это в некотором смысле, несомненно, шаг вперед. Например, количество тестировщиков увеличено с условных 100 до 1125 (из них 100 — ранее доступные устройства для AdHoc-раздачи, 25 — внутренние тестировщики и 1000 — внешние тестеры), а если ранее привязка проводилась к устройства, теперь уникальным идентификатором является Apple ID, а значит каждый тестировщик может проверить работу приложения на всех доступных ему устройствах (и, конечно же, поддерживаемых приложением).Примечание (от 15 июня 2015 г.
): количество устройств, доступных при использовании профилей обеспечения AdHoc с 8 июня 2015 г.
изменено со 100 в целом до 100 на одно семейство устройств (изменение произошло после объявления на WWDC об объединении всех разработчиков программы в одну).
Разница между внутренними и внешними тестировщиками заключается в дополнительном этапе, который добавляется во втором случае: тестовая версия приложения должна быть отправлена на рассмотрение и одобрена специалистами Apple (Beta App Review).
При этом первоначальная проверка будет проведена более тщательно, а все последующие проверки могут проходить быстрее (но не обязательно).
Это, конечно, накладывает определенные ограничения на процесс разработки и требует дополнительного планирования этапов тестирования приложений с учетом неопределенности сроков проверки (как в случае с регулярным обзором приложений перед публикацией в AppStore, если в публикации отказано, повторная заявка рассматривается повторно в порядке очереди).
Но есть и другие особенности, которые отличают решение Apple от альтернатив, к сожалению, не в лучшую сторону:
- Клиентское приложение сервиса можно установить только на iOS 8.0 и выше; поэтому невозможно тестировать приложения на устройствах с предыдущими версиями iOS.
- Для распространения тестовых версий необходимо создать профиль обеспечения распространения AppStore и настроить профиль приложения в iTunes Connect.
- Поскольку дистрибутив приложения загружается через стандартный мастер Xcode -> Архив -> Экспорт, то необходимо, чтобы проект приложения содержал 3 основных значка.
- Количество приложений, одновременно доступных для тестирования, ограничено 10.
- Сервис работает очень медленно, это касается как скорости обновления списка доступных приложений и их версий, так и скорости загрузки/установки приложений на тестовые устройства.
- Отправка отзыва с тестового устройства осуществляется с помощью клиентского приложения, но так как это обычное письмо, то нет возможности прикрепить скриншот (в качестве плюса можно отметить блок с описанием характеристик тестового устройства).
автоматически вставляется в письмо).
- Возможность отправить отзыв появляется только в том случае, если в iTunes Connect в настройках версии есть указание, что именно нужно протестировать (а если не указан адрес электронной почты для получения отзыва, поле «Кому» в письме будет пустым) ).
- Для тестирования может быть доступна только одна версия приложения (у тестировщика нет возможности выбора, настройки доступности производятся в профиле приложения в iTunesConnect).
- Поле «Электронная почта обратной связи» в настройках версии приложения в iTunesConnect приходится заполнять каждый раз (логичнее было бы запомнить, оставив возможность редактирования).
- Как неудивительно, TestFlight в версии Apple не является сервисом, работающим в режиме 24х7; например, в конце декабря при попытке зайти в iTunesConnect можно было увидеть следующее сообщение: iTunes Connect недоступен до 29 декабря.
(справедливости ради стоит отметить, что Apple ежегодно устраивает подобные «каникулы» и рассылает уведомление за неделю до их возникновения).
Примечание: статус установки — это изменение индикации процесса установки, знакомой пользователям AppStore. При изменении статуса поочередно Получить - Установить - Установка - Открыть.
В других сервисах дистрибутива эта цепочка выглядит так: Установка - Установка - Установка - приложения просто не знают результат, установился тестовый дистрибутив или нет. В случае с Apple TestFlight цепочка имеет обычный вид: Установить — Установка — Открыть.
Иконка обновленного приложения TestFlight (правильнее было бы сказать, что это совершенно новое нативное приложение, разработанное Apple).
Ниже приведен пример иконки тестовой версии приложения — оранжевая «точка» позволяет определить, что это не версия из AppStore.
«Страховка» Apple от обвинений в рассылке спама.
Apple не разрешает загружать дистрибутивы без изменения версии или номера сборки.
Достаточно лаконичная и понятная страница администрирования версий приложения для тестирования.
Письмо-приглашение для участия в тестировании, форматирование HTML не очень оптимизировано для мобильных платформ (справедливости ради отмечу, что приложение Почта отображает такие письма корректно, но в OWA письма от других сервисов отображаются нормально).
Приложение TestFlight: информация о приложении, доступном для тестирования.
Приложение TestFlight — единственное, способное определить результат установки тестовой версии (кнопка «Установить» изменилась на «Открыть») — преимущество, полученное с переходом на Apple.
Письмо с отзывом, отправленное из приложения TestFlight. Помимо плохого форматирования и невозможности добавления вложений, можно отметить еще один недостаток: отправленные отзывы попадают только в почтовый ящик; эта информация не сохраняется и недоступна в iTunes Connect.
Подводя итог, можно сказать, что обновленная версия TestFlight просто работает. На данный момент особых конкурентных преимуществ у него нет (речь идет о функциональности, а не о неоспоримом преимуществе – принадлежности к Apple, что все же скорее потенциал).
Оценка: 6/10.
Дополнительный функционал
На данный момент, к сожалению, Apple использует только цифры, а не навыки.Единственное явное преимущество, которое можно отметить, — это гораздо большее количество бета-тестеров, которые можно использовать для внешнего тестирования: на порядок больше, чем всех остальных альтернативных решений (причина понятна: компания сама контролирует условия для внешнего тестирования).
распространение приложений и имеет преимущество перед сторонними решениями).
Обновление (5 мая 2015 г.
): с выходом Xcode 6.3 стало доступно разработчикам.
Новый функционал, несомненно, является хорошим знаком того, что Apple продолжает развивать свои сервисы, но, к сожалению, компания по-прежнему отстает от других сервисов: Когда вы открываете органайзер сбоев, Xcode начинает обновлять отчеты о сбоях для ваших приложений.
Xcode загружает самые популярные отчеты о сбоях — отчеты о сбоях с наибольшим количеством случаев на уникальных устройствах — которые произошли за последние две недели.
Однако между моментом первого распространения вашего приложения и появлением отчетов о сбоях в Xcode может пройти задержка до трех дней.
Три дня задержки и срок доступа к архиву в две недели выглядят несколько обескураживающе.
Рейтинг: 1/10.
Непрерывная интеграция
Примечание: нюансы использования сервисов в рамках непрерывной интеграции, описанные ниже в этом обзоре, подразумевают, что это будет сделано на основе решения, предлагаемого Apple. То есть использование ботов Mac OS X Server и Xcode — на организации такой интеграции я не буду подробно останавливаться, возможно, это будет тема для отдельной статьи.Желающие могут ознакомиться с темой самостоятельно, например, обратившись Официальное руководство Apple. Как бы странно это ни казалось, на данный момент нет возможности автоматически публиковать приложения в Apple TestFlight. Я надеюсь, что этот большой недостаток будет исправлен компанией в одном из следующих крупных обновлений Xcode, тем более, что в оригинальном TestFlight была такая функция.
Рейтинг: 0/10. Общий суммарный балл по всем разделам: 15 баллов.
Продолжение следует. Теги: #тестирование #мобильные приложения #дистрибутив #дистрибутив #iOS #разработка #testflight #разработка iOS #Разработка мобильных приложений #Тестирование мобильных приложений
-
Денежная Революция
19 Oct, 24 -
Firefox 3.1 Бета
19 Oct, 24 -
Джайку — Альтернатива Твиттеру
19 Oct, 24 -
Где Вы Собираетесь Встречать Новый Год?
19 Oct, 24