Аннотация
ВВЕДЕНИЕ 8
1 ОПРЕДЕЛЕНИЕ СУЩНОСТИ ВЕБ-ПРИЛОЖЕНИЙ 10
1.1 Архитектура классических веб-приложений 10
1.2 Каркасы веб-приложений 17
Выводы к первому разделу 21
2 ИССЛЕДОВАНИЕ ТЕХНИК И МЕТОДОЛОГИЙ ТЕСТИРОВАНИЯ ВЕБ -
ПРИЛОЖЕНИЙ 22
2.1 Техники тестирования веб-приложений 22
2.2 Методологии разработки и тестирования ПО 30
2.2.1 Каскадная модель 31
2.2.2 V-Model 32
2.2.3 Инкрементная модель 34
2.2.4 Спиральная модель 35
2.2.5 Agile 37
Выводы ко второму разделу 39
3 ОПРЕДЕЛЕНИЕ СУЩНОСТИ ФУНКЦИОНАЛЬНОГО ТЕСТИРОВАНИЯ
И СОЗДАНИЕ ТЕСТОВЫХ СЛУЧАЕВ ДЛЯ ВЕБ-ПРИЛОЖЕНИЙ 40
3.1 Особенности функционального тестирования веб-приложений 40
3.2 Создания тестовых случаев для веб-приложения фронт-офисной
системы Банка 48
Выводы к третьему разделу 52
4 СОЗДАНИЕ АВТОМАТИЗИРОВАННЫХ СЦЕНАРИЕВ
ТЕСТИРОВАНИЯ ВЕБ-ПРИЛОЖЕНИЙ 53
4.1 Автоматизированное тестирование 53
4.2 Создание автоматизированных сценариев тестирования веб -
приложений 57
4.3 Анализ результатов тестирования 69
Выводы к четвёртому разделу 74
ЗАКЛЮЧЕНИЕ 76
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 77
Актуальность исследования. Тестирование программного обеспечения - проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определенным образом. В более широком смысле, тестирование - это одна из техник контроля качества, включающая в себя активности по планированию работ, проектированию тестов, выполнению тестирования и анализу полученных результатов. Разработка приложений не может обходиться без ошибок. Более того, при внесении каких-либо изменений в сложных программных продуктах очень сложно понять, как это отразится на других частях системы. Веб-приложения относятся к сложным программным продуктам, поскольку логика приложения распределена между клиентом и сервером. В свою очередь компании несут колоссальные финансовые потери из-за некачественного программного продукта. Для того, чтобы ускорить обнаружение дефектов в системе и предоставить пользователям качественный программный продукт, проводится тестирование.
Цели и задачи. С учётом актуальности исследования и выявленных проблем, целью выпускной квалификационной работы являются создание наборов тестовых случаев и разработка автоматизированных сценариев тестирования веб-приложения для фронт-офисной системы Банка. Данные действия должны быть направленны на достижение общей цели - устранения ошибок в коде веб-приложения и обеспечения качества программного продукта.
Объект исследования - функциональное и автоматизированное тестирование программного продукта.
Предмет исследования - веб-приложения.
Поставленная цель определила следующие научные и практические задачи, решаемые в процессе исследования:
1. Определить сущность веб-приложений;
2. Исследовать техники и методологии тестирования веб-приложений;
3. Определеть сущность функционального тестирования и создать тестовые случаи для веб-приложений;
4. Создать автоматизированные сценарии тестирования веб
приложений.
На сегодняшний день веб-приложения продолжают развиваться, а количество используемых технологий, как и разнообразие дефектов, только увеличиваться.
В данной работе был проведён анализ сущности веб-приложений, техник и методологий их тестирования в жизненном цикле разработки программного обеспечения, в результате чего были исследованы основы взаимодействия клиентской и серверной частей веб-приложений, структуры веб-страниц, варианты поиска веб-элементов и способов их тестирования.
Кроме того, было выявлено, что функциональное (ручное) тестирование выгоднее применять при разработке нового бизнес-процесса, а автоматизированное решение целесообразнее использовать для проверки уже существующего функционала.
На основе анализа документации и техник тестирования были написаны наборы тестовых случаев, которые позволили проверить работоспособность нового, важного для Банка бизнес-процесса получения онлайн-предложений по клиенту.
Дополнительно, было проведено исследование сущности автоматизированного тестирования веб-приложений. В последствии чего были разработаны автоматизированные сценарии тестирования уже существующего функционала в банковской системе. Это позволило получить положительный экономический эффект, значительно сократив время и затраты на ручное тестирование, а также исключить влияние человеческого фактора в процессе тестирования.
Данные действия были направленны на устранение ошибок с целью обеспечения качества программного продукта.
1 Бейзер, Б. Тестирование чёрного ящика. Технологии функционального тестирования программного обеспечения и систем. - СПБ.: Питер, 2004. - 320 с.
2 Бек, К. Экстремальное программирование. Разработка через тестирование / Кент Бек. - СПБ.: Питер, 2017. - 224 с.
3 Блэк, Р Ключевые процессы тестирования / Рэкс Блэк - 3-е изд.; пер. с англ. - Р Павлов - М.: Издательство «Лори», 2004. - 537 с.
4 Буч, Г. Язык UML: Руководство пользователя / Г. Буч, Д. Рамбо, И. Якобсон - 2-е изд.; пер. с англ. Мухин Н. - М.: ДМК Пресс, 2007. - 496 с.: ил.
5 Гагарина, Л.Г., Петров, А.А. Современные проблемы информатики и вычислительной техники: учебное пособие. - М.: ИД «Форум»: ИНФРА, 2011. - 368 с.
6 Гамма, Э., Хелм, Р Приёмы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р Хелм, Р Джонсон, Д. Влиссидес. - СПБ.: Питер, 2016. - 366 с.
7 Криспин, Л. Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд / Лиза Криспин, Джанет Грегори: пер. с англ. - Н. Мухин; Вильямс, 2016. - 464 с.
8 Куликов, С. Тестирование программного обеспечения. Базовый курс / С. Куликов - 2-е изд.; EPAM Systems, 2018. - 296 с.
9 Курняван, Б. Создание Web-приложений на языке Java с помощью сервлетов, JSP и EJB. - М.: Лори, 2005. - 880 с.
10 Логиновский, О.В. Управление и стратегии: учебное пособие / О.В.
Логиновский. - Оренбург: издательство Оренбургского...26