Тип работы:
Предмет:
Язык работы:


РАЗРАБОТКА WEB-ПРИЛОЖЕНИЯ ДЛЯ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ БЭКЕНД ПРИЛОЖЕНИЙ

Работа №178902

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы75
Год сдачи2025
Стоимость4700 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
3
Не подходит работа?

Узнай цену на написание


АННОТАЦИЯ 4
ВВЕДЕНИЕ 4
1. Анализ предметной области 6
1.1. Описание предметной области 6
1.2. Автоматизированное тестирование API 8
1.3. Анализ существующих инструментов 9
2. Актуальность и требования к системе 13
2.1. Актуально сть 13
2.2. Требования к системе 14
3. Технологии и инструменты разработки 18
3.1. Обоснование выбора технологического стека 18
3.2. Основные компоненты системы 18
3.3. Серверная часть приложения 19
3.4. Клиентская часть приложения 21
3.5. Система управления базами данных 22
3.6. Средства разработки 22
3.7. Развёртывание и конфигурация 23
4. Архитектура приложения 24
4.1. Клиент-серверная архитектура 24
4.2. Архитектура развертывания 25
4.3. Архитектур а серверной части 27
4.4. Организ ация хр анения данных 30
4.5. Система безопасности и аутентификации 41
5. Алгоритмы и методы реализации 43
5.1. Алгоритм генерации тестовых случаев 43
5.2. Реализация управления окружениями 45
5.3. Процесс управления тестами 46
5.4. Алгоритм выполнения тестов 47
5.5. Алгоритм обработки результатов тестов 48
5.6. Алгоритм сравнения результатов тестов 50
5.7. Метод аутентификации и авторизации 52
5.8. Выполнение тестов 53
5.9. Обработка ошибок 53
6. Интерфейс приложения 55
6.1. Дизайн-концепция и цветовая схема 55
6.2. Авториз ация 56
6.3. Регистрация 56
6.4. Страница сброса пароля 57
6.5. Генерация тестовых случаев 58
6.6. Управление тестовыми случаями, их отправка и сравнение 61
6.7. Управление тестовыми окружениями 64
6.8. Анализ результатов тестирования 66
6.9. Интерфейс сравнения ответов 68
6.10. Профиль пользователя 69
ЗАКЛЮЧЕНИЕ 72
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 74


