Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Этапы разработки, тестирования и ввода в эксплуатацию мобильных приложений (Описание мобильных приложений)

Содержание:

Введение

Мобильные приложения являются частью неизбежной ежедневной необходимости каждого пользователя смартфона. Корпоративные компании, будь то маленькие или большие, инвестируют в мобильные приложения, чтобы расширить свой бизнес, чтобы он достиг каждого уголка и уголка страны или даже всего мира. Каждое приложение, которое плавает в Play Store или App Store, проходит несколько этапов обширного исследования, планирования и проверки. Этапы разработки мобильного приложения почти такие же, как и разработка сайта, но с точки зрения мобильного устройства, а не ноутбука.

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

Тема исследования: Этапы разработки, тестирования и ввода в эксплуатацию мобильных приложений.

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

Задачи исследования: изучить

Классификацию мобильных приложений

Особенности мобильных приложений

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

Глава 1 Описание мобильных приложений

1.1 Классификации приложений:

Нативное - написанное на языках программирования, ориентированных только на конкретную платформу Android или iOS. Это позволяет им быстро устанавливаться и легко работать, полностью взаимодействовать с техническими возможностями гаджета и не зависеть от интернет-соединения. Создание нативного приложения отличается высокой ценой, а потому считается дальновидным стратегическим шагом;

Кроссплатформенное - приложение, которое создается сразу для нескольких мобильных платформ. В кроссплатформенных инструментах разработки используется не HTML5, а сторонние языки программирования, код которых компилируется в нативное для каждой платформы приложение. Кроссплатформенная разработка подходит для некастомных проектов, и может быть эффективной и менее затратной в ресурсах.

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

Развлекательные (игры, обработка изображений, аудио и видео форматов);

Помощники (поиск информации, приложения погоды и т.д.);

Социальные сети;

I-commerce (возможность покупки через приложения);

Приложения B2B в структуре (внутренние системы контроля и организации процессов внутри компании).

У каждого есть свои преимущества и недостатки, способы монетизации и конверсионный потенциал — чтобы сделать правильный выбор, для начала обратитесь к бизнес-аналитику и техническому специалисту, которые проведут аудит и выдадут рекомендации. От общей картины перейдем к процессу создания приложения и команды, которая в этом участвует [6].

1.2 Аспекты разработки мобильных приложений

Разработка мобильных приложений принципиально не отличается, от разработки традиционных веб или настольных приложений с точки зрения процесса или архитектуры, но есть некоторые аспекты, которые следует иметь в виду.

Многозадачность

Есть две существенные проблемы с многозадачностью (имея несколько приложений, работающих одновременно) на мобильном устройстве. Во-первых, учитывая ограниченный по площади экран, трудно одновременно отображать несколько приложений. Таким образом, на мобильных устройствах только одно приложение может быть одновременно на переднем плане. Во-вторых, наличие нескольких открытых приложений и выполнение задач могут быстро съесть заряд батареи.

Каждая платформа обрабатывает многозадачности по-своему, что мы немного рассмотрим.

Форм-фактор

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

Устройство и фрагментация ОС

Важно принимать во внимание различия устройств на протяжении жизненного цикла разработки программного обеспечения:

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

Дизайн– При разработке User eXperience (UX) приложения, следует иметь в виду пропорции различных экранов и их размеров. Кроме того, при разработке пользовательского интерфейса (UI) приложения, следует рассматривать различные разрешения экрана [4].

Разработка– При использовании какой-либо функции из кода, наличие этой функции всегда должны быть сначала протестировано. Например, перед использованием функций устройств, таких как камера, всегда вначале опросите ОС на присутствие этого устройства. Затем при инициализации функции устройства, требуется проверить, что ОС в настоящее время поддерживает устройство, а затем используйте эти параметры конфигурации.

Testing– Невероятно важно начать тестировать ваше приложение как можно раньше и тестировать как можно чаще на разных реальных устройствах. Поведение устройств, даже с теми же аппаратными спецификациями может очень сильно различаться.

Ограниченность ресурсов

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

