Автоматизация формирования пользовательских сценариев на основе анализа структуры приложения, разработанного с использованием фреймворка Laravel
Курсовая
Краткое описание работы:
Данная работа посвящена решению проблемы высокой трудоемкости ручного создания тестовых моделей для веб-проектов на базе фреймворка Laravel. Актуальность исследования обусловлена необходимостью ускорения цикла разработки и повышения качества программного обеспечения через внедрение инструментов интеллектуального анализа исходного кода. Целью изыскания является проектирование и реализация алгоритма, способного автоматически генерировать пользовательские сценарии путем исследования маршрутов, контроллеров и связей внутри структуры приложения. В ходе исследования решаются задачи по изучению архитектурных особенностей фреймворка, разработке парсера метаданных и верификации полученных сценариев на контрольных примерах.
Итог работы
Создан алгоритм автогенерации сценариев Laravel, сокращающий трудозатраты на тестирование системы.
Актуальность
Актуальность темы обусловлена ростом сложности веб-систем на Laravel и необходимостью сокращения затрат на ручное создание тестов. Автоматизация анализа структуры кода позволяет ускорить цикл разработки и минимизировать ошибки, обеспечивая научный подход к интеллектуальному тестированию ПО.
Цель
Разработка и реализация алгоритма автоматической генерации сценариев на основе структуры Laravel.
Задачи
1. Изучить архитектурные особенности Laravel для выявления ключевых метаданных. 2. Разработать алгоритм и парсер для извлечения связей между маршрутами и контроллерами. 3. Провести верификацию сгенерированных сценариев на контрольных примерах для оценки точности работы системы.
Предпросмотр документа
Автоматизация формирования пользовательских сценариев на основе анализа структуры приложения, разработанного с использованием фреймворка Laravel
Содержание
ВВЕДЕНИЕ
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ АНАЛИЗА СТРУКТУРЫ ПРИЛОЖЕНИЙ НА БАЗЕ LARAVEL
1.1 Архитектурные паттерны и организация метаданных в экосистеме Laravel
1.2 Роль пользовательских сценариев в обеспечении качества программного продукта
1.3 Обзор существующих подходов к автоматизации тестирования веб-систем
ГЛАВА 2. МЕТОДОЛОГИЯ АВТОМАТИЗИРОВАННОГО ИЗВЛЕЧЕНИЯ ПОЛЬЗОВАТЕЛЬСКИХ ПУТЕЙ
2.1 Алгоритмы статического анализа маршрутов и контроллеров приложения
2.2 Моделирование логики взаимодействия пользователя с интерфейсом на основе связей данных
2.3 Формирование графа переходов как основы для генерации сценариев
ГЛАВА 3. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ИНСТРУМЕНТАРИЯ ГЕНЕРАЦИИ СЦЕНАРИЕВ
3.1 Требования к программному модулю анализа структуры кода
3.2 Реализация парсера метаданных и механизмов сопоставления бизнес-логики
3.3 Интерфейс взаимодействия и форматы вывода сформированных сценариев
ГЛАВА 4. АПРОБАЦИЯ И ОЦЕНКА ЭФФЕКТИВНОСТИ ПРЕДЛОЖЕННОГО РЕШЕНИЯ
4.1 Тестирование разработанного алгоритма на контрольных веб-проектах
4.2 Сравнительный анализ временных затрат на ручное и автоматическое создание сценариев
4.3 Оценка полноты покрытия функционала и точности сгенерированных моделей
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
ВВЕДЕНИЕ
Современная индустрия разработки программного обеспечения характеризуется стремительным сокращением циклов поставки продуктов и постоянным усложнением архитектурных решений. В условиях жесткой конкуренции и высоких требований к качеству веб-приложений, автоматизация процессов тестирования и верификации становится не просто преимуществом, а производственной необходимостью. Фреймворк Laravel, являясь одним из наиболее востребованных инструментов для создания сложных информационных систем на языке PHP, предоставляет разработчикам гибкие механизмы проектирования, однако ручное описание пользовательских сценариев для таких систем остается трудоемким и подверженным ошибкам процессом [1]. Актуальность данной работы обусловлена потребностью в минимизации человеческого фактора и ускорении этапа проектирования тестовых моделей за счет использования внутренних метаданных самого приложения.
Проблема исследования заключается в наличии существенного разрыва между архитектурной сложностью современных веб-сервисов и методами описания логики взаимодействия пользователя с системой. Традиционные подходы к формированию сценариев зачастую опираются на субъективное восприятие аналитика или неполную документацию, что ведет к пропускам критических путей навигации. Автоматизация этого процесса на основе анализа структуры кода, маршрутизации и контроллеров позволяет достичь высокой степени соответствия между реальной программной логикой и набором проверочных сценариев. Использование строгой структуры Laravel создает благоприятные условия для извлечения формализованных данных о возможных действиях пользователя, что открывает новые перспективы для интеллектуального анализа программных систем [2].
Объектом исследования является процесс проектирования пользовательских сценариев в рамках жизненного цикла разработки веб-приложений. Предметом исследования выступают алгоритмы и программные средства автоматизированного формирования данных сценариев на основе анализа структурных компонентов фреймворка Laravel, таких как файлы маршрутов, методы контроллеров и посредники. Целью курсовой работы является разработка и теоретическое обоснование методики автоматической генерации последовательностей пользовательских действий путем исследования внутренней архитектуры приложения. Для достижения поставленной цели необходимо решить ряд задач: изучить специфику организации метаданных в Laravel, разработать алгоритм парсинга структурных единиц кода, спроектировать модель преобразования извлеченных данных в логические сценарии и провести апробацию полученного инструментария на практических примерах.
Методологическую основу работы составляют методы системного анализа, теория графов и принципы статического анализа исходного кода. В процессе исследования применяются дедуктивные методы для перехода от общих архитектурных паттернов к частным случаям реализации пользовательских путей. Научная новизна исследования заключается в предложенном способе интеграции инструментов анализа кода непосредственно в процесс формирования требований к тестированию, что позволяет синхронизировать состояние документации с актуальной версией программного продукта [3]. Практическая значимость работы подтверждается возможностью внедрения разработанных алгоритмов в существующие конвейеры непрерывной интеграции и разработки, что существенно снижает нагрузку на специалистов по обеспечению качества и повышает общую надежность выпускаемых цифровых решений.