Автотесты и CI/CD для 1С:WMS: DevOps-конвейер на GitLab CI, SonarQube и Vanessa Automation
DevOps-конвейер каждую ночь проверяет тиражную 1С:WMS тестами и анализом кода, и ошибки ловятся до релиза, а не у клиентов.
- 4,8 из 5
- оценка продукта у пользователей
- 14 ч
- полного прогона уложены в ночное окно
- 4 базы
- для параллельного запуска сценарных тестов

Задача
Разработчик тиражного решения 1С:WMS быстро развивал конфигурацию, а контроль качества отставал. Нужен был конвейер, который до релиза находит ошибки, показывает технический долг и снимает с аналитиков ручной регресс.
Как было до проекта
- Регрессионное тестирование было ручным и занимало часы аналитиков и разработчиков.
- Исправление одной ошибки могло сломать смежный функционал, и это всплывало слишком поздно.
- Влияние изменений в одних объектах на связанные никто надёжно не отслеживал.
- Качество кода проверяли эпизодически, техдолг копился незаметно.
Что я сделал
- 1
Статический анализ
В 2020 году запустил конвейер в Jenkins: он забирал конфигурацию из хранилища и прогонял её через SonarQube. Впервые появилась объективная картина техдолга и соответствия стандартам.
- 2
Дымовые и сценарные тесты
Добавил дымовые тесты, которые проверяют, что формы справочников, документов и отчётов открываются без ошибок. Сценарии аналитиков из СППР автоматически выгружаются, компилируются и выполняются в Vanessa Automation, результаты собираются в отчёты Allure.
- 3
Переезд на EDT, Git и GitLab CI
В 2024 году разработка перешла на 1С:EDT и Git. Я полностью перестроил конвейер под новый стек в GitLab CI и вывел Jenkins из эксплуатации.
- 4
Параллельный запуск
С ростом числа тестов полная проверка дошла до 14 часов. Распределил сценарные тесты по 4 базам одновременно и параллельно запускаю дымовые тесты под разными ролями, чтобы всё укладывалось в ночное окно.
- 5
Сопровождение инфраструктуры
Регулярно обслуживаю конвейер и добавляю новые тесты для покрытия пользовательских сценариев, удерживая время прогона в разумных пределах.
Результат
- Ошибки ловятся до релиза: утром разработчик получает отчёт по упавшим тестам.
- Тысячи регрессионных проверок выполняют роботы, аналитики заняты новой функциональностью.
- Оценка продукта у пользователей выросла и держится на 4,8 из 5, проверки вендора проходят без критических замечаний.
- У команды и архитектора есть единый источник правды о готовности релиза: Allure и SonarQube.
Конвейер для 1С стоит начинать со статического анализа и дымовых тестов, они окупаются сразу. Когда тестов становится много, без параллельного запуска проверка перестаёт помещаться в ночь.
Вопросы по теме
Как настроить CI/CD для 1С?+
Перейти на 1С:EDT и Git, настроить пайплайн в GitLab CI, который собирает конфигурацию, запускает статический анализ и автотесты и публикует отчёты. Начать можно и с хранилища 1С и Jenkins, как в этом проекте.
Что такое дымовые тесты в 1С?+
Это быстрые автоматические проверки, что формы справочников, документов и отчётов открываются без ошибок. Они ловят грубые поломки после любого изменения конфигурации.
Как ускорить прогон автотестов Vanessa Automation?+
Распределить сценарии по нескольким тестовым базам и запускать их параллельно, а дымовые тесты под разными ролями тоже выполнять одновременно. Так многочасовой прогон укладывается в ночное окно.


