Отправьте статью сегодня! Журнал выйдет ..., печатный экземпляр отправим ...
Опубликовать статью

Молодой учёный

Разработка системы роботизации обработки неструктурированных данных для поиска

Информационные технологии
13.07.2025
12
Поделиться
Библиографическое описание
Козин, А. Е. Разработка системы роботизации обработки неструктурированных данных для поиска / А. Е. Козин. — Текст : непосредственный // Молодой ученый. — 2025. — № 29 (580). — С. 6-10. — URL: https://moluch.ru/archive/580/127641/.


В статье автор исследует взаимосвязь архитектурных решений разработанного микросервисного прототипа системы роботизированной автоматизации процессов RPA_SOFT и его фактических эксплуатационных характеристик. Предложенная методика охватывает модульные, интеграционные, приемочные, нагрузочные тесты и тесты безопасности, встроенные в конвейер CI/CD (методология непрерывной интеграции и непрерывного развертывания ПО). При одновременной работе 10 виртуальных пользователей обработано 1760 HTTP-запросов без отказов; среднее время обработки запроса составило 12,61 мс, максимальная задержка — 77,05 мс. Доверительный интервал (98 %) средней длительности одной итерации (при общем количестве итераций n = 578) находится в диапазоне 1037,84–1041,64 мс, что подтверждает стабильность производительности. Покрытие кода достигло 94 % в API-шлюзе (далее — api-gateway) и 82 % в сервисе аутентификации (далее — auth-service) и сервисе управления доступом (далее — dp-service); выявленные логические ошибки устранены. Тесты безопасности подтвердили защищенность от кибератак, использующих NoSQL-инъекции и обход системы контроля доступа на основе ролей (RBAC). Результаты демонстрируют соответствие прототипа требованиям времени отклика (не больше 3 с) для 98 % запросов и обосновывают готовность к пилотной эксплуатации.

Ключевые слова: роботизированная обработка процессов, микросервисная архитектура, нагрузочное тестирование, DevTestOps, безопасность API.

Введение

Современные процессы цифровой трансформации во многих отраслях экономики приводят к экспоненциальному росту объемов неструктурированных данных, таких как документы, изображения, пользовательские журналы и мультимедийные материалы. Ручная обработка этих данных сопряжена с высоким уровнем трудоемкости, существенными временными затратами и риском возникновения ошибок, обусловленных человеческим фактором. В качестве одного из эффективных решений проблемы автоматизации выступают технологии роботизированной обработки процессов (Robotic Process Automation, RPA), которые позволяют существенно снизить издержки, повысить производительность и обеспечить воспроизводимость результатов. Вместе с тем успешность таких систем напрямую зависит от двух важнейших факторов: надежности архитектуры, способной выдерживать растущие нагрузки и частичные отказы, и качества программного обеспечения, проверенного с использованием современных методик тестирования.

В данной статье представлены результаты комплексного тестирования прототипа микросервисной системы роботизированной обработки неструктурированных данных RPA_SOFT, разработанного для торгово-логистических компаний. Целью исследования стало подтверждение функциональной и нефункциональной готовности системы к пилотной эксплуатации, оценка ее производительности, безопасности и устойчивости к отказам в условиях, максимально приближенных к реальным.

Технические характеристики системы, заложенные в требованиях заказчика, предусматривали обеспечение времени отклика API не более 3 с для 98 % запросов при одновременной работе до пяти пользователей и минимум 10 параллельных процессов обработки документов. Для достижения поставленных целей были использованы современные подходы DevTestOps, которые подразумевают непрерывное тестирование на всех этапах разработки. Испытания включали в себя автоматические модульные и интеграционные тесты, нагрузочные проверки производительности, а также тесты безопасности, реализованные в рамках единого CI/CD-конвейера проекта.

Научная новизна работы заключается в комплексном подходе к тестированию микросервисной архитектуры RPA-системы, обеспечивающей автоматизированную обработку разнотипных данных в виртуализированной среде. Методика испытаний содержала как традиционные техники оценки покрытия кода, времени отклика и безопасности, так и нестандартные сценарии, такие как отказ одного из сервисов и проверка корректности работы системы в условиях интенсивной нагрузки.

Полученные результаты могут служить ориентиром для дальнейшего совершенствования самой системы и формирования унифицированной методики оценки RPA-решений.

Методы

В рамках исследования была использована комплексная методика испытаний, включающая несколько типов проверок, обеспечивающих всестороннюю оценку работоспособности системы RPA_SOFT.

Модульные и интеграционные тесты были реализованы с использованием фреймворка Jest — популярного инструмента для тестирования кода, написанного на языке JavaScript. Jest позволяет проверять отдельные компоненты системы и их взаимодействие. Покрытие кода тестами оценивалось при помощи встроенных средств Jest и дополнительных инструментов анализа кода.

