Аннотация
ВВЕДЕНИЕ 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. Создать автоматизированные сценарии тестирования веб
приложений.
На сегодняшний день веб-приложения продолжают развиваться, а количество используемых технологий, как и разнообразие дефектов, только увеличиваться.
В данной работе был проведён анализ сущности веб-приложений, техник и методологий их тестирования в жизненном цикле разработки программного обеспечения, в результате чего были исследованы основы взаимодействия клиентской и серверной частей веб-приложений, структуры веб-страниц, варианты поиска веб-элементов и способов их тестирования.
Кроме того, было выявлено, что функциональное (ручное) тестирование выгоднее применять при разработке нового бизнес-процесса, а автоматизированное решение целесообразнее использовать для проверки уже существующего функционала.
На основе анализа документации и техник тестирования были написаны наборы тестовых случаев, которые позволили проверить работоспособность нового, важного для Банка бизнес-процесса получения онлайн-предложений по клиенту.
Дополнительно, было проведено исследование сущности автоматизированного тестирования веб-приложений. В последствии чего были разработаны автоматизированные сценарии тестирования уже существующего функционала в банковской системе. Это позволило получить положительный экономический эффект, значительно сократив время и затраты на ручное тестирование, а также исключить влияние человеческого фактора в процессе тестирования.
Данные действия были направленны на устранение ошибок с целью обеспечения качества программного продукта.