В современном мире требования пользователей к производительности ПО постоянно растет и система «BI.ZONE EDR» не является исключением, что делает задачу обеспечения высокой производительности и стабильности программных продуктов крайне актуальной.
Данная работа направлена на решение этой задачи путем разработки и внедрения специализированного инструмента для тестирования производительности серверной части системы «BI.ZONE EDR» с последующим внедрением в инфраструктуру компании для внутреннего использования.
Заказчиком является компания «BI.ZONE», которой были установлены ограничения согласно внутреннему регламенту о применении технологий для разработки и поддержки инструментов и продуктов компании. Согласно регламенту, разрешено использование языков программирования «Golang» и «Python». Также заказчиком были озвучены требования к инструменту тестирования производительности.
В процессе тестирования RC системы «BI.ZONE EDR» применяются функциональные виды тестирования, такие как ручное, регрессионное и автоматизированное тестирование. Однако, такие виды тестирования, хотя и эффективны для проверки отдельных аспектов работы системы, не позволяют оценить ее производительность в условиях реальных нагрузок. В результаты возникают сложности с обоснованием системных требований для системы «BI.ZONE EDR» и с планированием количества ресурсов необходимых для развертывания системы.
Для решения вышеописанных проблем требуется внедрение нефункционального тестирования, а именно - тестирование производительности. Данный вид тестирования позволяет оценить, как система будет вести себя под различными сценариями нагрузки, выявить потенциальные узкие места и возможные проблемы, связанные с производительностью серверной части системы «BI.ZONE EDR». Данные полученные в результате проведенного тестирования производительности позволят локализовать проблемы и принять соответствующие меры по их устранению. В связи с этим была поставлена цель: разработать и внедрить инструмент тестирования производительности серверной части системы «BI.ZONE EDR».
Для достижения поставленной цели были определены следующие задачи:
1. Проанализировать и сформулировать требования на основе пожеланий заказчика.
2. Изучить существующие реализации систем тестирования производительности.
3. Исследовать и выбрать оптимальные инструменты для разработки инструмента тестирования производительности серверной части системы «BI.ZONE EDR».
4. Провести анализ предметной области.
5. Спроектировать инструмент.
6. Разработать инструмент.
7. Внедрить инструмент в процесс тестирования RC.
Решению вышеописанных задач посвящена данная выпускная квалификационная работа.
В результате выполнения данной выпускной квалификационной работы были в полном объеме решены все поставленные задачи.
В ходе работы были разработаны пробные версии инструментов тестирования производительности, с помощью которых были выполнены простые сценарии производительности. На основе результатов выполнения сценариев и сравнения возможностей инструментов было выбрано оптимальное решение - «Yandex Pandora», с использованием которого был достигнута цель данной работы. Главная особенность разработанного инструмента - имитация взаимодействия между EDR-агентом и EDR- сервером, которые являются компонентами системы «BI.ZONE EDR».
Разработанный инструмент был передан заказчику для оценки производительности системы. Инструмент был одобрен для внутреннего применения и внедрен в инфраструктуру компании. Использование инструмента для тестирования производительности в процессе тестирования RC системы «BI.ZONE EDR» позволило достичь следующих результатов:
• Уточнены системные требования системы «BI.ZONE EDR».
• Сформулированы системные требования для разных конфигураций и количества EDR-агентов.
• Выявлены дефекты, снижающие производительность системы «BI.ZONE EDR».
В будущем возможности инструмента будут расширены для работы с другими компонентами системы «BI.ZONE EDR».
1. Алгоритмы для начинающих: теория и практика для разработчика : пер. с англ. Егоровой Е.М. / Луридас П. — М. : Эксмо, 2020. — 608 с.
2. Документация Yandex Pandora // Yandex Pandora. — [Б. м.], 2024. - URL: https://yandex.github.io/pandora (дата обращения: 2.12.2024).
3. Новейшая энциклопедия персонального компьютера / Леонтьев В.П. — М. : ОЛМА-ПРЕСС Образование, 2006. — 896 с.
4. Приемы объектно-ориентированного программирования. Паттерны
проектирования / Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. — М. : Питер, 2018. — 368 с.
5. Программа подготовки ISTQB Базового уровня v4.0.1 // RSTQB. — [Б. м.], 2025. - URL: https://www.rstqb.org/ru/istqb-downloads.html?file=files/content/rstqb/downloads/ISTQ- B%20Downloads/ISTQB_CTFL_PT_Syllabus_2018_RU-2.pdf&cid=28951 (дата обращения: 17.03.2025).
6. Программа подготовки ISTQB Базовый уровень - Тестирование Производительности // RSTQB. — [Б. м.], 2018. - URL: https://www.rstqb.org/ru/istqb- downloads.html?file=files/content/rstqb/downloads/ISTQB%20Downloads/ISTQB_CTFL_PT_ Syllabus_2018_RU-2.pdf&cid=28951 (дата обращения: 17.03.2025).
7. Разработка требований к программному обеспечению : 3-е изд., дополненное, пер. с англ. / Вигерс К., Битти Д. — М. : БХВ-Петербург, 2014. — 736 с.
8. Серьезность и Приоритет Дефекта // Protesting. — [Б. м.], 2024. - URL:
https://protesting.it/testing/bugpriority.html (дата обращения: 14.12.2024).
9. Что такое mTLS? Полное руководство по взаимной аутентификации TLS // SSL
Dragon. — [Б. м.], 2025. - URL: https://www.ssldragon.com/ru/blog/what-is-mtls (дата
обращения: 10.04.2025).
10. BI.ZONE EDR // BI.ZONE. — [Б. м.], 2024. - URL:
https://bi.zone/catalog/products/edr (дата обращения: 3.11.2024).
11. CI/CD pipelines // GitLab Docs. — [Б. м.], 2025. - URL:
https://docs.gitlab.com/ci/pipelines (дата обращения: 15.04.2025).
12. Golang для профи: работа с сетью, структуры данных и машинное обучение с Go : пер. с англ. / Цукалос М. — М. : Питер, 2019. — 720 с.
13. Site Reliability Engineering. Надежность и безотказность как в Google / Байер Б., Джоунс К., Петофф Д., Мёрфи Н. - М. : Питер, 2021. - 592 с.