Введение
Глава 1 Методологические основы тестирования
мобильных приложений
1.1Специфика мобильных приложений
1.2Методы и виды тестирования мобильных приложений
1.3Специфика тестирования МП на Agile-проектах
Глава 2 Методики автоматизации тестирования 26
мобильных приложений на Agile-проектах
2.1Определение автоматизированного тестирования и область
его применения
2.2Алгоритм автоматизации тестирования
2.3Методики автоматизации тестирования МП
2.4Инструменты автоматизации тестирования МП
2.5Методика автоматизации тестирования на Agile-проектах
и оценка ее применимости для МП
Глава 3 Разработка методики автоматизация тестирования
МП на Agile -проекте. Апробация разработанной методики
3.1Разработка методики автоматизация тестирования МП
3.1.1Постановка задачи на разработку методики автоматизации
тестирования
3.1.2Методика автоматизации тестирования МП на Agile -проекте
3.2Апробация методики автоматизации тестирования МП
3.2.1Анализ предметной области тестируемого МП и условия
проведения эксперимента
3.2.2Апробация методики автоматизации для тестирования GUI
3.2.3Апробация методики для автоматизации тестирования API
3.2.4Результаты применения и оценка эффективности
разработанной методики
Заключение
Список используемой литературы и используемых источников
Приложение А75 Тестовый сценарий для проверки существующей функциональности
В настоящее время технология Agile набирает все большую популярность в сфере разработки программного обеспечения, в том числе - для мобильных устройств.
Для автоматизации приложений, проектируемых с применением гибких методологий, чаще всего используется методика Scripting. Она подходит для автоматизации тестирования API, но является неоптимальным решением для подготовки автотестов GUI. В результате тестирование графического интерфейса проводится вручную.
В течение коротких итераций на Agile-проекте возможно провести только базовые проверки GUI. Такой подход допустим для веб- и десктоп- приложений, которые рассчитаны на работу с ограниченным количеством браузеров и платформ.
В отличие от них, мобильные приложения разрабатываются под разные мобильные платформы, версии операционных систем и конфигурации устройств. Из-за того, что тестирование ограничивается базовыми проверками, многие дефекты GUI попадают в продакшен-версию приложения и обнаруживаются конечными пользователями. Для мобильных приложений такая ситуация может привести к получению негативных отзывов от пользователей и, как следствие, к коммерческому провалу.
Таким образом, актуальность исследования обусловлена необходимостью разработки методики, которая позволит автоматизировать тестирование API и графического интерфейса мобильного приложения.
Объектом исследования является процесс тестирования мобильных приложений, проектируемых по технологии Agile.
Предмет исследования - методика автоматизации тестирования мобильных приложений, проектируемых по технологии Agile.
Целью работы является исследование и разработка методики автоматизации тестирования мобильных приложений, проектируемых по технологии Agile.
Гипотеза исследования: применение предлагаемой методики позволит повысить эффективность процесса тестирования мобильных приложений, проектируемых по технологии Agile.
Для достижения цели и проверки поставленной гипотезы нужно решить следующие задачи:
1.Проанализировать существующие методы и виды тестирования программного обеспечения и оценить возможность их применения для мобильных приложений.
2.Проанализировать существующие методики и инструменты автоматизации тестирования и оценить возможность их применения для мобильных приложений.
3.Разработать методику автоматизации тестирования МП по технологии Agile.
4.Выполнить апробацию и обосновать применение разработанной методики для повышения эффективности тестирования мобильных приложений.
Новизна исследования заключается в разработке методики автоматизации, которая основана на комбинации двух существующих методик для подготовки разных типов тестов.
Методы исследования: системный анализ, методы тестирования программного обеспечения, эксперимент.
Публикации по теме исследования:
1.Нестерова О.А. Методика автоматизации тестирования мобильных приложений на Scrum-проектах // Студенческий форум: электрон. научн. журн. 2020. № 16(109);
2.Нестерова, О.А. Автоматизация тестов как часть Agile-подхода в тестировании мобильных приложений // Студенческий форум: электрон. научн. журн. - 2019. - № 39 (90).
Практическая значимость диссертационного исследования заключается в возможности применения разработанной методики автоматизации для тестирования МП.
Основные этапы исследования: исследование проводилось с 2018 по 2020 гг. в несколько этапов:
На первом этапе (констатирующем этапе) - формулировалась тема исследования, выполнялся сбор информации по теме исследования из различных источников, проводилась формулировка гипотезы, определялись постановка цели, задач, предмета исследования, объекта исследования и выполнялось определение проблематики данного исследования.
Второй этап (поисковый этап) - в ходе проведения данного этапа осуществлялся анализ методик тестирования, была разработана модель методики тестирования, проводилось написание и публикация научных статей по теме исследования в сборниках научных статей.
Третий этап (оценка эффективности) - на данном этапе осуществлялась оценка эффективности и проверка адекватности предлагаемой методики тестирования, были сформулированы выводы о полученных результатах по проведенному исследованию.
На защиту выносятся:
1.Методика автоматизации тестирования мобильных приложений.
2.Результаты апробации разработанной методики.
Диссертационная работа состоит из введения, трех глав, заключения, списка используемой литературы и приложения.
В первой главе описана специфика мобильных приложений, рассмотрены методы и виды тестирования. Также описана специфика тестирования мобильных приложений на Agile-проектах.
Во второй главе описаны область применения автоматизированного тестирования, методики и инструменты автоматизации тестирования мобильных приложений. Рассмотрена методика Scripting, применяемая для подготовки автотестов на Agile-проектах.
Третья глава посвящена разработке методики автоматизации тестирования мобильных приложений, проектируемых по технологии Agile. В этой же главе представлены результаты апробации разработанной методики.
В заключении содержатся итоги выполненной работы. В приложении представлен тестовый сценарий, созданный при подготовке автотеста API.
Работа изложена на 74 с. с приложением, содержит 22 рисунка и 4 таблицы.
Целью диссертационной работы является исследование и разработка методики автоматизации тестирования МП, которые проектируются по технологии Agile.
При проведении исследования получены следующие основные выводы и результаты:
1.Произведен анализ источников по предмету исследования, который подтвердил недостаточность работ, посвященных автоматизации тестирования МП на Agile-проектах, что подтвердило актуальность темы исследования
2.Произведен анализ методики Scripting, применяемой для автоматизации тестирования на Agile-проектах, который показал, что ее недостаточно для полноценного тестирования МП;
3.Разработана и реализована методика автоматизации тестирования МП на Agile-проектах, основанная на применении двух разных методик для разных видов тестирования: методики Record and Play для тестирования графического интерфейса и Scripting для тестирования API;
Для внедрения методики были использованы специальные драйверы, встроенные в платформенные средства разработки Android Studio и Xcode, а также фреймворк Cucumber, интегрированный в среду разработки IntelleJ IDEA.
4.Для оценки эффективности разработанной методики сделано сравнение показателей тестовых метрик, полученных при тестировании МП до и после применения методики автоматизации.
Как показал анализ полученных результатов, внедрение методики позволило увеличить тестовое покрытие МП на 25 % для всех тестовых устройств и на 60 % для каждого конкретного устройства, а также увеличение числа найденных дефектов с 12 до 72 за счет большего количества дефектов с незначительным приоритетом.
Полученные изменения указывают на повышение эффективности процесса тестирования МП при применении разработанной методики.
Таким образом, в работе решена актуальная научно-практическая проблема разработки методики автоматизации тестирования МП, проектируемых по технологии Agile.
Гипотеза исследования подтверждена, поставленная цель достигнута.
1.Абдулназаров, Ф.М. Тестирование мобильных приложений, функционирующих на Android / Ф.М. Абдулназаров, О.А. Анарбеков // Современные технологии поддержки принятия решений в экономике: Сборник трудов III Всероссийской научно-практической конференции студентов, аспирантов и молодых ученых. Национальный исследовательский Томский политехнический университет, Юргинский технологический институт; под ред. А.А. Захаровой. - 2016. - С. 196-198.
2.Автоматизация тестирования [Электронный ресурс]. URL:
https://ru.wikipedia.org/wiki/Автоматизированное_тестирование (дата
обращения: 10.05.2020).
3.Автоматизация тестирования и Agile [Электронный ресурс]. URL: https://habr.com/ru/company/otus/blog/351104 (дата обращения: 10.05.2020).
4.Автоматизированное тестирование программного обеспечения -
основные понятия [Электронный ресурс] URL:
http://www.protesting.ru/automation/ (дата обращения: 10.05.2020).
5.Атисков, А.Ю. Тестирование эргономики пользовательского интерфейса мобильных приложений / А.Ю. Атисков, И.И. Давидович // Научный вестник НГТУ, том 57. - 2014. - № 4. - С. 119-130.
6.Винниченко, И.В. Автоматизация процессов тестирования. - Спб.: Питер, 2005. - 203 с.
7.Виды тестирования [Электронный ресурс]. URL:
http://www.protesting.ru/testing/testtypes.html (дата обращения: 10.05.2020).
8.Градусов, А.Б. Сравнительный анализ современных программных средств автоматизированного тестирования мобильных приложений / А.Б. Градусов, И.И. Хмеляр // Постулат. - 2018. - № 6 (32). - С. 38-43.
9.Дастин, Э. Автоматизированное тестирование программного обеспечения. Внедрение, управление и эксплуатация: Пер. с англ. / Э. Дастин, Дж. Рэшка, Дж. Пол. - М.: из-во «Лори». - 2003, 289 с.
10.Зайцев, Е.Д. К вопросу об эффективности автоматизации тестирования web-, desktop- и мобильных приложений / Е.Д. Зайцев, Д.М. Зайцев // Проблемы инфокоммуникаций. - 2018. - № 2 (8). - С. 56-63.
11.Калберстон, Р. Быстрое тестирование: Пер. с англ./ Роберт Калберстон, Крис Браун, Гэри Кобб. - Издательский дом «Вильямс», 2002. - 384 с.
12.Калын, М.М. Автоматизация тестирования: постановка целей, плюсы и минусы // Синергия наук. - 2017. - Том 1. - С. 45-51.
13.Канер, С. Тестирование программного обеспечения.
Фундаментальные концепции менеджмента бизнес-приложений: Пер. с англ./ Сэм Канер, Джек Фолк, Енг Кек Нгуен. - К.: Издательство «ДиаСофт», 2001. - 544 с.
14.Криспин, Л. Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд / Криспин Лайза, Грегори Джанет. - М: Изд-во Вильямс, 2010. - 464 с.
15.Куликов, С.С. Тестирование программного обеспечения. - Минск: Четыре четверти, 2015. - 294 с...