Сегодня мы поговорим о том, как можно автоматизировать процесс разработки 1с предприятие. Реализация данной идеи займет много времени и сил, а потому, нам понадобится помощь опытных программистов.
По умолчанию, будем считать, что комплексная автоматизация 1с предприятия будет включать в себя поддержку всех доступных ОС и различные типы клиентов, включая веб и мобильные версии. Общий список задач выглядит следующим образом:
- Максимальная автоматизация 1с предприятия и дальнейшая оптимизация работы
- Реализация циклического тестирования за счет минимальных усилий
- Сопровождение продукта исключительно качественным кодом
- Сохранение прежней функциональности
- Минимизировать количество дефектов, в идеале избавившись от них вовсе
- Осуществление мониторинга с целью исправления ошибок на первых этапах, снижая затраты времени и сил
Метод параллельной разработки
Команда программистов должна оптимизировать затраты времени и сил с помощью параллельной разработки за счет метода Continuous Integration (CI). Это также позволит автоматически осуществлять сборку проекта и тестировать его на ранних стадиях.
Дополнительные задачи:
- Ускорение сборки: инкрементальная компиляция позволит ускорить процесс сборки за счет анализа отдельно выделенных кусков кода, которые только что подверглись изменениям. Дальнейший анализ проводится на автоматической основе.
- Разделение «веток»: как только завершается работа над модернизацией крупного участка кода, программист тестирует его в отдельной среде и только после положительных тестов добавляет его в основную «ветку».
- Автоматизация: все базовые проверки и анализ ошибок должны проходить автоматизировано с максимальным ускорением процесса.
- Тестирование: проверка на работоспособность осуществляется многоуровневыми тестами, начиная от интеграционного, заканчивая сценарным.
Процесс автоматической сборки должен происходить 2-3 раза за сутки, а полный процесс и без того займет целый день. Потому, нужно использовать максимально ускоренный режим, анализирующий 80% основной части. Этого достаточно для полного понимания картины и займет всего 1 час времени.
Инструменты для комплексной автоматизации 1с предприятие
Крайне полезным будет использование ПО Jenkins, которое может быстро и эффективно осуществлять сборку проекта на различных ОС одновременно. Это значительно сокращает затраты времени. Ещё одним полезным решением является интеграция JMeter от Apache. Это ПО способно тестировать отдельные участки приложений без задействования крупных ресурсов сервера.
Уникальным инструментом разработки и тестирования для нас также является собственная программа Тест-Центр. Она способна моделировать различные сценарии работы, измерять уровень нагрузки, стабильности, а также осуществлять комплексный мониторинг приложения. Вы можете создать свой продукт на примере этого, чтобы заточить его под собственные нужды.
Итак, его функционал обеспечен различными виртуальными клиентами, за счет которых и проводится тестирование. С помощью этой программы можно запустить несколько параллельных сеансов, которые мы называем конвейерами.
Погрешность конечных результатов составляет максимум 1.5%. А эмуляция процесса происходит в двух разных режимах: один позволяет имитировать работу 1000 клиентов, что более приближено к реалиям, а второй – всего 100 клиентов, но в сильно ускоренном режиме, представляя из себя подобие стресс-теста.
Первый вариант тестирования следующий: если считать, что нам нужно смоделировать работу 10000 пользователей, то нужно задействовать два основных сервера 1С.
После того, как они будут настроены на получение тех данных, которые нужны команде для углубленного анализа, можно запускать их в действие. Не лишним будет отметить, что для централизованного контроля понадобиться Git, с функционалом которого все хорошо знакомы.
Второй сценарий основан на принципе реструктуризации БД. С помощью мониторинговых инструментов можно понять, насколько стабильно приложение продолжает свою работу после обновления.
В конце каждого теста необходимо составить подробный отчет. С их помощью можно установить закономерности в сбоях и ошибках, понять, какие именно причины их вызывают. Вся эта информация должна быть занесена в единую БД для составления дальнейшей статистики и сравнений.
СПК: Сравнение Производительности Конфигураций
Помимо Тест-Центра, мы используем собственное ПО – «Сравнение Производительности Конфигураций» или «СПК». С помощью этого инструмента мы можем сравнить работоспособность отдельных элементов приложения.
По сути, функционал СПК основан на сборе данных во время проведения тестов высокой нагрузки. С его помощью можно явно определить все ошибки, которые возникают из-за подобного тестирования.
Очень важно отмечать не только негативные факторы, но и положительные изменения. Так можно лучше понять, что именно влияет на работоспособность системы. Как и в случае с Тест-Центром, мы используем СПК для составления подробных отчетов и сравнения результатов в разные отрезки.
Пользовательское тестирование
Для разработчиков важно получать подробные данные о работоспособности приложения, если они хотят реализовать автоматизацию 1с предприятия наиболее эффективно.
Но технические параметры не всегда точно отражают то, что видит конечный пользователь. Потому, не меньшую важность имеет тестирование со стороны юзера. Например, критично важным фактором может оказаться время отображения графического интерфейса, данные о котором слабо отображаются в нагрузочных тестах.
Лучшую пользу принесет, как и всегда, собственный инструмент для анализа. Такое средство поможет вам следить за происходящими сценариями непосредственно на машине пользователя, а также контролировать текущие версии продукта.
Более того, вы сможете сами прописывать те сценарии, которые хотите проанализировать с точной фиксацией по времени. Также необходимо следить за производительностью ПО, данные о которой будут записываться в логи.
Функциональное тестирование
Комплексная автоматизация 1с предприятие не может обойтись без функционального тестирования. Это подразумевает комбинирование различных технических параметров приложения, прописанных сценариев работы, а также непосредственно того железа, которое может быть установлено у пользователя.
Ещё немаловажно учесть параллельно работающие программы на ПК, задействованные ОС и подключенные БД сервера. Таким образом, у команды будет возможность протестировать каждый возможный вариант работы 1с в различных условиях.
Не нужно забывать про анализ встроенного Конфигуратора 1с, который покажет вам насколько эффективно работает внутренняя логика приложения со стороны пользователя. UI-тестирование в этом случае не обязательно. Для оптимизации и ускорения процесса тестирования не лишним будет написание нескольких скриптов на языке 1с.
Дополнительные инструменты для тестирования
Помимо основных вышеуказанных инструментов, которые способны существенно облегчить работу над автоматизацией процесса разработки, стоит учесть и дополнительные средства.
Первое, о чем стоит упомянуть, это инструмент, с помощью которого вы сможете осуществлять тестирование на основе различных комбинаций БД и ОС, включая их разную степень готовности. Это даст вам возможность отследить эффективность обмена данными, а также понять, как взаимодействуют различные платформы в изменяющемся окружении.
Второе – это инструмент для тайм-трекинга команды разработчиков.
Бета-тест и тестирование прикладных решений
Помимо основной программы, нужно учесть возможные приложения, которыми будут пользоваться сотрудники. Их существует огромное множество, поэтому выделите только действительно важные и проведите тесты вручную.
После того, как вся работа будет завершена, важно выделить период для бета-теста. Не забудьте поставить в известность тех, кто будет работать с продуктом на данной стадии разработки и вовремя осуществлять тех. поддержку. Такой подход позволит вам выпустить качественный продукт на этапе релиза.
Специалисты нашей компании реализуют для вас автоматизацию 1с предприятие максимально безболезненно и быстро. Обращайтесь.