;
Иван Алякскин

Джентльменский набор мобильного проекта

25.11.2016 11092
Сегодня короткая заметка о том, без чего нельзя обойтись в современной мобильной разработке. Ниже набор необходимых инструментов и подходов, позволяющих использовать время для решения стратегических задач и не дать увязнуть в повседневной череде утомительных процедур.

В процессе разработки и при поддержке любого проекта приходится сталкиваться с одними и теми же глобальными задачами:
  • обеспечение приемлемого качества продукта;
  • поддержание хорошего темпа разработки;
  • работоспособность приложений на большинстве мобильных устройств;
  • аналитика и логирование пользовательских действий в приложениях.
Для решения данных задач существуют процессы, регламенты, но не маловажной частью являются инструменты, с помощью которых решаются возникшие проблемы. Рассмотрим проблемы.

Обеспечение приемлемого качества продукта

Данная проблема может быть решена с помощью:
внедрения процедуры Continuous Integration;
отслеживания ошибок при эксплуатации «крэшеловами»;
моментальной реакции на изменения – распространение приложений тестировщикам и пользователям.

Continuous Integration:

  • всегда «свежая выпечка» билдов - текущее состояние на проекте;
  • за счет интеграционных и юнит-тестов – понимание когда, что и кем было «нейтрализовано»; без утомительных пересборок при путешествии от комита к комиту в версионном контроле.
По моему мнению, лучше взять CI в облаке, интегрированную с вашей системой версионного контроля, дабы не тратить уйму времени на их интеграцию, большинство провайдеров систем версионного контроля предлагают готовые решения и связки.

«Крэшеловы», а также «распространяторы» сборок

В мире мобильной разработки существует огромное количество инструментов для того, чтобы отлавливать ошибки в мобильных приложениях и репортить их разработчикам.
Ни тестировщику, а уж тем более и реальному пользователю не придется тратить время на снятие лога или повторное воспроизведение бага, отчет об ошибке отправится автоматически. Отлавливание крэшей не редкость, эта функциональность есть как в библиотеках для сбора аналитики, так и в более сложных сервисах, описанных ниже.

Поддержание хорошей скорости разработки

Очень важно иметь полную вовлеченность команды в процесс разработки. Поэтому крайне необходимо, чтобы все, кто работает над выпуском приложения, получали его новую версию – для этого можно воспользоваться сервисами для дистрибуции приватных сборок, просто встройте один из них в ваш проект:
https://get.fabric.io/
https://www.hockeyapp.net/
https://developer.apple.com/testflight/

Работоспособность приложений на большинстве мобильных устройств

На рынке присутствует огромное количество мобильных телефонов, созданных для разных стран, не все они могут быть с разными версиями Android. Да и вообще порой стоит проверить приложение на разных устройствах: с большим или маленьким дисплеем, с новой или старой версией ОС и т.д. Для этого вовсе необязательно покупать множество мобильных устройств, а возможно воспользоваться сервисами вроде:
https://aws.amazon.com/device-farm/device-list/
https://firebase.google.com/docs/test-lab/
https://www.xamarin.com/test-cloud
https://www.perfectomobile.com/
https://cloud.testdroid.com
https://testobject.com/pricing

Аналитика и логирование пользовательских действий в приложениях

Порой для отлавливания ошибки в приложении отлавливателя крэша будет вовсе не достаточно, поэтому можно с помощью аналитических сервисов записывать действия пользователя либо через свою собственную подсистему – собирать историю действий пользователя или событий в приложении и отправлять ее на сервер. Данный подход позволяет сэкономить не мало времени на отладку и выявление проблем.

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

Узнать больше о мобильной разработке можно на курсах.

Расскажи друзьям:

0
jlees1237@gmail.com
I am using https://www.pcloudy.com for my app testing, do you think is it good tool ?
Имя Цитировать 0
0
kvigandt@luxoft.com
of course
Имя Цитировать 0
 
Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, управлению проектами, тестированию ПО, архитектуре ПО. Luxoft Training – единственный учебный центр в России, авторизованный IIBA. Действует скидка 10% на обучение физических лиц.
   Подпишись на ежемесячный DigestLT
Успешная форма подписки.
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.