В эпоху стремительного развития информационных технологий, программное обеспечение стало неотъемлемой частью повседневной жизни. Качество и надежность приложений являются важными аспектами для обеспечения успешной работы различных систем, от мобильных приложений до сложных корпоративных платформ. Тестирование программного обеспечения играет ключевую роль в процессе разработки [1], позволяя выявлять и устранять ошибки, повышать стабильность и безопасность конечного продукта.
Одной из важных задач в тестировании является проверка корректности работы серверных приложений [7], отвечающих за обработку данных, управление логикой и взаимодействие с базами данных. Для обеспечения качественного тестирования необходимо учитывать множество вариантов входных данных и сценариев использования.
На сегодняшний день существует потребность в инструментах, способных автоматизировать процесс генерации тестовых данных. Обычно разработчики и тестировщики вручную создают различные варианты JSON-запросов, что является трудоемким и времязатратным процессом. Такая практика не только замедляет тестирование, но и увеличивает риск пропустить критические ошибки, проявляющиеся в редких сценариях.
Для решения этой проблемы необходимо разработать инструмент, генерирующий всевозможные варианты JSON-данных [9] для проверки серверного поведения в различных условиях. Такой инструмент упростит процесс создания тестов, обеспечит широкий охват возможных сценариев и поможет выявлять скрытые ошибки и уязвимости.
Целью работы является разработка веб-приложения для автоматизации процессов создания, выполнения и анализа тестовых сценариев для API.
Для достижения поставленной цели были поставлены следующие задачи:
1) Проанализировать предметную область и составить требования к web- приложению.
2) Спроектировать и реализовать микросервисную архитектуру системы тестирования.
3) Разработать алгоритм автоматической генерации тестовых случаев на основе входных данных API.
4) Реализовать систему управления тестовыми окружениями для поддержки различных конфигураций тестирования.
5) Разработать систему для запуска тестовых сценариев с автоматическим сбором и проверкой результатов.
6) Разработать систему анализа и визуализации результатов тестирования для эффективного выявления проблем.
7) Реализовать пользовательский интерфейс для управления процессом тестирования.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе выполнения данной работы был проведен анализ требований и функциональности, определены основные компоненты и архитектура приложения [2]. Был выбран соответствующий стек технологий, включающий Java для эффективной реализации функциональности приложения.
Для решения задачи разработки инструмента автоматизации тестирования бэкэнд приложений были учтены следующие требования. Во-первых, инструмент должен автоматически генерировать множество вариантов JSON- данных, включая как корректные, так и некорректные значения. Во-вторых, предусмотрена возможность настройки структуры JSON-данных, включая типы данных, вложенность и обязательные поля. Третье требование предусматривает возможность задания пользовательских правил и ограничений для генерации данных. Далее, инструмент должен позволять отправлять сгенерированные JSON-запросы на указанные серверные эндпоинты и обрабатывать и сохранять полученные ответы для последующего анализа. Наконец, важным требованием является способность инструмента генерировать и отправлять большое количество запросов за небольшое время.
На основе обзора предметной области и установленных требований были определены базовые функции разрабатываемого инструмента. Они включают в себя возможность вставки JSON-запросов через поле ввода или загрузку из файла, возможность удаления неправильных введенных данных, генерацию различных вариантов JSON на основе введенных параметров, а также возможность копирования и сохранения сгенерированных данных в файлы формата .json. Кроме того, предусмотрена функция отправки одного или всех сгенерированных запросов на заданный сервер и получение обратных ответов.
Вышеперечисленный базовый функционал десктопного приложения значительно упрощает ручное тестирование бэкэнд части, что способствует экономии времени и повышению эффективности проверки серверного ПО.
Таким образом, создание специализированного инструмента для автоматизации тестирования бэкэнд приложений является актуальной задачей, направленной на повышение надежности и стабильности информационных систем [1], что способствует повышению качества пользовательского опыта и снижению рисков возникновения серьезных технических проблем.



1. Kacker R. N. A model for t-way fault profile evolution during testing / R. N. Kacker, D. R. Kuhn, Y. Lei // IEEE International Conference on Software Testing, Verification and Validation. - 2017. - P. 425-432.
2. Суханов В. И. Разработка веб-приложений на платформе spring / В. И. Суханов. - Екатеринбург : Изд-во Урал. фед. ун-та, 2023. - 180 с.
3. Java 18: новые функции и улучшения // Oracle. - URL:
https://www.oracle.com/java/technologies/javase/18-relnote-issues.html (дата
обращения: 10.04.2024).
4. Основы автоматизации тестирования: Unit-тесты, интеграционные тесты, нагрузочное тестирование // Software Testing Help.- URL: https://www.softwaretestinghelp.com/the-difference-between-unit-integration-and- functional-testing/ (дата обращения: 18.05.2024).
5. Власенко О. Ф. Основы программирования на Java. Разработка GUI : методические указания / О. Ф. Власенко. - Ульяновск : УлГТУ, 2015. - 101 с.
6. Полное руководство по тестированию API // Astera. - URL:
https://www.astera.com/ru/type/blog/the-ultimate-guide-to-api-testing/ (дата
обращения: 20.04.2024).
7. Макгрегор Дж. Тестирование объектно-ориентированного программного обеспечения : практическое пособие / Дж. Макгрегор, Д. Сайкс. - М. : DiaSoft, 2002. - 432 c.
8. Буэно А. С. Тестирование Java микросервисов: использование Arquillian, Hoverfly, AssertJ, JUnit, Selenium и Mockito / А. С. Буэно, Э. Гумбрехт, Дж. Портер. - Shelter Island : Manning Publications Co, 2018. - 426 с.
9. Class JSONObject // Oracle. - URL:
https://docs.oracle.com/cd/F10042 01/reference-java-
api/oracle/adfmf/json/JSONObject.html (дата обращения: 18.05.2024).
10. Srivastava N. Software and Performance Testing Tools / N. Srivastava, U. Kumar, P Singh // Journal of Informatics Electrical and Electronics Engineering. — 2021. — Vol. 02, Iss. 01, S. No. 001. — P 1-12. — URL: https://doi.org/10.54060/JIEEE/002.01.001 (access date: 18.05.2024).



Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