Кроме того ресурсоемкие приложения, такие как игры или программы распознавания текста может серьёзно загрузить мобильный процессор и отрицательно повлиять на производительность устройства.

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

Глава 2 Этапы разработки, тестирования и ввода в эксплуатацию мобильных приложений.

2.1. Абстракция идеи.

Все начинается именно с абстракции идеи. Для прохождения этого этапа необходимо пройти следующее.

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

Определение целевой аудитории: необходимо знать, какую именно аудиторию приложение должно охватывать.

Анализ конкурентов: необходимо знать, что другие приложения той же категории включают в себя, а также какие услуги они предлагают клиентам. Это исследование необходимо, чтобы сделать приложение выделиться в толпе. Дополнительная функция в дополнение к другим приложениям, доступным на рынке, принесет ваше приложение, которое дополнительные очки домового. И да,это не простое дело с миллионами и миллиардами приложений, идущих раундов в магазине Google Play. После того, как идея взлетела, затем наступает реализация. Но как долго это продлится, чтобы получить эту идею? Это занимает очень много времени и продолжительность неизбежна, так как качество приложения играет жизненно важную роль в лестнице на вершину.

Оценка бюджета.

Приложение будет бесплатным или платным?

Оговоренное время для запуска приложения.

Кому доверить задачу разработки приложений? Необходимо исследование компании мобильной разработки приложений на Ближнем Востоке и возложить на андроид/iOS App развития компании по Вашему требованию [2].

Аналитика не всегда входит в процесс разработки мобильного приложения. Бывает, что клиенты самостоятельно выполняют бизнес-анализ приложения, либо приходят с готовым списком требований. Но те приложения, которые прошли этот этап у компании-разработчика, выигрывают, — именно аналитика помогает бизнесу и разработчикам достичь единого видения, и уже на основе этого сделать переоценку требуемых работ и получить детальный бюджет проекта[1].

2.2 Построение каркаса

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

2.3 Оценка технологии

Как только каркасы проверены, соберите технические требования, которые имеют решающее значение для реализации приложения в режиме реального времени. Требования должны быть собраны, чтобы понять целесообразность реализации проекта. Есть много технических требований, описанных в приложении.

Некоторые из них - это:

Принятие решения о платформе, такой как android / iOS, с которой приложение, как ожидается, будет совместимо.

Какая технология необходима для реализации приложения на выбранной платформе?

Какие фреймворки необходимы для этого?

К каким функциям в телефоне приложению потребуется доступ?

Какую технологию следует использовать в серверной части в зависимости от данных, используемых приложением?

2.4 Прототипирование приложения

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

"Стежок во времени спасает девять", не так ли? Если вы являетесь клиентом, не стесняйтесь вносить как можно больше изменений и вкладывать больше идей в приложение на этом этапе, потому что творчество на более позднем этапе будет стоить вам состояния и задерживает выпуск приложения.

Обратная связь смогла быть проанализирована. Перспективы пользователей помогут улучшить приложение и вывести его на более высокий уровень. Есть много инструментов, доступных на рынке, чтобы сделать прототипирование легким и эффективным [5].

2.5 Дизайн

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

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

https://avatars.mds.yandex.net/get-zen_doc/1336031/pub_5b02c37357906ab30f1e682e_5b02efb12f578cb2e662cc8e/scale_600

Рисунок 1 Варианты дизайна

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

Кроме того, есть еще Раскадровка: в технических требованиях, которые вы собрали, если приложение разработано для платформы iOS, пользовательский интерфейс будет разработан раскадровкой. Это помогает создавать экраны и соединять их. Xcode предлагает визуальный редактор для раскадровок.

2.6 Разработка

Разработчики приложения принимают требования и писать соответствующие коды для реализации функциональных возможностей.

Разработка серверной части

У многих приложений это большая головная боль, особенно у стартап проектов, поскольку данному этапу не уделяется сразу много внимания. А ведь именно серверная часть во многих проектах является его ядром. То есть, если разработка клиентской и серверных частей будут происходить практически независимо друг от друга, то и работать в итоге они будут также,  каждая сама по себе. А без корректного клиент-серверного взаимодействия можно забыть о стабильной работе приложения, как бы оно хорошо и правильно не было реализовано.

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

