Введение 4
Глава 1 Методологические основы тестирования мобильных приложений 8
1.1 Специфика мобильных приложений 8
1.2 Методы и виды тестирования мобильных приложений 11
1.3 Специфика тестирования МП на Agile-проектах 18
Глава 2 Методики автоматизации тестирования мобильных приложений на Agile-проектах 26
2.1 Определение автоматизированного тестирования и область его применения 26
2.2 Алгоритм автоматизации тестирования 30
2.3 Методики автоматизации тестирования МП 31
2.4 Инструменты автоматизации тестирования МП 33
2.5 Методика автоматизации тестирования на Agile-проектах и оценка ее применимости для МП 37
Глава 3 Разработка методики автоматизация тестирования МП на Agile -проекте. Апробация разработанной методики 43
3.1 Разработка методики автоматизация тестирования МП 43
3.1.1 Постановка задачи на разработку методики автоматизации тестирования 43
3.1.2 Методика автоматизации тестирования МП на Agile -проекте 44
3.2 Апробация методики автоматизации тестирования МП 47
3.2.1 Анализ предметной области тестируемого МП и условия проведения эксперимента 47
3.2.2 Апробация методики автоматизации для тестирования GUI 52
3.2.3 Апробация методики для автоматизации тестирования API 59
3.2.4 Результаты применения и оценка эффективности разработанной методики 64
Заключение 69
Список используемой литературы и используемых источников 71
Приложение А. Тестовый сценарий для проверки существующей функциональности 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 с.
...