Найти тему
RG-Soft

Автоматический контроль кода для решений 1С

Рассказываем, как сократить время от разработки продукта до полного внедрения. Мы сделали это в RG-Soft

Еще больше кейсов от RG-Soft здесь

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

Теперь мы можем не только значительно сократить Time To Market, но   и гарантировать стабильную и безошибочную работу ваших систем на платформе 1С.

Как мы это делаем?

При внедрении новых разработок мы смогли адаптировать передовой подход CI/CD (Continuous integration & Continuous delivery в переводе — «непрерывная интеграция / Непрерывное развертывание») применительно к 1С системам. Основой CI/CD является конвейерная методика, в которой механизм интеграции и тестирование вносимых изменений автоматизированы.

-2

Для организации этого конвейера мы используем разнообразный софт. Основные инструменты, которыми мы пользуемся:

  • 1С:Автоматизированная проверка конфигураций
  • SonarQube,
  • Jenkins,
  • Git,
  • Vanessa Automation.

Как это работает на практике?

Мы создаем набор автоматических тестов, которые подключаются к конвейеру CI/CD. Все возможные сценарии поведения пользователя при взаимодействии с приложением проигрываются на тестовом сервере, если что-то идет не так, система оповещает нас об этом. Таким образом мы полностью исключаем человеческий фактор, который может привести к ошибке при ручном тестировании.

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

Избежать подобных инцидентов помогает автотестирование. Ночью на тестовом сервере система прогоняет сценарные процессы. А на утро мы получаем улучшенную версию программы. Но лишь в том случае, если она прошла все этапы проверки, тогда мы завершаем ее запуском с внесением изменений в рабочую среду. Проще говоря, пользователь получает доступ к новым функциям.

Что дает автотестирование?

  • Сокращает время на внедрение изменений. Проверка кода и пользовательских сценариев осуществляется в автоматическом режиме.
  • Уменьшение вероятности остановки рабочих процессов или из-за возникновения ошибок при работе с программой
  • Уменьшение затрат на поддержку и разбор инцидентов
  • Уменьшение стоимости поддержки системы в долгосрочной перспективе за счет уменьшения трудозатрат специалистов поддержки.

Кому это необходимо?

Компаниям с высокой стоимостью простоя или репутационными рисками из-за ошибок в рабочей системе.

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

Что делаем?

  • Автотесты для проверки отсутствия ошибок в типовых операциях кассиров
  • Автотесты для проверки корректности работы интерфейса работы с кассовым
  • Автотестирование операций по работе с товарами: заказ, оформление брака, пересортица.

2. Непрерывное производство с управлением из 1С.

Что делаем?

  • Автотесты для проверки отсутствия ошибок
  • Автотесты для проверки корректности работы интерфейса работы с оборудованием

3. Доступ клиентов заказчика в корпоративную систему, например, личные кабинеты.

Что делаем?

  • Автотесты для проверки отсутствия ошибок в типовых сценариях работы пользователей в личном кабинете.
  • Автотесты для проверки отсутствия ошибок в типовых операциях кассиров
  • Автотесты для проверки корректности работы интерфейса работы с кассовым оборудованием

4. Колл-центр по оформлению тысяч заказов ежедневно.

Что делаем?

  • Автотестирование качество кода (как первый уровень защиты). Необходимо в системах с большим количеством операций, которые должны выполняться быстро.
  • Автотест на скорость выполнения типовых операций
  • Автотест на отсутствие ошибок в типовых сценариях работы