Найти в Дзене

Vanessa Automation для оптимизации производительности кластера серверов 1С

Впервые мне довелось принять онлайн участие в XXV Международной научно-практической конференции «Новые информационные технологии в образовании», проводившейся 4–5 февраля 2025 года. Это ежегодное мероприятие, организуемая компанией «1С», направленная на обсуждение актуальных вопросов внедрения новейших технологий в образовательный процесс и обмен практическим опытом среди специалистов. Второй день конференции был полностью посвящен студентам: их ожидала насыщенная программа с множеством интересных событий, разнообразными мероприятиями и мастер-классами. Хочу выделить несколько выступлений, которые распределил по тематическим направлениям: использование инструмента Vanessa Automation, организация процесса разработки и новый взгляд на искусственный интеллект. Доклады в рамках темы «Процесс разработки»: Доклады в рамках темы «Тестирование»: В своём докладе Роман Сущеня поделился небольшой частью своей кандидатской работы — а именно применением сценарного тестирования с помощью инструмента

Впервые мне довелось принять онлайн участие в XXV Международной научно-практической конференции «Новые информационные технологии в образовании», проводившейся 4–5 февраля 2025 года.

Это ежегодное мероприятие, организуемая компанией «1С», направленная на обсуждение актуальных вопросов внедрения новейших технологий в образовательный процесс и обмен практическим опытом среди специалистов.

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

Хочу выделить несколько выступлений, которые распределил по тематическим направлениям: использование инструмента Vanessa Automation, организация процесса разработки и новый взгляд на искусственный интеллект.

Доклады в рамках темы «Процесс разработки»:

Доклады в рамках темы «Тестирование»:

  • Применение сценарного тестирования с Vanessa Automation для оптимизации производительности кластера серверов 1С: от автоматизации тестов до повышения отказоустойчивости (Роман Сущеня, аспирант МГТУ «Станкин»)
Скрин титульного слайда доклада «Применение сценарного тестирования с Vanessa Automation для оптимизации производительности кластера серверов 1С: от автоматизации тестов до повышения отказоустойчивости»
Скрин титульного слайда доклада «Применение сценарного тестирования с Vanessa Automation для оптимизации производительности кластера серверов 1С: от автоматизации тестов до повышения отказоустойчивости»

В своём докладе Роман Сущеня поделился небольшой частью своей кандидатской работы — а именно применением сценарного тестирования с помощью инструмента Vanessa Automation для повышения производительности и отказоустойчивости серверов.

Во введении было дано определение понятия «Тестирование» как процесса, обеспечивающего проверку работоспособности программного решения.

Скрин слайда презентации с определением и основными целями процесса тестирования
Скрин слайда презентации с определением и основными целями процесса тестирования

С какой целью? Убедиться, что программный продукт работает корректно, безопасно и удобен для пользователей: то есть искать ошибки, проверять функциональность, оценивать производительность, тестировать безопасность, улучшать юзабилити и так далее. Разумеется, включая проверку пользовательского опыта.

Но что же такое сценарное тестирование? Это метод автоматизированного тестирования, при котором моделируется полноценный сценарий пользователя в системе. То есть проверяется не отдельные элементы: кнопки, поля и т.д., а полностью весь рабочий процесс — от начала до конкретного действия. Например, открыл нужный интерфейс, кликнул нужную кнопку, ввёл заданное значение и так далее.

Скрин слайда презентации с определением понятия «сценарное тестирование», его целями и ключевыми особенностями
Скрин слайда презентации с определением понятия «сценарное тестирование», его целями и ключевыми особенностями

Цель — находить ошибки в сценариях работы, что значительно проще и удобнее благодаря автоматизации.

И, конечно же, для этого в рамках платформы 1С существуют несколько разных продуктов: «1С:Тестировщик», «1С:Сценарное тестирование», «1С:Корпоративный инструментальный пакет».

Скрин слайда презентации с перечнем инструментов, участвующих в построении процесса тестирования
Скрин слайда презентации с перечнем инструментов, участвующих в построении процесса тестирования