Для проведения нагрузочных тестов применялось ПО K6, которое позволяло моделировать реальную пользовательскую нагрузку и фиксировать метрики производительности, такие как среднее время ответа и процентиль задержек. Сценарии нагрузочных тестов имели различные профили нагрузки с целью проверки системы в условиях, близких к реальной эксплуатации.

Тестирование безопасности осуществлялось по заранее разработанным чек-листам, которые включали проверку на наличие уязвимостей, типичных для веб-приложений и API; контроль авторизации; обработку исключений; защиту от кибератак в виде инъекций и другие аспекты.

Приемочное тестирование системы выполнялось с использованием фреймворка Cypress, который позволял автоматизировать проверку пользовательских сценариев взаимодействия с системой через интерфейс. Тестовые сценарии включали как стандартные операции, так и нестандартные случаи использования, обеспечивая тем самым всестороннюю оценку качества реализации пользовательского интерфейса и бизнес-логики системы.

Все этапы испытаний были интегрированы в единый процесс CI/CD, что позволило автоматизировать выполнение проверок, обеспечить оперативность получения результатов и быстрое реагирование на обнаруженные проблемы.

Результаты

В рамках научного исследования была реализована и протестирована версия прототипа системы RPA_SOFT. Экспериментальные исследования охватывали ключевые аспекты функционирования системы: от отдельных функций микросервисов до полной цепочки пользовательского взаимодействия, включая работу под нагрузкой и защиту от внешних угроз. Все тесты проводились в контролируемой среде с использованием автоматизированных инструментов.

Для обеспечения полноты и воспроизводимости испытаний предварительно была разработана программа и методика предварительных комплексных испытаний системы, определявшая цели, последовательность и подходы к проверке всех компонентов. На ее основе проведены модульные, интеграционные, приемочные, нагрузочные тесты и тесты безопасности, охватывавшие реализацию основных функций системы. По завершении испытаний составлен протокол предварительных комплексных испытаний, зафиксировавший результаты и перечень необходимых доработок.

В рамках модульного тестирования для проверки отдельных компонентов были написаны и выполнены unit-тесты микросервисов: auth-service, dp-service, api-gateway. Охвачены критически важные функции: регистрация, вход пользователя, валидация токенов, обработка CSV-файлов и работа сессий. Тестирование выполнено с использованием фреймворков Jest и Mocha, а также библиотеки Sinon. Среднее покрытие составило: api-gateway — 94 % по строкам и 90 % по ветвлениям; dp-service и auth-service —82 % по строкам и 76 % по ветвлениям. В ходе тестирования выявлены и устранены три логические ошибки, подтвержденные логами выполнения (файлами журнала событий). Компоненты показали стабильную работу в изолированной среде.

Интеграционное тестирование подтвердило согласованность взаимодействий микросервисов. Реализованы сценарии, эмулирующие действия пользователя: регистрация, авторизация, передача и обработка файлов через api-gateway и dp-service. При этом использовался фреймворк Mocha и библиотеки Chai и Supertest. Все цепочки выполнены успешно, максимальное время ответа интеграционного запроса не превысило 750 мс. Тестирование показало устойчивость системы в сквозной проверке маршрутов между auth-service, api-gateway и dp-service.

Нагрузочное тестирование проводилось с помощью ПО K6 при одновременной работе 10 виртуальных пользователей, выполнявших непрерывные обращения к API. За время прогона обработано 1760 HTTP-запросов без отказов (0 %). Среднее время обработки HTTP-запроса составило 12,61 мс (в диапазоне 12,06–13,16 мс), а среднее время ожидания ответа сервера — 11,53 мс (в диапазоне 11,03–12,02 мс) при уровне доверия 98 % (см. рис. 1) [1]. Максимальная зафиксированная задержка не превысила 77,05 мс. Анализ доверительного интервала длительности итерации (см. рис. 2) показал [2], что при том же уровне доверия среднее значение одной итерации равно 1039,74 мс (σ = 13,03; n = 578) и лежит в пределах 1037,84–1041,64 мс, что подтверждает стабильность системы под нагрузкой. Во время стресс-теста наблюдалось лишь умеренное замедление при обработке крупных CSV-файлов, не приводившее к сбоям. Система продемонстрировала высокую консистентность данных и стабильную производительность.

Средние значения HTTP-метрик [1, с. 5]

Рис. 1. Средние значения HTTP-метрик [1, с. 5]

Диаграмма доверительного интервала длительности итерации [2, с. 5]

Рис. 2. Диаграмма доверительного интервала длительности итерации [2, с. 5]

В рамках тестирования безопасности системы реализованы сценарии моделирования внешних угроз: NoSQL-инъекции, подмена идентификаторов, обход прав доступа. Использованы фреймворк Jest и специализированные скрипты. Все попытки атак были успешно блокированы без утечек данных: возвращались статусы 400 (неправильный запрос) или 403 (доступ запрещен). RBAC-защита корректно ограничила доступ на основе ролей, публичные маршруты не раскрывали сессионные куки (временные файлы, сохраняющиеся в браузере пользователя, пока он находится на сайте).

