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

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.03.2023

Просмотров: 307

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. Жизненный цикл и существующие стратегии разработки программного продукта

1.1. Понятие программного продукта

1.2. Понятие жизненного цикла

1.3. Основные стратегии разработки программных продуктов

1.4. Возможные классификации проектов разработки

1.5. Модели полного жизненного цикла

1.6. Гибкие методики разработки программного продукта.

2.1. Составление технического задания и выбор методологии

2.2. Планирование и оценка

2.3. Аналитика

2.4. Дизайн приложения

2.5. Разработка

3. Тестирование и ввод в эксплуатацию мобильного приложения

3.1. Тестирование

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

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

3.1.3. Ручное и автоматическое тестирование

3.1.4. Тестирование юзабилити и бета-тестирование

3.1.5. Тестирование производительности

3.1.6. Аттестационное тестирование и тестирование безопасности приложения

3.1.7. Тестирование устройства

3.2. Добавление приложения в магазин

3.3. Дальнейшая техническая поддержка и маркетинговое продвижение приложения

ЗАКЛЮЧЕНИЕ

Библиография

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

В итоге, именно на данном этапе формируется описание базовых функций мобильного приложения, становится понятным, для какой платформы будет создаваться программный продукт: iOS, Android или кросс-платформа, и, конечно же, выбирается методология: Agile или Waterfall.

2.2. Планирование и оценка

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

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

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

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

2.3. Аналитика

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


После проведения данного этапа на выходе формируются:

  1. Спецификация функциональных требований;
  2. Спецификация нефункциональных требований;
  3. Основа графического интерфейса;
  4. План проекта;
  5. Детальный бюджет.

2.4. Дизайн приложения

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

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

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

После проведения данного этапа на выходе формируются:

  1. Карта экранов;
  2. Дизайн приложения.

2.5. Разработка

Данный этап, пожалуй, самый большой по временным затратам, да и, в целом, очень важен.

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

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


В нативной разработке обычно применяются такие языки, как Java и Kotlin для Android, Objective-C и Swift для iOS. В кроссплатформенных решениях могут применяться React Native и NativeScript.

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

В итоге, на данном этапе уже создана версия приложения, готовая для тестирования, а так же появляются возможные корректировки дизайна.

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

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

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

3. Тестирование и ввод в эксплуатацию мобильного приложения

3.1. Тестирование

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

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


Сам этап тестирования можно разделить еще на несколько этапов.

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

Перед началом тестирования любого мобильного приложения необходимо определить, что именно в данном мобильном приложении необходимо протестировать:

  1. Набор функциональности;
  2. Удобство использования;
  3. Совместимость;
  4. Производительность;
  5. Безопасность.

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

  1. Выяснить, какие устройства будут поддерживать приложение;
  2. Определить, какая версия операционной системы будет самой ранней из тех, что поддерживаются приложением;
  3. Выявить наиболее популярные модели мобильных устройств у целевой аудитории;
  4. Определить набор неосновных (дополнительных) устройств с экранами разных размеров, потенциально поддерживаемых приложением;
  5. Решить, будут ли использованы для тестирования физические устройства или их эмуляторы.

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

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

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

  1. Особенность использования батареи;
  2. Скорость работы приложения;
  3. Требования к данным;
  4. Объем используемой памяти.

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

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


3.1.3. Ручное и автоматическое тестирование

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

3.1.4. Тестирование юзабилити и бета-тестирование

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

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

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

  1. Совместимость;
  2. Пользовательский интерфейс;
  3. Интерфейс;
  4. Внешние факторы;
  5. Доступность.

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

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

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