Разработка клиентской части

Под каждую мобильную платформу разрабатывается свое отдельное приложение, и не важно, это стартап проект либо бизнес приложение, т.к. у каждой платформы своя независимая операционная система (ОС).

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

На данный момент есть 3 основные платформы:

•Платформа Apple

iOS (iPhone, iPad), WatchOS для умных часов и tvOS для телевизоров. Mac OS в расчет не берем,  поскольку у этой платформы программное обеспечение другого типа, выстроенное на более старой архитектуре и там процесс немного иной.

•Платформа Google

Основные их ОС это: Android (смартфоны, планшеты), Android Wear (умные часы) Android TV  (телевизоры и мультимедийные приставки).

•Платформа Microsoft

Сейчас их основная и универсальная ОС - UWP (Universal Windows Platform). Это приложения,  и работают они на всех типах устройств, на которых установлена Windows 10, т.е. - Mobile, PC,  Surface, xBox и даже Holographic. Но под все это разнообразие, конечно же, нужно будет делать свою адаптацию.

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

Учетные записи разработчиков должны быть настроены в Google Play / App Store в зависимости от платформы, выбранной на данном этапе.

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

2.7 Тестирование

Если проект следует методологии agile, то тестирование и разработка идут рука об руку. После того, как приложение будет разработано полностью, он будет поставлен через серию испытаний, чтобы убедиться, что ад не вырваться на свободу, когда пользователь использует его в режиме реального времени.

Разработанное приложение проходит множество этапов тестирования, некоторые из которых

Функциональное тестирование - чтобы проверить, если что функциональные возможности работают по назначению.

Тестирование производительности - для проверки производительности и поведения приложения во всех неблагоприятных условиях.

Прерывающее тестирования - чтобы проверить, если приложение работает, несмотря на перерывы от другого приложения.

Юзабилити - тестирование-проверка приложения на предмет юзабилити.

Обеспечение качества (QA, от английского - Quality Assurance) является неотъемлемой частью жизненного цикла разработки любых приложений, включая мобильные. К сожалению, многие упускают из виду критические особенности тестирования мобильных приложений, которые часто приводят к сбоям, ошибкам в работе приложения и плохому качеству обслуживания клиентов.

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

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

Давайте рассмотрим особенности тестирования мобильных приложений.

https://itvdn.blob.core.windows.net/cbs-images/cbs-images-27e963f4-c5d3-4f95-b795-d616adbd5763.png

Рисунок 2 Цикл жизни спринтов

Этап 1: Планирование

Когда этап разработки приложения почти завершен, вы должны снова поставить перед собой вопрос - чего вы пытаетесь достичь разработкой данного приложения и какие у вас есть ограничения.

Вы должны определить следующее:

Взаимодействует ли ваше приложение с другими приложениями?

Насколько функциональны все возможности приложения?

Является ли тестируемое мобильное приложение нативным, Mobile-web или гибридным?

Ограничена ли задача тестирования приложения тестированием только внешнего интерфейса?

Стоят ли задачи на тестирование бэкенда?

Какова должна быть совместимость с различными беспроводными сетями?

Как сильно данные приложения и свободное пространство, занимаемое им, зависят от особенностей использования приложения?

Насколько быстро загружается ваше приложение, насколько быстро происходит серфинг по меню приложения и его функциям?

Как будет обрабатываться возможное увеличение нагрузки на приложение?

Влияют ли различные изменения в статусе и состоянии телефона на работу мобильного приложения?

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

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

Этап 2. Определение необходимых типов тестирования мобильных приложений

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

Определите, на какие целевые устройства направлено данное приложение, и какие требования  к функционалу следует проверить.

Вы также должны определить, какие целевые устройства нужно включить в список тестирования.

Вы можете сделать это следующим образом:

• Выяснить, какие устройства будет поддерживать приложение;
• Определить, какая версия операционной системы будет самой ранней из тех, что  поддерживаются приложением;

• Выявить наиболее популярные модели мобильных устройств у целевой аудитории;

• Определить набор не основных (дополнительных) устройств с экранами разных размеров, потенциально  поддерживаемых приложением;

• Решить, будете ли вы использовать для тестирования физические устройства или их эмуляторы.

https://itvdn.blob.core.windows.net/cbs-images/cbs-images-97a2b1ca-b49e-4911-b521-fc8131e72f58.png

Рисунок 3 Разрешения экранов мобильных устройств

Этап 3: Тестовые случаи и разработка сценариев тестирования приложения

Подготовьте документ, описывающий тестовые случаи (test cases) для каждой тестируемой функции и функциональности.

В дополнение к функциональным тестовым случаям, также должны быть охвачены некоторые отдельные моменты (кейсы):

• Особенность использование батареи;

• Скорость работы приложения;

• Требования к данным;

• Объем используемой памяти.

Также перед началом тестирования важно определиться, какое сочетание ручного и автоматического тестирования вы будете применять.

При необходимости подготовьте отдельные наборы ручных тестовых случаев и сценариев для автоматического тестирования и адаптируйте их согласно требованиям проекта.

Этап 4: Ручное и автоматическое тестирование

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

Автоматизированное тестирование мобильных приложений хорошо экономит время и другие ресурсы тестировщиков.

Этап 5: Тестирование юзабилити и бета-тестирование

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

https://itvdn.blob.core.windows.net/cbs-images/cbs-images-0885b678-460d-454e-a54f-7e439c779acd.png

Рисунок 4 Пример матрицы поддержки разных версий платформы iOs

После того, как приложение будет протестировано внутри компании, вы сможете выпустить бета-версию приложения на рынок.

Тестирование совместимости

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

Тестирование пользовательского интерфейса

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

Тестирование интерфейса

Тестирование пунктов меню, кнопок, закладок, истории, настроек и навигации по приложению.

Тестирование внешних факторов

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

Тестирование доступности

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

Этап 6: Тестирование производительности

Мобильные устройства предоставляют для приложений меньший объем памяти и меньшую доступную мощность процессора, чем стационарные компьютеры и ноутбуки. По этой причине в работе мобильных приложений очень важна эффективность использования предоставляемых ресурсов. Вам следует проверить работоспособность тестируемого приложения, изменив соединение с 2G, 3G на WIFI, проверить скорость отклика, потребление заряда батареи, стабильность работы и т. д.

Рекомендуется проверять приложение на предмет масштабируемости применения и наличие возможных проблем с производительностью.

В рамках этого этапа важно пройти и нагрузочное тестирование мобильного приложения.

Функциональное тестирование

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

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

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

В рамках функционального тестирования, вам следует выполнить следующие тесты:

• Тестирование процесса установки;

• Тестирование возможности обновлений;

• Эксплуатационное тестирование;

• Тестирование процесса регистрации и авторизации;

• Тестирование функций, специфических для устройства;

• Тестирование отправки и получения сообщений об ошибках;

• Низкоуровневое тестирование ресурсов: использование памяти, автоматическое освобождение ресурсов и т.д.

• Тестирование сервисов: функционирование как в режиме онлайн, так и в автономном режиме.

Этап 7: Аттестационное тестирование и тестирование безопасности приложения

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

Убедитесь, что тестируемое приложение надежно защищено. Выполните проверку на возможность внедрения SQL инъекций, на возможность перехвата сеансов, анализа дампов данных, анализа пакетов и SSL трафика.

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

Помимо проверки безусловного шифрования имен пользователей и паролей, задайте себе следующие вопросы:

• Есть ли у приложения сертификаты безопасности?

• Использует ли приложение безопасные сетевые протоколы?

• Существуют ли какие-либо ограничения, например количество попыток входа в систему до блокировки пользователей?

Этап 8: Тестирование устройства

Выполните тесты по тем алгоритмам, которые вы ранее прописали в тестовых случаях и сценариях тестирования на всех определенных для тестирования устройствах, в облаке и / или на физических устройствах.