Приемочное тестирование, организованное с помощью фреймворка Cypress, подтвердило корректность работы пользовательского интерфейса и системы в соответствии с пользовательскими сценариями, включая пограничные условия и негативные сценарии. Все сценарии завершились успешно.

Испытания подтвердили функциональную готовность системы. По итогам тестов составлен протокол, фиксирующий результаты и рекомендации по доработкам. Выявленные ошибки устранены, система соответствует нормативам технического задания по времени отклика, устойчивости к нагрузкам и защите от внешних угроз. Таким образом, прототип системы RPA_SOFT признан технически состоятельным и готовым к опытной эксплуатации.

Заключение

Результаты проведенных испытаний подтвердили функциональную и техническую состоятельность прототипа системы RPA_SOFT. Проведенные модульные, интеграционные, приемочные, нагрузочные тесты и тесты безопасности охватили все ключевые аспекты архитектуры и обеспечили объективную оценку готовности к этапу опытной эксплуатации. Система показала стабильную работу как при штатных, так и при нагрузочных сценариях, корректно обрабатывая пользовательские действия и защищаясь от типичных угроз. Все заданные техническим заданием требования по времени отклика, отказоустойчивости и изоляции прав доступа были выполнены.

Анализ проблем, выявленных в процессе испытаний, позволил сформировать список первоочередных доработок, направленных на повышение устойчивости и расширение функционала (включая автоматизированный мониторинг, журналирование событий, а также резервное копирование и восстановление данных). Полученные результаты демонстрируют практическую применимость разработанных решений и создают основу для последующего масштабирования и внедрения системы в продуктивной среде.

Литература:

  1. Топ-9 JavaScript Testing Frameworks. — Текст : электронный // BrowserStack : [сайт]. — URL: https://www.browserstack.com/guide/top-javascript-testing-frameworks (дата обращения: 13.05.2025).
  2. Python Automated Testing: Framework and Examples. — Текст : электронный // QA Touch : [сайт]. — URL: https://www.qatouch.com/blog/python-automated-testing/ (дата обращения: 13.05.2025).
  3. Software Testing Metrics: Types, Calculations, and Examples. — Текст : // ACCELQ : [сайт]. — URL: https://www.accelq.com/blog/software-testing-metrics/ (дата обращения: 13.05.2025).
  4. What is NodeJS Testing? A Comprehensive Guide. — Текст : электронный // QAble : [сайт]. — URL: https://www.qable.io/blog/nodejs-testing (дата обращения: 13.05.2025).
  5. Top Node.js Testing Frameworks. — Текст : электронный // Capicúa : [сайт]. — URL: https://www.capicua.com/blog/node-js-testing-frameworks (дата обращения: 13.05.2025).
  6. Jest. OpenJS Foundation. — Текст : электронный // Jest : [сайт]. — URL: https://jestjs.io/docs/getting-started (дата обращения: 13.05.2025).
  7. Mocha. OpenJS Foundation. — Текст : электронный // Mocha : [сайт]. — URL: https://mochajs.org/ (дата обращения: 13.05.2025).
  8. Pytest: helps you write better programs. — Текст : электронный // Pytest : [сайт]. — URL: https://docs.pytest.org/en/stable/ (дата обращения: 13.05.2025).
  9. Grafana k6. — Текст : электронный // Grafana Labs : [сайт]. — URL: https://k6.io/docs/ (дата обращения: 13.05.2025).
  10. Федеральный закон «Об информации, информационных технологиях и о защите информации» от 27.07.2006 № 149-ФЗ // Российская газета.
  11. Федеральный закон «О персональных данных» от 27.07.2006 № 152-ФЗ // Российская газета.
  12. Федеральный закон «О безопасности критической информационной инфраструктуры Российской Федерации» от 26.07.2017 № 187-ФЗ // Российская газета.
  13. Приказ ФСТЭК России «Об утверждении состава и содержания организационных и технических мер по обеспечению безопасности персональных данных при их обработке в информационных системах персональных данных» от 18.02.2013 № 21 // Российская газета.
  14. ГОСТ Р 56939–2016. Безопасность информации. Защита информации. Общие положения // Российская газета.
  15. ГОСТ Р 59792–2021. Информационные технологии. Комплекс стандартов на автоматизированные системы. Виды испытаний автоматизированных систем. — Москва : Издательство стандартов, 2021. — 12 с.
  16. ГОСТ 28195–89. Оценка качества программных средств. Общие положения. — Москва : Издательство стандартов, 2001. — 39 с.
  17. ГОСТ 28806–90. Качество программных средств. Термины и определения. — Москва : Издательство стандартов, 2005. — 8 с.
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Ключевые слова
роботизированная обработка процессов
микросервисная архитектура
нагрузочное тестирование
DevTestOps
безопасность API
Молодой учёный №29 (580) июль 2025 г.
Скачать часть журнала с этой статьей(стр. 6-10):
Часть 1 (стр. 1-69)
Расположение в файле:
стр. 1стр. 6-10стр. 69

Молодой учёный