Пока рядовые юзеры ждут свой очередной iPhone, а ASUS анонсирует новый планшет, я хотел бы поделиться одним днём из жизни разработчика мобильных приложений.
Подобно другим небольшим девелоперским компаниям наша столкнулась с банальной нехваткой людей для ручного тестирования написанных приложений. С ростом количества проектов выросло и число неупорядоченных файлов с баг-репортами. Отсутствие нормальной системы управления билдами и сабмита багов стало серьёзной проблемой.
Некоторое время мы обходились TestFlight для распределения билдов и краш-репортов и это было весьма удобно. Но, как уже писали на Хабре, TF поглотила Apple, поэтому платформа мгновенно перестала поддерживать Android. В поисках альтернативы мы перешли на Ubertesters — не в последнюю очередь из-за месяца бесплатной триал-версии.
Принцип работы предельно простой:
1. Создаём на платформе организацию и проект;
2. Интегрируем SDK с нашим билдом;
3. Загружаем билд;
4. Добавляем устройство;
5. Добавляем в проект участников – девов, тестеров, кого-бы-то-ни-было;
6. Расшариваем билд с пользователями;
7. Тест устанавливает приложение на девайс;
8. Тестер присылает репорты с прикреплёнными скриншотами багов;
9. Баги фиксятся;
10. ???????
11. PROFIT
Прежде всего, в рабочей среде нам необходимо создать организацию, от которой поступают приложения на тестирование (см. скриншот). Организация представляет собой набор проектов, написанных девелоперами под разные устройства.
Создаём внутри организации проект под каждое новое приложение. Для этого нам необходимо выбрать, под какую ОС было разработано наше приложение – iOS или Anfroid. Можете просто перетащить файл .apk или .ipa в окошко.
На что следует обратить внимание при работе с iOS – UDID девайса должен быть добавлен разработчиком в Provisioning profile в iТunes. Если устройство не будет добавлено в профиль или будет добавлен неправильный UDID, тестировщик не сможет установить билд.
Для того, чтобы начать использовать Ubertesters, скачиваем и интегрируем необходимый нам SDK. Если вы пишете кроссплатформенную аппликуху, то среди поддерживаемых фреймворков также есть Xamarin, Unity, PhoneGap, а к моменту сабмита этой публикации было также объявлено и о поддержке Adobe Air.
Добавляем в свой проект девайсы с соответствующей ОС.
После подключения и настройки девайсов приглашаем в проект участников – девелоперов, тестеров и РМ’ов. Если нам необходимо, например, собрать статистику по какой-то отдельной категории юзеров, то создаём для них отдельную «distribution group» и формируем её уже по своему желанию.
При выходе новых билдов добавленные в проект тестеры получают push-уведомления, скачивают билд через свой девайс и занимаются собственно тестированием.
Немного непривычная после TestFlight, но в целом удобная система, имеет помимо стандартного для таких платформ набора функций также набор фич для более быстрого фидбека от тестера. Да и сами баги тестировщик теперь сабмитит непосредственно с устройства с прилагающимися скриншотами и описанием. Прежде мы сталкивались с одной и той же дурацкой проблемой: тестеры тратят больше времени на сам репортинг, чем не тестирование. Баг-репорт приходил в лучшем случае в виде текстового описания, после чего приходилось долго и кропотливо уточнять, где именно вылезла ошибка. Встроенный в SDK редактор скринов изящно решает эту проблему – тестер просто делает скриншот непосредственно на самом девайсе, обводит его или рисует к нему стрелочку и отправляет на сабмишен. Очень наглядно. Помимо самого скрина, автоматически собирается вся необходимая инфа о девайсе – модель, ось, разрешение экрана и пр.
Можно также экспортировать баг-репорты в другие баг-трекеры, что очень удобно для тех кто работает, например, через Redmine или Jira.
Также есть возможность отслеживать сессии каждого отдельно взятого девайса или участника проекта, проверить, сколько времени сессия была активна, а сколько – просто висела «в фоне». Хотя мы этой функцией и не пользовались, полагаю, она была бы идеальным решение для РМ'ов, параноидально пытающихся контролировать весь процесс разработки и тестирования.
После месяца успешного использования триал-версии Ubertesters скорость и качество тестирования наших приложений значительно выросли. В целом, платформа Ubertesters – это добротный, сопоставимый с Tesflight сервис с целым рядом дополнительных фич вроде поддержки тест-кейсов, управления билдами, а также автоматического сабмита данных о девайсе. Вам не нужно больше отправлять ревизии по почте – все уведомления тестер получает автоматически.
Было бы интересно, если в комментах вы поделитесь своим опытом использования аналогичных платформ, какими преимуществами они обладают, и с какими проблемами вы при этом столкнулись.
Автор: alex_troy