Это не только решения линейки 1С:Производственная безопасность, но и построенные на ее основе корпоративные информационно-аналитические системы для наших Заказчиков. Все эти системы имеют свои особенности. Таким образом, каждый выпускаемый релиз для обновления должен работать исправно и с надлежащим качеством.
В связи с динамичным развитием наших программных продуктов и расширением состава конфигураций остро встала задача тестирования готовой функциональности и вносимых изменений. Так как ручное тестирование достаточно трудоемко и занимает много времени было принято решение внедрить автоматизированное тестирование программных продуктов.
Проверка и отладка тестов в среде 1С в нашей компании выполняется с использованием инструмента Vanessa-Automation, которая является продолжением проекта Vanessa-Behavior.
Сервис контроля версий для размещения различных цепочек разработки и веток, позволяющий разработчикам проверять код и откатываться к стабильной версии сборки в случае непредвиденных проблем. В данном сервисе размещается множество проектов, каждый из которых отвечает за определенную сборку, где происходит инициализация базы, прогон тестов и получение наполненной Демо-базы. Также разработка тестов может проходить в разных ветках проекта, что позволяет настроить тесты на выполнение различных задач.
Рабочая среда для подготовки и актуализации сценариев автотестирования. Тесты написаны на языке Gherkin - человеко-читаемом языке, служащим для описания поведения системы, который использует отступы для задания структуры документа (пробелы или символы табуляции). Каждая строчка начинается с одного из ключевых слов и описывает один из шагов.
Графический интерфейс для системы Git, реализованный как расширение для проводника Windows. Позволяет получать и отправить изменения в Git, переключаться между ветками проекта, создавать новые ветки разработки, осуществлять их слияние и многие другие манипуляции.
Сервис непрерывной интеграции. Выполнена публикация веб-интерфейса сервиса. В Jenkins есть возможность прописать ряд настроек для каждой сборки и получить необходимые итоговые сведения.
Результат выполнения тестов можно проанализировать благодаря различным отчетам
Создание и актуализация универсального набора автоматизированных тестов для трёх конфигураций:
Получение актуальных демонстрационных баз данных по результатам прогона тестов
Непрерывное обновление и расширение набора тестов
Максимальное распараллеливание выполнения сценариев тестирования для сокращения общего времени выполнения тестов
Данный подход требует некоторых временных затрат на этапе внедрения при написании и отладке тестов. Но в результате мы получаем стабильный набор тестов, которым можно контролировать большую часть, а то и всю функциональность программного продукта, что в свою очередь позволит повысить качество программы за счет снижения количества ошибок, доходящих до клиента.
Для часто повторяющихся участков кода мы используем библиотеку экспортных функций, что позволяет сократить время написания сценариев.
Также мы активно используем автотестирование в разработке, когда необходимо проверить конкретную доработку и то, как она повлияла на уже существующую функциональность. Для этого инициализируется эталонная база и прогоняются сценарии по конкретному разделу конфигурации. Тем самым разработчик может проверить, как выполнена его задача и нет ли негативного влияния на работающую функциональность. Данный параметр значительно сокращает время прохождения автотеста. Таким образом, мы имеем возможность регрессивно проверить всю функциональность программы и отдельно взятый раздел конфигурации.
Обновления будут проводится с дополнительным контролем качества, что позволяет обеспечить бесперебойность работы системы и позитивную обратную связь от пользователей с предприятий.