Этап 9: Контрольный этап и резюме

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

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

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

Итоговый отчет о тестировании

Весь процесс тестирования мобильных приложений должен быть тщательно задокументирован. Проверьте дважды, сделаны ли нужные записи, и после этого сформируйте свой окончательный отчет о тестировании (test summary report).

Этот отчет должен включать:

• Важную информацию, выявленную в результате проведенных испытаний;

• Информацию о качестве проводимого тестирования;

• Сводную информацию о качестве тестируемого мобильного приложения;

• Статистику, полученную из отчетов об различных инцидентах;

• Информацию о видах тестирования и времени, затраченном на каждый из них.

Следует также указать в отчете, что:

• данное мобильное приложение пригодно для использования в том качестве, в котором заявлено;

• соответствует всем критериям приемлемости функционала и качества работы.

Вооружившись сводкой, руководство проекта теперь может решить, готово ли мобильное приложение к выпуску на рынок.

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

2.8 Запуск

После того, как приложение получает пальцы вверх от всех этапов тестирования, то приложение готово к запуску. Следующим этапом будет отправка приложения в Зlay store/App store на утверждение. Этап утверждения быстрее, так как он занимает всего 3 часа для приложения android, чтобы получить одобрение и 4-5 дней в случае приложения для iOS.

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

Подготовку к публикации лучше начинать заранее, чтобы успеть проанализировать подачу конкурентов и создать свой контент, который состоит из: названия, краткого описания,  развернутого описания, красивых скриншотов с заголовками, свойств, seo, политики конфиденциальности, и, при желании, видеоролика, либо gif анимации. 

И чтобы модерация приложения в магазинах прошла успешно, также необходимо следовать правилам и рекомендациям каждой платформы. Процесс модерации в среднем занимает 3 дня в App Store и 1-2 дня в Google Play и Microsoft Store.

2.9 Оптимизация для App store

Задача обычно не выполняется, как только приложение достигает среди других приложений, "плавающих" в Play Store/App Store. Приложения должны быть оптимизированы таким образом, чтобы они отображались сверху, когда пользователь выполняет поиск. Название и описание приложения должны иметь соответствующие ключевые слова. Когда пользователь нажимает на приложение, страница должна иметь имя приложения, значок, скриншоты, рекламные видеоролики и другую необходимую информацию.

Заключение

В данной работе были рассмотрены основные этапы проектирования мобильных приложений

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

. Решены следующие задачи: изучены

Классификация мобильных приложений

Особенности мобильных приложений

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

Список литературы

  1. Алексей Голощапов Google Android. Создание приложений для смартфонов и
  2. Лорен Дэрси Android за 24 часа. Программирование приложений под операционную систему Google / Лорен Дэрси , Шейн Кондер. - М.: Рид Групп, 2016. - 464 c.
  3. Рето Майер Android 2. Программирование приложений для планшетных компьютеров и смартфонов / Рето Майер. - М.: "Издательство "Эксмо", 2016. - 672 c.
  4. Рето Майер Android 4. Программирование приложений для планшетных компьютеров и смартфонов / Рето Майер. - М.: Эксмо, 2017. - 816 c.
  5. Рик Роджерс Android. Разработка приложений / Рик Роджерс и др. - М.: ЭКОМ Паблишерз, 2016. - 400 c.
  6. Сатия Коматинени Android 3 для профессионалов. Создание приложений для планшетных компьютеров и смартфонов / Сатия Коматинени , Дэйв Маклин , Саид Хашими. - М.: Вильямс, 2015. - 116 c.
  7. Сильвен Ретабоуил Android NDK. Разработка приложений под Android на С/С++ / Сильвен Ретабоуил. - М.: "ДМК пресс. Электронные книги", 2014. - 496 c.
  8. Т.С. Машнин Eclipse. Разработка RCP-, Web-, Ajax- и Android-приложений на Java / Т.С. Машнин. - М.: БХВ-Петербург, 2016. - 384 c.