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

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

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

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

Добавлен: 29.03.2023

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

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

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

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

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

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

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

На данный момент есть 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) является неотъемлемой частью жизненного цикла разработки любых приложений, включая мобильные. К сожалению, многие упускают из виду критические особенности тестирования мобильных приложений, которые часто приводят к сбоям, ошибкам в работе приложения и плохому качеству обслуживания клиентов.

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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