Возникает вопрос: столько продуктов — зачем нам Vanessa Automation?

Во-первых, бесплатно. Vanessa Automation — open source, свободно распространяемый на GitHub и поддерживаемый одним из разработчиков фирмы «1С».

Второе. «1С:Тестировщик» и «1С:Сценарное тестирование» по сути являются высокоуровневыми обёртками к API платформы, поэтому Vanessa Automation ничем от них принципиально не отличается. Другой интерфейс и язык, но в целом работает точно так же.

«1С:Корпоративный инструментальный пакет» включает в себя «Стандартный нагрузочный тест», «Центр управления производительностью» (ЦУП) и «Тест-центр». Представленные инструментарий действительно решают различные задачи, включая тестирование, однако необходимую задачу решить не позволяют: полноценно смоделировать нужную модель поведения пользователей.

Здесь я позволю себе внести некоторые уточняющие моменты.
Первое. Роман выделяет инструменты «1С:Тестировщик» и «1С:Сценарное тестирование». Возможно, это сделано намерено. И все же стоит уточнить, что данные инструменты являются частью «1С:Корпоративный инструментальный пакет».
Второе. «1С:Корпоративный инструментальный пакет» содержит следующие инструменты:
- Центр управления производительностью;
- Тест-центр;
- Стандартный нагрузочный тест;
- Центр контроля качества;
- Сценарное тестирование;
- Центр администрирования.
Если попробовать провести параллели с типами тестирования, то можно сказать, что инструменты «1С:Тестировщик» и «1С:Сценарное тестирование» относятся к функциональному тестированию, а «Центр управления производительностью», «Тест-центр», «Стандартный нагрузочный тест» и «Центр контроля качества» - это нефункциональное тестирование, которое позволяет оценить надежность, производительность, масштабируемость, безопасность и другие характеристики качества программного продукта.

Перейдем к разговору о том, что же такое Vanessa Automation?

Скрин слайда презентации, демонстрирующий инструмент Vanessa Automation
Скрин слайда презентации, демонстрирующий инструмент Vanessa Automation

Это инструмент для автоматизации тестирования решений на платформе «1С:Предприятие», а также, что немаловажно, для создания автодокументаций. Иными словами, ничто не мешает доработать сценарий тестирования и превратить его в полноценный рабочий документ, который можно распечатать либо создать видеоролик с интерактивными действиями и озвучкой. Всё это позволяет сделать Vanessa Automation.

Какие у неё основные возможности?

Скрин слайда презентации, демонстрирующий основные возможности инструмента Vanessa Automation
Скрин слайда презентации, демонстрирующий основные возможности инструмента Vanessa Automation

Первое — это сценарное тестирование, то есть моделирование операций пользователя.

Второе — это автоматизация тестов.

Третье — формирование отчетности. По отчетам Vanessa Automation видно как в программе взаимодействуют разные блоки, сколько времени уходит на каждую операцию и так далее. Отчеты сохраняются в различных форматах: Allure, JUnit, JSON или обычный текстовый файл.

Четвертое — это легкость интеграции. Все инструменты, которые перечислены ранее — «1С:Тестировщик», «1С:Сценарное тестирование», «1С:Корпоративный инструментальный пакет» — это полноценные конфигурации, требующие отдельной установки шаблонов и базы. Vanessa Automation — обычная обработка, следовательно, её проще интегрировать, особенно туда, куда по разным причинам доступ закрыт.

И последнее, самое ключевое — это механизм «накликивания» (запись действий пользователя). Нет необходимости знать ни язык Gherkin для написания сценариев, ни внутренние механизмы платформы. Открываете режим пользователя, кликаете мышью нужные элементы — всё! Vanessa Automation сама записывает эти действия и формирует сценарий тестирования.

В чём преимущество автоматизации?

Скрин слайда презентации, демонстрирующий преимущества автоматизации процесса тестирования
Скрин слайда презентации, демонстрирующий преимущества автоматизации процесса тестирования

