|

Автоматизация тестирования конфигураций 1С с помощью 1C: EDT и GitLab CI/CD


Содержание:

  1. Проблемы ручной реализации тестирования
  2. Инструменты для автоматизации
  3. Настройка процесса автоматизации тестирования
  4. Виды анализа результатов
  5. Опыт лучших практик

Тестирование конфигураций 1С: Предприятие — критически важный этап разработки, особенно для сложных систем, таких как «1С: Управление торговлей». Ручное тестирование отнимает время и не гарантирует полного покрытия функциональности. В 2025 году 1С: Enterprise Development Tools (EDT) и интеграция с GitLab CI/CD предоставляют мощные возможности для автоматизации тестирования, что позволяет ускорить разработку и повысить качество решений. Эта статья посвящена настройке автоматических тестов для системы «1С: Управление торговлей» с использованием EDT, интеграции их в процесс непрерывной интеграции (CI/CD) на платформе GitLab и анализу результатов.

Проблемы ручной реализации тестирования

Ручное тестирование в 1С: Управление торговлей сопряжено с рядом проблем:

  • Высокие временные затраты: Проверка таких процессов, как проведение документов или расчет остатков, требует значительных усилий;
  • Низкое покрытие: Тестировщики могут упустить редкие сценарии или регрессионные ошибки;
  • Человеческий фактор: Ошибки в тестировании возникают из-за невнимательности или усталости.

Автоматизация с использованием 1C: EDT и GitLab CI/CD решает эти проблемы, обеспечивая надежное и воспроизводимое тестирование.

Инструменты для автоматизации

1C: Enterprise Development Tools (EDT).

1C: EDT — современная среда разработки, которая поддерживает модульное тестирование и интеграцию с системами контроля версий. Основные возможности для тестирования:

  • Юнит-тесты: Позволяют проверять отдельные модули, например, процедуры расчета скидок в «1С: Управление торговлей»;
  • Интеграционные тесты: Проверяют взаимодействие объектов метаданных, таких как документы и регистры;
  • Инструменты отладки: Упрощают поиск и устранение ошибок в тестах.

Пример юнит-теста для проверки функции расчета скидки:

1c

Копировать

Процедура Тест_РасчетСкидки() Экспорт

    Сумма = 10000;

    ПроцентСкидки = 10;

    ОжидаемаяСумма = 9000;

    Результат = Обработки.РасчетСкидок.РасчитатьСуммуСоСкидкой(Сумма, ПроцентСкидки);

    Утверждение(Результат = ОжидаемаяСумма, “Ошибка в расчете скидки!”);

КонецПроцедуры

GitLab CI/CD.

GitLab CI/CD позволяет автоматизировать запуск тестов при каждом изменении кода в репозитории. Преимущества:

  • Автоматический запуск тестов: Тесты выполняются при каждом коммите или пул-реквесте.
  • Отчеты и логи: GitLab предоставляет удобные инструменты для анализа результатов.
  • Интеграция с EDT: Тесты, написанные в EDT, легко запускаются в CI/CD-пайплайне.

Настройка процесса автоматизации тестирования

Шаг 1: Подготовка EDT.

1. Создание тестов в EDT:

  • В EDT создайте модуль тестирования для системы «1С: Управление торговлей».
  • Разработайте юнит-тесты для ключевых функций, таких как проведение документа «Заказ клиента» или расчет остатков.
  • Используйте встроенную библиотеку тестирования (например, xUnitFor1C) для упрощения написания тестов.

2. Экспорт конфигурации:

  • Экспортируйте конфигурацию в файлы XML или используйте EDT для работы с репозиторием Git.

Шаг 2: Настройка GitLab CI/CD.

1. Создание .gitlab-ci.yml: В корне репозитория создайте файл .gitlab-ci.yml для настройки пайплайна CI/CD.

Пример конфигурации:

yaml

Копировать

stages:

  – test

test_1c:

  stage: test

  image: 1c/edts:latest

  script:

    – 1cedt –project-path . –run-tests –output test_results.xml

  artifacts:

    paths:

      – test_results.xml

2. Настройка окружения:

  • Установите Docker-образ с 1C: EDT и платформой 1С: Предприятие.
  • Настройте подключение к тестовой базе «1С: Управление торговлей» с обезличенными данными.

3. Запуск тестов:

  • При каждом коммите GitLab автоматически запустит тесты, определенные в EDT.
  • Результаты сохраняются в формате XML и отображаются в интерфейсе GitLab.

Шаг 3: Интеграция с «1С: Управление торговлей».

  • Тестовые сценарии: Создайте сценарии для проверки ключевых процессов, таких как:
    • Проведение документа «Реализация товаров и услуг».
    • Формирование отчета «Остатки товаров на складах».
    • Расчет цен с учетом скидок.
  • Тестовая база: Используйте копию рабочей базы данных, очищенную от конфиденциальной информации.
  • Автоматизация UI-тестов: Для тестирования интерфейса интегрируйте Vanessa Automation с EDT и запускайте сценарии через GitLab.

Виды анализа результатов

После выполнения тестов в GitLab CI/CD:

  • Просмотр отчетов: Результаты тестов доступны в разделе «Pipelines» в GitLab. Успешные тесты отмечены зеленым, неуспешные — красным.
  • Логирование: Используйте логи для анализа ошибок. Например, если тест на проведение документа не прошел, проверьте журнал регистрации в 1С.
  • Уведомления: Настройте уведомления в GitLab (например, через email или Telegram), чтобы оперативно узнавать о провале тестов.

Опыт лучших практик

  1. Покрытие тестами: Сфокусируйтесь на критических процессах «1С: Управление торговлей», таких как учет продаж или управление складом.
  2. Регулярное обновление: При изменении конфигурации добавляйте новые тесты, чтобы поддерживать актуальность покрытия.
  3. Документация: Храните тестовые сценарии в справочнике CRM (e1cib/list/Справочник.ПубликацииОПроектах) для согласования с маркетингом.
  4. Оптимизация времени: Используйте параллельные пайплайны в GitLab для ускорения выполнения тестов.

Автоматизация тестирования конфигураций «1С: Управление торговлей» с помощью 1C: EDT и GitLab CI/CD позволяет сократить время на проверку кода, повысить его качество и минимизировать ошибки. Настройка тестов в EDT и их интеграция в CI/CD-пайплайн обеспечивают воспроизводимые результаты и упрощают поддержку сложных проектов. Начните с написания простых юнит-тестов, интегрируйте их в GitLab и постепенно расширяйте покрытие, чтобы ваша конфигурация работала стабильно и эффективно.

Специалист компании ООО “Кодерлайн”,

Гаан Альберт


Помогла ли вам статья? Оставьте свой комментарий:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Блог про 1С:Предприятие

Copyright © 2024 TopKoder

Мы занимаемся внедрением и обслуживанием программных продуктов 1С.