Рассказываем, как сократить время от разработки продукта до полного внедрения. Мы сделали это в RG-Soft
Еще больше кейсов от RG-Soft здесь
Современный темп работы, когда требуется разработка и внедрение прикладных решений на платформе 1С в режиме «здесь и сейчас», заставил нас отказаться от каскадной модели сборки приложений и пересмотреть весь подход к тестированию и развертыванию изменений в среде. В новых реалиях у нас нет права на ошибку. Из-за неисправностей в работе системы может остановиться работа предприятий, где несколько минут простоя оборачиваются грандиозными убытками.
Теперь мы можем не только значительно сократить Time To Market, но и гарантировать стабильную и безошибочную работу ваших систем на платформе 1С.
Как мы это делаем?
При внедрении новых разработок мы смогли адаптировать передовой подход CI/CD (Continuous integration & Continuous delivery в переводе — «непрерывная интеграция / Непрерывное развертывание») применительно к 1С системам. Основой CI/CD является конвейерная методика, в которой механизм интеграции и тестирование вносимых изменений автоматизированы.
Для организации этого конвейера мы используем разнообразный софт. Основные инструменты, которыми мы пользуемся:
- 1С:Автоматизированная проверка конфигураций
- SonarQube,
- Jenkins,
- Git,
- Vanessa Automation.
Как это работает на практике?
Мы создаем набор автоматических тестов, которые подключаются к конвейеру CI/CD. Все возможные сценарии поведения пользователя при взаимодействии с приложением проигрываются на тестовом сервере, если что-то идет не так, система оповещает нас об этом. Таким образом мы полностью исключаем человеческий фактор, который может привести к ошибке при ручном тестировании.
Внутри компании мы используем эту технологию в разработке тиражных решений и нашего внутреннего продукта учета. К примеру, почти каждый день мы вносим изменения с точки зрения функциональности и кода в Монитор сопровождения, где хранится вся информация о текущих IT- проектах и происходит взаимодействие с клиентами. Любая ошибка может стать критичной: работа остановится минимум на пол дня.
Избежать подобных инцидентов помогает автотестирование. Ночью на тестовом сервере система прогоняет сценарные процессы. А на утро мы получаем улучшенную версию программы. Но лишь в том случае, если она прошла все этапы проверки, тогда мы завершаем ее запуском с внесением изменений в рабочую среду. Проще говоря, пользователь получает доступ к новым функциям.
Что дает автотестирование?
- Сокращает время на внедрение изменений. Проверка кода и пользовательских сценариев осуществляется в автоматическом режиме.
- Уменьшение вероятности остановки рабочих процессов или из-за возникновения ошибок при работе с программой
- Уменьшение затрат на поддержку и разбор инцидентов
- Уменьшение стоимости поддержки системы в долгосрочной перспективе за счет уменьшения трудозатрат специалистов поддержки.
Кому это необходимо?
Компаниям с высокой стоимостью простоя или репутационными рисками из-за ошибок в рабочей системе.
1. Круглосуточная торговля, где есть необходимость отказаться от круглосуточной поддержки. Например, супермаркеты или дистрибуция цветов, фармацевтических препаратов.
Что делаем?
- Автотесты для проверки отсутствия ошибок в типовых операциях кассиров
- Автотесты для проверки корректности работы интерфейса работы с кассовым
- Автотестирование операций по работе с товарами: заказ, оформление брака, пересортица.
2. Непрерывное производство с управлением из 1С.
Что делаем?
- Автотесты для проверки отсутствия ошибок
- Автотесты для проверки корректности работы интерфейса работы с оборудованием
3. Доступ клиентов заказчика в корпоративную систему, например, личные кабинеты.
Что делаем?
- Автотесты для проверки отсутствия ошибок в типовых сценариях работы пользователей в личном кабинете.
- Автотесты для проверки отсутствия ошибок в типовых операциях кассиров
- Автотесты для проверки корректности работы интерфейса работы с кассовым оборудованием
4. Колл-центр по оформлению тысяч заказов ежедневно.
Что делаем?
- Автотестирование качество кода (как первый уровень защиты). Необходимо в системах с большим количеством операций, которые должны выполняться быстро.
- Автотест на скорость выполнения типовых операций
- Автотест на отсутствие ошибок в типовых сценариях работы