Время сокращаем, качество повышаем — стабильность процесса растёт вместе с ними. И, конечно, поддержка CI/CD — полноценная интеграция.

И теперь к разговору о том, нужно ли вообще учиться тестированию? Очевидно, нужно. Тестирование — один из ключевых современных IT-навыков. Оно обеспечивает качество и безопасность наших программных продуктов, со временем экономит средства и, даже, способно автоматически создавать документацию.

Про основы работы в Vanessa Automation, и в частности — про создание документаций, существует небольшой курс. Его можно посмотреть, перейдя по QR-коду.

Скрин слайда презентации, несущий посыл к образованию в навыке автоматизированного тестирования программного обеспечения
Скрин слайда презентации, несущий посыл к образованию в навыке автоматизированного тестирования программного обеспечения

Задача по оптимизации производительности кластера серверов 1С

Но всё-таки перейдём к сути: что именно тестировали, зачем и как помогла Vanessa Automation?

Скрин слайда презентации, демонстрирующий требования решаемой задачи
Скрин слайда презентации, демонстрирующий требования решаемой задачи

Жила-была внутренняя база автоматизации, в которой нужно было автоматизировать и настроить формирование сложной аналитической отчетности. Пару раз в неделю, во вторник и в пятницу, примерно в одно и то же время 10 клиентских приложений подключались к базе и начинали формировать внутренние отчёты. Не раскрываем подробности, поскольку речь идёт о внутренней базе компании «1С», ограничимся общими формулировками.

Сколько это занимало времени?

Кто сталкивался с работой системы «1С» на крупных предприятиях, знают, что подготовка некоторых отчётов порой длится несколько часов. Но в нашем случае всё происходило быстрее: примерно 15–20 минут занимало формирование каждого отчета при их одновременном запуске. Конечно, и такой срок был уже чересчур длительным.

Что происходило при формировании отчетности?

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

На что обращаем внимание?

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

Что было до того, как занялись оптимизацией?

10 отчётов напрягают сервер: до 20% растёт потребление оперативной памяти, а использование мощностей центрального процессора увеличивается на 26%. Все это происходит при наличии КОРП лицензии, которая задействует все 24 ядра, и при достатке оперативной памяти.

Разумеется, были «провисания» сеансов у всех пользователей, о чём уже говорилось ранее.

Скрин слайда презентации, демонстрирующий результат оптимизации решаемой задачи
Скрин слайда презентации, демонстрирующий результат оптимизации решаемой задачи

Что сделали в первую очередь?

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

Что конкретно сделано на сервере?

Первое. Принято решение добавить в наш кластер ещё одну машину — дополнительный сервер.

Второе. Развернуть механизмы «Копии баз данных» и «Дата акселератор». То есть копируем базу со всей информацией, переносим её на отдельный сервер и прямо в оперативной памяти разворачиваем — таким образом на порядок быстрее получаем любую отчётность.

Какой результат получился в итоге после всех этих манипуляций?

Первое. Снизилась нагрузка: стала +4 ОЗУ и где-то +8–10 ЦПУ. То есть теперь она полностью перешла на другой сервер — дополнительный.

Второе. Скорость формирования отчетности увеличилась в 2,5 раза: ранее она составляла около 15–20 минут, сейчас занимает примерно 8–10 минут.

И напоследок, Vanessa Automation — это серьёзный продукт. Да, open source. Да, бесплатный. Любой разработчик может зайти и доработать его под свои нужды. Некоторые функции пока не доведены до окончательного рабочего состояния, но для справки: знаете такой продукт, как «1C:ERP»? Наверняка многие слышали про флагманское решение компании «1C». А теперь вопрос: что применяется для тестирования отдельных модулей этой системы?

Собственно, с поиском ответа на этот риторический вопрос, заканчивается данный доклад.

И всех благодарю за внимание!

Спасибо за внимание!
Спасибо за внимание!