Фаза тестирования - почувствуй себя доктором Хаусом.

Фаза тестирования - очень важная фаза. Многие ее пропускают, а некоторые относятся очень пренебрежительно. И это ведет конечно к тому, что выходит крайне сырой и глючный продукт.
С другой стороны - это очень болезненная фаза для разработчика. Вроде все закончил и все работает, но тут начинают валится отчеты о большом количестве ошибок. И каждый случай является индивидуальный и чем больше таких случаев, тем более запутанная картина.

Что нам в этом поможет ?

Конечно с вашими багами бороться только вам! Никто за вас их не исправит, но вот помочь помогут пару инструментов.
В iOS  достаточно муторошная система запуска приложений на устройствах для отладки, связанная с подписью и включением ограниченного количества устройств в профиль сборки. Это отпугивает начинающих разработчиков, но все не так плохо, как могло бы быть (например в Symbian все на порядок хуже).

Так вот именно на этапе тестирования, когда продукт раздается определенному кругу людей, приходится делать кучу однотипной работы. Нужно взять UDID устройства, добавить в провижн на портале, скачать новый провижн, подписать им приложение, отослать приложение и провижн. Пользователю нужно закинуть провижн и приложение в iTunes и синхронизировать устройство. И так каждый раз.
Утомительно и неинтересно.

Но с появлением iOS 4 стало доступно OTA (over-the-air) distribution. Распространение по воздуху. Для этого достаточно положить куда-нибудь .ipa файл и определенный .plist файл. В этом plist файле будет описание и ссылка на .ipa файл. А чтоб установить этот файл нужно кликнуть ссылку такого вида на устройстве:
itms-services://?action=download-manifest&url=https://path.to/app.plist


Это облегчило задачу, и благодаря этому появился ряд сервисов.
Первым из них был TestFlight
Позволяет создавать группы тестирования, собирать UDID устройств, собирать крэшлоги, аналитику и собственные точки контроля.
Достаточно хорошая система, но при бесплатном использовании работает крайне медленно.

Потом появилось еще куча всего и один из них, которых хочется выделить - это Hockey.
Он умеет все то-же, что и TestFlight, кроме своих кастомных точек аналитики (что меня очень расстраивает). Но есть пару достоинств: можно и Android и iOS приложения распространять для тестирования через одну систему. Удобней работает. И есть хорошее приложение для отправки приложения. На собранном архиве нажимаем "отправить" и уходит и приложение и символы. Не нужно даже на сайт заходить (да да, у тестфлай тоже есть и SDK и приложение, но немного не то).


Но тут я наткнулся еще на один проектик!
ТАДАММММ!!!!
В чем же замечательность этого проекта ? Он не особо отличается от TestFlight, даже не умеет работать с андроидными приложениями. Но основная фича этой штуки, что она взяла на себя и работу с Apple Provision Portal. При добавлении нового устройства, она сама добавляет его в профиль, делает новую сборку и отправляет пользователям. Цены достаточно умеренные и можно бесплатно попробовать с одним приложением.



Ну вот и все, что хотел сказать. Всем приятного тестирования.