Добавлен: 23.04.2023
Просмотров: 1283
Скачиваний: 30
– недостаток оперативной памяти;
– недостаток дискового пространства;
– определенные типы процессора и операционной системы;
– совместимость между различными типами операционных систем [13].
2.3 Стрессовое тестирование
На следующем шаге необходимо проанализировать, как приложение ведет себя в необычных (стрессовых условиях). К ним могут относиться, как внешние, так и внутренние факторы.
Внешние факторы: скорость/стабильность подключения к сети, переключение между Wi-Fi и 3G/4G, прием звонков/сообщений в процессе работы приложения, подключение периферийных устройств (наушники, bluetooth гаджеты и т. д.), выемка/замена SIM или SD-карты, пока телефон включен, включение/выключение спящего режима, температура воздуха и т. д. [2].
Внутренние факторы: нехватка оперативной памяти или места на диске, низкий заряд аккумулятора, отключение каких-либо услуг (например, GPS) и т. д.
Стоит отметить, что полностью исчерпать тестовые варианты в данном случае не представляется возможным, потому что никогда не известно как будет себя вести пользователь во время использования мобильного приложения [22]. Можно лишь протестировать наиболее вероятные случаи использования.
2.4 Нагрузочное тестирование
Нагрузочное тестирование позволяет определить имеет ли приложение какие-либо уязвимые места. Например, утечки памяти или проблемы с производительностью. При нагрузочном тестировании мобильных приложений предполагается, что программа будет запускаться на устройстве с низким объемом памяти [17].
2.5 Функциональное и юзабилити тестирование
Рассмотрим информационные потоки процесса тестирования (рисунок 7).
Рисунок 7 – Информационные потоки тестирования
На входе процесса тестирования три потока: текст программы мобильного приложения; исходные данные для запуска программы; ожидаемые результаты.
Выполняются тесты, все полученные результаты оцениваются. Это значит, что реальные результаты тестов сравниваются с ожидаемыми результатами. Когда обнаруживается несовпадение, фиксируется ошибка – начинается отладка. Процесс отладки непредсказуем по времени. На поиск места дефекта и исправление может потребоваться час, день, месяц [19]. Неопределенность в отладке приводит к большим трудностям в планировании действий [14]. После сбора и оценивания результатов тестирования начинается отображение качества и надежности разработанного приложения.
Если регулярно встречаются серьезные ошибки, требующие проектных изменений, то качество и надежность мобильного приложения подозрительны, констатируется необходимость усиления тестирования. С другой стороны, если функции приложения реализованы правильно, а обнаруженные ошибки легко исправляются, может быть сделан один из двух выводов: качество и надежность приложения удовлетворительны и тесты не способны обнаруживать серьезные ошибки [5].
В конечном счете, если тесты не обнаруживают ошибок, появляется сомнение в том, что тестовые варианты достаточно продуманы, и что в приложении нет скрытых ошибок [14]. Такие ошибки будут, в конечном итоге, обнаруживаться пользователями и корректироваться разработчиком на этапе сопровождения (когда стоимость исправления возрастает в 60-100 раз по сравнению с этапом разработки).
Существуют два принципа тестирования:
1. Функциональное тестирование (тестирование «черного ящика»).
Схема тестирования «черного ящика» представлена на рисунке 8.
Рисунок 8 – Тестирование «черного ящика»
Известны: функции программы.
Исследуется: работа каждой функции на всей области определения. Основное место приложения тестов «черного ящика» – интерфейс приложения.
Эти тесты демонстрируют: как выполняются функции мобильного приложения; как принимаются исходные данные; как вырабатываются результаты; как сохраняется целостность внешней информации.
При тестировании «черного ящика» рассматриваются системные характеристики приложения, игнорируется их внутренняя логическая структура. Исчерпывающее тестирование, как правило, невозможно [8]. Тестирование «черного ящика» не реагирует на многие особенности ошибок, допущенные в программном коде.
Для проведения тестирования следует:
- убедиться в том, что кнопки имеют нормальный размер и подходят для крупных пальцев [11];
- поместить кнопки в одной области экрана, чтобы не вызвать замешательства у пользователей;
- убедиться в том, что значки и картинки смотрятся естественно в среде приложения;
- убедиться в том, что цвет кнопок, выполняющих одну и ту же функцию, совпадает;
- убедиться в правильной работе системы уменьшения и увеличения масштаба просмотра;
- обеспечить минимальный ввод данных с клавиатуры;
- убедиться в наличии возможности возврата или отмены действия в случае нажатия не на ту кнопку;
- убедиться в том, что контекстуальные меню не перегружены, так как они предполагают быстрое использование;
- убедиться в том, что текст прост, ясен и виден пользователю;
- убедиться в том, что короткие предложения и абзацы возможно прочитать;
- найти оптимальный размер шрифта [13];
- убедиться в том, что в случае загрузки пользователем больших объемов информации приложение предупреждает о возможных сбоях в его работе из-за этого;
- убедиться в том, что завершить работу приложения можно из любого состояния и что оно возобновляет работу в этом же состоянии;
- проверить, что все строки отображаются на нужном языке, если в приложении есть опция перевода;
- убедиться в том, что компоненты приложения синхронизируются с действиями пользователя [2];
- обеспечить пользователя руководством, которое бы помогло ему понять работу приложения и эффективно им пользоваться;
2. Структурное тестирование (тестирование «белого ящика»).
Схема тестирования «белого ящика» представлена на рисунке 9.
Рисунок 9 – Тестирование «белого ящика»
Известна: внутренняя структура приложения (код).
Исследуются: внутренние элементы приложения и связи между ними.
Объектом тестирования здесь является не внешнее, а внутреннее поведение приложения. Проверяется корректность построения всех элементов программного кода и правильность их взаимодействия друг с другом [16]. Обычно анализируются управляющие связи элементов, реже – информационные связи. Тестирование по принципу «белого ящика» характеризуется степенью, в какой тесты выполняют или покрывают логику (исходный текст) программы [10]. Исчерпывающее тестирование также затруднительно.
Основные сценарии функциональных тестов:
- проверить корректность работы обязательных полей;
- убедиться, что обязательные поля отображаются на экране не так, как необязательные;
- убедиться, что работа приложения во время запуска/выхода удовлетворяет основным требованиям;
- убедиться, что приложение переходит в фоновый режим в случае входящего звонка.
- проверить, может ли телефон хранить, принимать и отправлять SMS-сообщения во время работы приложения [7];
- убедиться, что устройство работает в многозадачном режиме, когда это необходимо;
- проверить, как функционируют необходимые опции для работы с социальными сетями – Поделиться, Публикация, Навигация;
- убедиться, что приложение поддерживает платежные операции через системы оплаты Visa, Mastercard, Paypal и др.;
- проверить адекватность работы сценариев прокрутки страницы;
- проверить, присутствует ли надлежащая навигация между важными модулями приложения [4];
- убедиться, что количество ошибок округления минимально;
- проверить наличие сообщений об ошибках, например, сообщения «Ошибка сети. Пожалуйста, попробуйте позже» в случае некорректной работы сети;
- убедиться, что установленное приложение не препятствует нормальной работе других приложений и не съедает их память;
- проверить, способно ли приложение вернуться в то состояние, в котором оно находилось перед приостановкой (например, жесткая перезагрузка или системный сбой);
- установка приложения должна проходить без значительных ошибок при условии, что устройство соответствует системным требованиям;
- убедиться, что автоматический запуск приложения работает корректно [17];
- проверить, как приложение работает на всех устройствах поколений 2G, 3G и 4G;
- выполнить регрессивное тестирование для выявления новых программных ошибок в существующих и уже модифицированных областях системы;
- убедиться, что существует доступное руководство пользователя [3].
3 Ввод в эксплуатацию
Ввод мобильного приложения в эксплуатацию может состоять из следующих этапов: проведение предварительных испытаний; проведение опытной эксплуатации; проведение приемочных испытаний [12, 14].
На рисунках 10-12 рассматриваются данные этапы более подробно.
Рисунок 10 – Проведение предварительных испытаний [3]
Рисунок 11 – Проведение опытной эксплуатации [7, 15]
Рисунок 12 – Проведение приемочных испытаний [19]
Таким образом, из представленных выше рисунков видно, что каждый этап начинается с проведения испытания, далее идет анализ результатов проведенного испытания, после чего идет доработка приложения [13]. Последним этапом становится оформление акта о завершении этапа испытания.
Этап «Проведение предварительных испытаний» позволяет разработчику предварительно оценить разработанную систему в действии, определить недочеты [6]. В то же время для заказчика данный этап служит для первичного анализа разработанной системы и предоставляет возможность выявить дополнительные требования
Самый продолжительный этап – проведение опытной эксплуатации, на данном этапе выявляется большинство несоответствий требованиям.
Наиболее короткий – последний этап [19]. Как правило, к данному этапу приложение полностью готово к эксплуатации, все недочеты устранены, дополнительные требования, появившиеся на этапе эксплуатации, реализованы.
Заключение
В работе были рассмотрены три важных этапа становления мобильного приложения: разработка, тестирование и ввод в эксплуатацию.
Стоит отметить, что процессы разработки и тестирования до того, как приложение запущено в эксплуатацию могут длиться бесконечно долго, до тех пор, пока не будет определено, что дальнейшая разработка не требуется и не требуется дальнейшее тестирование, необходимые ошибки устранены. Однако чаще всего во время эксплуатации приложения пользователями выявляются ошибки, которые не были замечены во время тестирования. В таком случае приложение либо полностью останавливает свое действие на время доработок, в том случае, если ошибки критичны. В том случае, если ошибки не приводят к критичным последствиям, заказчик уведомляет разработчика об ошибках и данные ошибки устраняются. После того, как ошибки устранены, выходит новая версия приложения, пользователи уведомляются о выходе новой версии приложения.
Таким образом, очевидно, что процесс проектирования приложения и его ввод в эксплуатацию представляет собой длительный и сложный процесс.
В работе были выполнены все поставленные во введении задачи, что привело к достижению поставленной цели.
Список использованной литературы
- Аксенов К. В. Обзор современных средств для разработки мобильных приложений // Новые информационные технологии в автоматизированных системах. 2014. №17. URL: https://cyberleninka.ru/article/n/obzor-sovremennyh-sredstv-dlya-razrabotki-mobilnyh-prilozheniy (дата обращения: 22.04.2020).
- Васильева К. Н., Хусаинова Г. Я. Обзор программных средств для разработки мобильных приложений // Colloquium-journal. 2020. №2 (54). URL: https://cyberleninka.ru/article/n/obzor-programmnyh-sredstv-dlya-razrabotki-mobilnyh-prilozheniy (дата обращения: 22.04.2020).
- Васильева К. Н., Хусаинова Г. Я. Обзор программных средств для разработки мобильных приложений // Colloquium-journal. 2020. №2 (54). URL: https://cyberleninka.ru/article/n/obzor-programmnyh-sredstv-dlya-razrabotki-mobilnyh-prilozheniy (дата обращения: 28.04.2020).
- Верескун Д.М. Разработка мобильных приложений для бизнеса: учебное пособие/ Верескун Д.М. – Саратов: Саратовский государственный технический университет имени Ю.А. Гагарина, ЭБС АСВ, 2012. – 51 c.
- Гаврилов Л. П. Инновационные технологии в коммерции и бизнесе: учебник для бакалавров / Л. П. Гаврилов. – Москва: Издательство Юрайт, 2019. – 372 с. – (Бакалавр и магистр. Академический курс).
- Гиматдинов Р. C., Тенденции развития сферы разработки мобильных приложений // Скиф. 2019. №6 (34). URL: https://cyberleninka.ru/article/n/tendentsii-razvitiya-sfery-razrabotki-mobilnyh-prilozheniy (дата обращения: 22.04.2020).
- Допира Р. И., Попова Н. В. Разработка приложения в среде AndroidStudio // Наука, техника и образование. 2017. №3 (33). URL: https://cyberleninka.ru/article/n/razrabotka-prilozheniya-v-srede-androidstudio (дата обращения: 20.04.2020).
- Жуковская А.Н., Заушицина А.С. Особенности разработки кроссплатформенных мобильных приложений // Решетневские чтения. 2017. №21-2. URL: https://cyberleninka.ru/article/n/osobennosti-razrabotki-krossplatformennyh-mobilnyh-prilozheniy (дата обращения: 27.04.2020).
- Ким В. Ю. Особенности разработки дизайна пользовательского интерфейса для мобильного приложения // Новые информационные технологии в автоматизированных системах. 2015. №18. URL: https://cyberleninka.ru/article/n/osobennosti-razrabotki-dizayna-polzovatelskogo-interfeysa-dlya-mobilnogo-prilozheniya (дата обращения: 28.04.2020).
- Майорова Е. С., Ошурков В. А., Цуприк Л. С. Современное состояние средств разработки мобильных приложений на платформах iOS, Android и Windows Phone // ПНиО. 2015. №4 (16). URL: https://cyberleninka.ru/article/n/sovremennoe-sostoyanie-sredstv-razrabotki-mobilnyh-prilozheniy-na-platformah-ios-android-i-windows-phone (дата обращения: 22.04.2020).
- Милехина О. В. Информационные системы: теоретические предпосылки к построению: учеб пособие / О. В. Милехина, Е. Я. Захарова, В. А. Титова. – 2-е изд-е. – Новосибирск: Изд-во НГТУ, 2014. - 283 с.
- Русанова И. В. Анализ платформ для разработки гибридного мобильного приложения для систем iOS и Android // Актуальные проблемы авиации и космонавтики. 2017. №13. URL: https://cyberleninka.ru/article/n/analiz-platform-dlya-razrabotki-gibridnogo-mobilnogo-prilozheniya-dlya-sistem-ios-i-android (дата обращения: 22.04.2020).
- Свентицкий П. И., Иванова Н. А. Инструменты кроссплатформенной разработки мобильных приложений // Инновации в науке. 2014. №40. URL: https://cyberleninka.ru/article/n/instrumenty-krossplatformennoy-razrabotki-mobilnyh-prilozheniy (дата обращения: 28.04.2020).
- Семенчук В. Мобильное приложение как инструмент бизнеса: Справочное пособие / Семенчук В. – М.:АЛЬПИНА, 2017. – 240 с.
- Соколова В. В. Разработка мобильных приложений: Учебное пособие / Соколова В.В. – Томск: Изд-во Томского политех. университета, 2014. – 176 с.
- Соколова В. В. Вычислительная техника и информационные технологии. Разработка мобильных приложений: учебное пособие для вузов / В. В. Соколова. – Москва: Издательство Юрайт, 2020. – 175 с. – (Высшее образование).
- Ургенчев А. Р., Байбактина А. Т. Анализ современных средств для разработки мобильных приложений под ОС Android // Научный журнал. 2017. №3 (16). URL: https://cyberleninka.ru/article/n/analiz-sovremennyh-sredstv-dlya-razrabotki-mobilnyh-prilozheniy-pod-os-android (дата обращения: 22.04.2020).
- Ургенчев А. Р., Байбактина А. Т. Анализ современных средств для разработки мобильных приложений под ОС Android // Научный журнал. 2017. №3 (16). URL: https://cyberleninka.ru/article/n/analiz-sovremennyh-sredstv-dlya-razrabotki-mobilnyh-prilozheniy-pod-os-android (дата обращения: 27.04.2020).
- Фадеев А. Ю., Волкова Е. А. Сравнительный анализ программного обеспечения для разработки мобильных приложений // Наука и перспективы. 2016. №3. URL: https://cyberleninka.ru/article/n/sravnitelnyy-analiz-programmnogo-obespecheniya-dlya-razrabotki-mobilnyh-prilozheniy (дата обращения: 22.04.2020).
- Фадеев А.Ю., Волкова Е.А. Сравнительный анализ программного обеспечения для разработки мобильных приложений // Наука и перспективы. 2016. №3. URL: https://cyberleninka.ru/article/n/sravnitelnyy-analiz-programmnogo-obespecheniya-dlya-razrabotki-mobilnyh-prilozheniy (дата обращения: 20.04.2020).
- Федотенко М.А. Разработка мобильных приложений. Первые шаги / М.А. Федотенко; под ред. В.В. Тарапаты. – Москва: Лаборатория знаний, 2019. – (Школа юного программиста).
- Цыганенко В. Н. CALS/CASE-технологии проектирования информационных систем: конспект лекций. Изд-во ОмГТУ, 2007. - 86 с.
- Чистов Д. В., Мельников П. П., Золотарюк А. В., Ничепорук Н. Б. Проектирование информационных систем: учебник и практикум для академического бакалавриата / Д. В. Чистов, П. П. Мельников, А. В. Золотарюк, Н. Б. Ничепорук; под общей редакцией Д. В. Чистова. – Москва: Издательство Юрайт, 2019. – 258 с. – (Высшее образование).