Впервые мне довелось принять онлайн участие в XXV Международной научно-практической конференции «Новые информационные технологии в образовании», проводившейся 4–5 февраля 2025 года.
Это ежегодное мероприятие, организуемая компанией «1С», направленная на обсуждение актуальных вопросов внедрения новейших технологий в образовательный процесс и обмен практическим опытом среди специалистов.
Второй день конференции был полностью посвящен студентам: их ожидала насыщенная программа с множеством интересных событий, разнообразными мероприятиями и мастер-классами.
Хочу выделить несколько выступлений, которые распределил по тематическим направлениям: использование инструмента Vanessa Automation, организация процесса разработки и новый взгляд на искусственный интеллект.
Доклады в рамках темы «Процесс разработки»:
Доклады в рамках темы «Тестирование»:
- Применение сценарного тестирования с 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?
Это инструмент для автоматизации тестирования решений на платформе «1С:Предприятие», а также, что немаловажно, для создания автодокументаций. Иными словами, ничто не мешает доработать сценарий тестирования и превратить его в полноценный рабочий документ, который можно распечатать либо создать видеоролик с интерактивными действиями и озвучкой. Всё это позволяет сделать 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». А теперь вопрос: что применяется для тестирования отдельных модулей этой системы?
Собственно, с поиском ответа на этот риторический вопрос, заканчивается данный доклад.
И всех благодарю за внимание!