Практика применения DevOps. Тестирование

11.12.20

Разработка - Тестирование QA

В третьей части мастер-класса «Практика применения DevOps» на конференции Infostart Event 2019 Inception выступила Светлана Попова. Она рассмотрела возможности использования двух инструментов тестирования от фирмы «1С» – «Сценарного тестирования» и связки СППР и Vanessa Automation, и рассказала про плюсы и минусы каждого из этих вариантов.

Продолжаем цикл статей по практике применения DevOps.

В первой части Павел Олейников рассказал про процессы DevOps, инструменты, используемые для каждого из них, и про работу с Git.

Во второй части Виталий Подымников показал, как настраивать SonarQube для проверки качества кода.

А я в рамках своей части мастер-класса рассмотрю два инструмента тестирования – Vanessa Automation в связке с СППР и Сценарное тестирование.

 

Vanessa Automation в связке с СППР

Первый инструмент – это Vanessa Automation в связке с СППР.

Vanessa Automation – это инструмент для написания тестовых сценариев на языке Gherkin.

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

 

 

Vanessa Automation можно установить двумя способами:

  • скачать последний релиз из репозитория на GitHub https://github.com/Pr-Mex/vanessa-automation/releases;

  • либо, если у вас используется OneScript, установить в качестве пакета OneScript командой opm install vanessa-automation.

Vanessa Automation можно использовать в двух вариантах:

  • независимо, запуская ее в базе, в которой вы ведете разработку,

  • или вместе с СППР – в этом случае СППР хранит привязку тестов к метаданным, ответственным и функциям системы, и мы всегда достаточно легко можем сказать, какая функциональность у нас протестирована.

 

Настройка тестирования в СППР

 

 

Чтобы можно было запускать тестирование непосредственно из СППР, она должна быть запущена в режиме менеджера тестирования – для этого в параметрах ее запуска нужно указать ключ /testmanager.

 

 

Для пользователя, под которым запускается СППР, должна быть отключена защита от опасных действий, потому что Vanessa Automation при выполнении шагов вызывает другие внешние обработки.

 

 

Чтобы использовать тестирование в разделе «Администрирование» – «Общие настройки» – «Тестирование» установить флаг «Использовать сценарии тестирования».

 

 

Для пользователя, под которым будут запускаться тесты, необходимо в разделе «Органайзер» – «Персональные настройки» указать:

  • рабочий каталог, в котором будет храниться информация по тестированию и отчеты о тестах,

  • и указать путь к фреймворку тестирования – в данном случае это у нас Vanessa Automation.

 

Настройка проекта в СППР

 

 

Следующим этапом нам необходимо в разделе «Главное» – «Проекты» создать проект для той конфигурации, которую мы разрабатываем, которую мы хотим тестировать. В нашем случае это конфигурация Конференция.

 

 

Указываем наименование конфигурации и идентификатор программы.

 

 

Здесь также можно загрузить метаданные. Мы ведем разработку конфигурации «Конференция» в Git-репозитории с помощью EDT, поэтому указываем:

  • путь к нашему Git-репозиторию;

  • ветку, из которой мы хотим брать метаданные;

  • и путь к проекту в репозитории.

 

Настройка эталонной базы для тестирования

 

 

Следующим этапом в разделе «Тестирование» – «Эталонные базы тестирования» нам необходимо создать эталонную базу для тестирования. Здесь будут храниться параметры подключения к базе проекта, в которой будет производиться тестирование (логин, пароль).

Здесь на первой закладке указывается:

  • наименование;

  • идентификатор базы;

  • проект;

  • путь к выгрузке базы

 

 

А на второй закладке задается соответствие профиля пользователя СППР с логином и паролем пользователя в эталонной базе. Этот профиль необходимо потом указать в тестовом сценарии.

 

Настройки локального запуска сценариев

 

 

Основной справочник, в котором хранятся простейшие тесты – это «Сценарии работы пользователей», он находится в разделе «Тестирование».

Для запуска тестов в нем необходимо настроить параметры локального запуска сценариев.

 

 

Здесь указывается:

  • адрес информационной базы – его можно выбрать из списка;

  • эталонная база;

  • и менеджер тестирования – в нашем случае это текущий сеанс СППР, а в общем случае здесь можно выбрать сеанс любой другой базы, на которой вы хотите запускать менеджер тестирования.

Сценарии работы пользователей

 

 

Рассмотрим простейший сценарий работы пользователя. Здесь на закладке «Описание» указываются:

  • наименование;

  • проект;

  • и функция конфигурации, которую мы хотим протестировать – в данном случае мы просто проверим создание элемента справочника «Город».

 

Структура feature-файла

 

 

На закладке «Текст сценария» хранится текст самого сценария.

 

 

Рассмотрим подробнее синтаксис языка Gherkin и структуру feature-файла.

  • Первой строкой идет комментарий специального вида #language: ru, который показывает, что в тесте используется русский язык

  • Дальше указан тег @tree – он подключен во всех сценариях СППР по умолчанию и означает, что шаги сценария могут быть декомпозированы на подшаги. Это удобно, если мы для пользователей пишем описание теста в своих терминах и уже программист делает подшаги, которые реализуют эти шаги на языке 1С.

  • Дальше идет пользовательская история, которая начинается со слов «Функциональность» – здесь мы описываем, что мы хотим проверить в данном сценарии.

  • Следующим этапом идет «Контекст» – это общие действия, которые выполняются для всех указанных в feature-файле сценариев.

  • И непосредственно «Сценарий», который состоит из простейших шагов или сниппетов.

    • Шаги сценария начинаются со слов: «Когда», «И», «Тогда». Эти ключевые слова взаимозаменяемые и служат для того, чтобы сценарий проще читался пользователем.

    • Шаг «Создаем город» – это шаг группы, и если мы откроем сценарий во фреймворке тестирования, то увидим, что вложенные в группу шаги открываются свернутыми, то есть по умолчанию скрыты от пользователя.

 

Запуск фреймворка тестирования Vanessa Automation из формы сценария

 

 

Запустим данный сценарий во фреймворке тестирования.

 

 

Открылось дерево шагов – как вы видите, группа шагов по умолчанию свернута.

 

Автоматизированное создание текста сценария через запись действий пользователя

Попробуем написать простейший автоматизированный сценарий. В этом нам поможет закладка «Работа с UI».

 

 

Подключим клиент тестирования – у нас открылась база, которую мы хотим протестировать.

 

 

Следующим шагом на этой же закладке «Работа с UI» нажмем кнопку «Начать запись действий пользователя».

 

 

Допустим, мы хотим записать шаг, который создает еще один город. Переходим в раздел Справочники – Города. И создаем здесь город Москва.

 

 

Возвращаемся обратно в СППР и завершаем запись действий пользователя.

 

 

Здесь у нас появился сценарий, написанный на языке Gherkin. Его можно скопировать и вставить в справочник «Сценарии работы пользователя» в СППР.

Также в сценарий можно добавить известный шаг из библиотеки известных шагов.

 

Загрузка известных шагов Vanessa Automation в СППР

 

 

Шаги из библиотеки известных шагов можно добавить в СППР. Для этого нужно сохранить шаги в формате JSON.

 

 

В разделе «Тестирование» есть справочник «Шаги сценариев пользователя». Здесь эти шаги из Vanessa Automation можно загрузить.

 

 

Если мы перезайдем в сценарий, эти шаги появятся на закладке «Текст сценария».

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

 

Добавление своего шага

Но если нам известных шагов недостаточно, и мы хотим добавить свой, то мы можем его реализовать самостоятельно.

 

 

Например, у нас есть сценарий «Пример своего шага», где просто добавлена фраза «И я выполняю свой шаг».

 

 

Если мы сейчас запустим сценарий в фреймворке тестирования, то шаг «И Я выполняю свой шаг» будет подсвечен желтым. Если мы выведем колонку «Обработка», то увидим, что для данного шага нет обработки, которая содержит его реализацию.

 

 

Для генерации обработки с реализацией данного шага предназначена закладка «Генератор EPF». Устанавливаем флаги «Генерировать управляемую форму» и «Создать области» – это просто удобно. Нажимаем кнопку «Создать и обновить шаблоны обработок».

 

 

Автоматически открылась папка step_definitions со сформированной обработкой Test.epf – папка step_definitions была также автоматически создана в каталоге feature-файла.

Откроем обработку в конфигураторе.

 

 

Если мы посмотрим модуль формы, то здесь в самом низу у нас создалась функция с названием «ЯВыполняюСвойШаг». По умолчанию функция содержит «ВызватьИсключение "Не реализовано"».

 

 

Пока мы шаг не реализуем, обработка тестирования на этом шаге будет падать, поэтому убираем из функции вызов исключения. И реализуем здесь что-нибудь, например, напишем просто «Сообщить("Мой шаг")». Сохраняем.

 

 

Если мы хотим добавить этот шаг в библиотеку известных шагов, это тоже можно сделать. Для этого предназначена функция ПолучитьСписокТестов(), которая по умолчанию добавляет этот шаг в список шагов Vanessa Automation.

Чтобы добавленный шаг появился в библиотеке известных шагов, нам нужно прописать его имя и указать, в каком разделе он будет выведен.

Сохраняем обработку.

 

 

Возвращаемся обратно в СППР и перезапустим Vanessa Automation.

Мы видим, что шаг у нас перестал подсвечивается желтым, и если мы выведем опять колонки «Сниппет» и «Обработка», то у нас уже определилась обработка, которая реализует данный шаг.

 

 

Перейдем на закладку «Работа с UI», нажмем кнопку «Добавить известный шаг» – как видите, этот шаг у нас появился в библиотеке известных шагов, мы можем его использовать.

 

 

По умолчанию, Vanessa Automation ищет известные шаги в стандартной библиотеке шагов (находится в каталоге features\Libraries самого фреймворка), а также в текущем каталоге файлов функциональности (там, где находится открытая фича).

Кроме этого, мы можем подключать обработки с реализацией наших шагов в любые проекты. Для этого нам нужно на закладке «Библиотеки» указать путь к нашей папке, где хранятся обработки с реализацией шагов, и они будут подключены в любой проект.

Все шаги, описание которых найдено в экспортных методах ПолучитьСписокТестов модулей форм этих обработок, становятся доступными для исполнения в наших сценариях.

 

Интерфейс обработки Vanessa Automation

 

 

Какие еще закладки есть в обработке Vanessa Automation?

Это закладка «Клиенты тестирования». Здесь мы можем задать возможность подключения одного тест-менеджера (текущего сеанса с Vanessa Automation) к различным клиентам тестирования – с разными параметрами запуска, с разной платформой, из-под разных пользователей.

 

 

Также есть закладка «Сервис». Здесь указаны основные настройки:

  • галка «Тег @tree включен по умолчанию»;

  • каталог инструментов;

  • каталог проекта, где хранятся наши данные.

 

 

На закладке «Отчет о запуске сценариев», мы можем вывести результаты нашего тестирования в формате Allure, JUnit, Cucumber.

 

 

И закладка «Автоинструкции».

Vanessa Automation предоставляет довольно широкие возможности для написания тестовых сценариев, поэтому мы предлагаем использовать именно ее.

 

Сценарное тестирование

Второй инструмент, который будет рассмотрен – это инструмент «Сценарное тестирование», который предоставляет фирма «1С».

Конфигурация «Сценарное тестирование» позволяет:

  • Разрабатывать сценарии тестирования с использованием автоматизированного тестирования – можно записать сценарий по действиям пользователя, добавить в него обработчики и параметры, потом воспроизводить сценарий вручную;

  • Автоматически запускать тестирование по расписанию;

  • Хранить сценарии и тесты с привязкой к релизу конфигурации;

  • Хранить результаты тестирования; 

  • Контролировать процессы доработки тестов через задачи по доработке.

 

Первоначальная настройка томов хранения файлов

 

 

Для использования «Сценарного тестирования» необходимо сделать первоначальные настройки системы.

 

 

Эти настройки находятся в пункте меню «Администрирование» – «Начальная настройка системы».

 

 

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

 

Первоначальная настройка пользователей

 

 

Также указывается пользователь. Для пользователя, под которым будет запускаться тестирование, необходимо указать пути к исполняемым файлам:

  • настройка с предопределенным названием «РабочийКаталог» – путь к рабочему каталогу, где будет храниться информация о тестировании;

  • и пути к исполняемым файлам платформы.

 

Первоначальная настройка справочника «Конфигурации»

 

 

В разделе «Конфигурации» содержится список тестируемых конфигураций – в нашем случае, это конфигурация «Конференция».

 

 

Указываем ее сборку.

 

 

Для сборки на закладке «Структура метаданных» можно загрузить метаданные, но здесь есть существенное отличие от СППР:

  • СППР позволяет загружать метаданные в формате EDT и нам это удобно, потому что мы ведем разработку в EDT;

  • а Сценарное тестирование загружает конфигурацию только в формате, который получен из конфигуратора (Конфигурация – Сохранить конфигурацию в файлы).

 

Первоначальная настройка – проекты

 

 

Дальше нам необходимо создать проект.

 

 

Здесь мы указываем состав проекта. В проекте может быть несколько конфигураций. В нашем случае только одна.

 

 

Можно указать адресатов – это те люди, которым будет приходить информация о результатах тестирования.

 

Работа с обработкой тестирования

 

 

Для непосредственного запуска сценариев нам необходимо сохранить обработку в файл из меню Администрирование – Сервис – Сохранить обработку в файл.

 

 

Сохраняем основной вариант обработки.

 

 

При этом в выбранную папку будет записано две обработки:

  • основная обработка сценарного тестирования STest_3_0_18_2.epf;

  • и обработка сценарного тестирования интерактивных действий iSTest_3_0_18_2.epf.

 

 

Запустим нашу конфигурацию «Конференция» с флагом «/testmanager».

 

 

И откроем основную обработку сценарного тестирования STest_3_0_18_2.epf.

Выдается окно Быстрый старт. Здесь можно:

  • подключиться к тестируемому приложению;

  • открыть сценарий для редактирования;

  • открыть сценарий для выполнения;

  • или просто вернуться на главную форму обработки.

Подключимся к тестируемому приложению.

 

 

Здесь можно указать параметры запуска – у нас менеджер тестирования и тестируемое приложение подключены к одной базе, поэтому ничего не меняем, указываем только пароль и запускаем приложение.

 

 

После запуска клиента тестирования мы можем записать интерактивные шаги из журнала. Это примерно так же, как мы делали в Vanessa Automation, когда записывали наши шаги.

 

 

Начинаем запись.

 

 

Допустим, мы также создадим еще один город.

Вернемся в менеджер тестирования и остановим запись шагов.

 

 

Вот у нас вывелись те шаги, которые мы накликали. Переносим это в сценарий по кнопке «Записать и закрыть».

 

 

Также здесь можно добавить различные шаги. Их список большой, они зависят от того, какой объект вы редактируете – форму справочника, форму документа. Если активным будет элемент формы – будет другой список шагов.

Обратите внимание, здесь можно выполнить запрос или серверную процедуру.

 

 

Если мы встанем на форму, здесь будет другой список шагов – например, здесь можно добавить все поля формы для того, чтобы сравнить ее с формой из эталонной базы.

 

 

После реализации шагов сохраняем сценарий в файл.

 

 

Указываем здесь путь к сохраняемому сценарию и возвращаемся в базу «Сценарного тестирования».

 

Хранение и запуск тестов – справочник Тесты

 

 

Основные справочники для хранения тестов в «Сценарном тестировании» – это «Тесты», «Сценарии» и «Пакетное выполнение».

 

 

В справочнике «Тесты» мы задаем общее описание того, что мы хотим протестировать.

 

 

И для каждого теста создаем сценарий.

 

 

В сценарии указаны:

  • шаги, которые мы выполняем,
  • путь к эталонной базе
  • и путь к тестовой базе, если мы хотим сравнивать наши данные с какими-то эталонными данными.

 

Пакетное выполнение

 

 

Для предварительной подготовки среды тестирования и последовательного запуска нескольких сценариев тестирования используется объект «Пакетное выполнение». В пакетном тестировании можно установить административные действия, как по подготовке среды тестирования, так и по исполнению сценариев тестирования. Например, можно создать новую базу, загрузить из архива, обновить базу и т.д.

Можно запустить менеджер тестирования под разными видами клиентов, запустить один и тот же сценарий несколько раз с разными параметрами

 

 

В пакете мы указываем параметры запуска сценария.

 

 

  • «Размещение информационной базы» – путь к тестовым данным сценария;

  • «Платформа 1С:Предприятие» – путь к исполняемым файлам платформы, под которой мы хотим запускать.

 

 

Для шага «Создать тестовую информационную базу» мы указываем тест и сценарий.

Файл тестовой информационной базы у нас заполняется из сценария – при запуске сценария эта база будет создана.

 

 

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

 

 

И последним этапом мы можем получить в пакетном выполнении командную строку для запуска этого сценария.

 

 

По командной строке запускается база сценарного тестирования, которая вызывает базу менеджера тестирования, и в ней уже запускается клиент тестирования с выбранным пакетом сценариев.

В следующей заключительной части Валерий Пронин расскажет про написание сборочной линии для проекта на Jenkins и в зависимости от результата – создания cf-файла релиза или отправки сообщения об ошибках на email.

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на конференции Infostart Event 2019 Inception.

Инфостарт Tech Event 2026

Инфостарт A&PM Event 2026

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Тестирование QA Программист 1С 8.3 Россия Бесплатно (free)

Написать тест на 1С несложно. Дорого стоит привести базу в состояние, где прогон вообще стартует: семь шагов, каждый ломает запуск молча — без ошибки, без записи в журнале. И эту цену платит заново каждый новый человек на проекте. Разбираю молчаливый отказ окружения как класс проблем, показываю, почему его не закрывают ни документация, ни скрипт развёртывания, и предлагаю решение — фиксацию состояния в артефакте с машинно-проверяемым критерием приёмки. Подход проверен на сквозной задаче (первая задача экзамена «1С:Специалист по платформе» с юнит- и функциональными тестами), а затем перенесён на пул тестовых баз с типовыми конфигурациями. Отдельно — каталог симптомов и их настоящих причин, который пригодится независимо от инструментария.

13.08.2026    274    chagbig    1    

0

Тестирование QA Программист Бесплатно (free)

Разбираем, как в крупных компаниях регуляторные требования, постмортемы и внутренние ограничения постепенно превращаются в многоуровневую систему инструкций, в которой разработчику все сложнее понять, что и когда нужно проверить. Показываем opensource-сервис внешних проверок для GitLab, который автоматизирует часть этой бюрократии и сводит результат к понятному сигналу: зеленое – все в порядке, красное – нужно обратить внимание на конкретное требование. Объясняем, как такие проверки помогают «сдвинуть влево» контроль задач и снизить риск отказа во внедрении задачи в последний момент перед релизом. А заодно смотрим, может ли связка Autumn + «Вино» + немного разработческого энтузиазма превратить обязательные инструкции в инструмент, который команда сама захочет развивать.

12.08.2026    308    Golovanoff    1    

3

Поиск данных Тестирование QA Программист 1С 8.3 1С 8.5 Бесплатно (free)

Как мы пришли к Юнит-тестированию и почему стоит его использовать. Использование универсальных тестов для проверки работы IS MagicInput в вашей конфигурации.

16.07.2026    1809    Evg-Lylyk    2    

5

Тестирование QA Программист Бесплатно (free)

Tantor Postgres 18 - масштабный релиз СУБД, за которым стоят месяцы тестирования, сотни часов нагрузочных прогонов и десятки исправлений, о которых пользователь никогда не узнает просто потому, что они были найдены и устранены до выхода версии. Александр Симонов, руководитель направления развития 1С в "Тантор Лабс", рассказывает, как устроен процесс тестирования изнутри - почему одного эталонного прогона недостаточно, что делать, когда ванильный PostgreSQL 18 ломает собственные оптимизации, и как Tantor Postgres приближается к той планке, которую MS SQL Server держал годами.

07.07.2026    1270    Tantor    2    

6

Тестирование QA Программист Бесплатно (free)

Юнит-тестирование в 1С – тема, о которой много говорят, но внедряют далеко не везде: для одних это признак зрелой разработки, для других – избыточная формальность или лишняя трата времени. Разбираем, почему классическая пирамида тестирования в 1С часто оказывается перевернутой, какие ограничения накладывает платформа и почему юнит-тесты в реальных проектах нередко смешиваются с интеграционными. Показываем, где юнит-тесты действительно помогают ускорить разработку, упростить проверку логики и повысить качество кода, а где их применение превращается в хрупкую и дорогую поддержку. Отдельно разбираем типичные ошибки: зависимость тестов от данных и окружения, избыточное мокирование, тестирование платформы вместо бизнес-логики и отсутствие негативных кейсов.

29.06.2026    2855    alexandr_yang    6    

12

Тестирование QA Программист 1С:Предприятие 8 Бесплатно (free)

Как мы пришли к использованию Ванессы для автоматизации действий пользователей? Сначала я увидел в интернете лекцию Олега Филиппова про RPA. И когда встал вопрос про автоматизацию небольших процессов, то эта лекция у меня прекрасно соединилась с опытом тестирования программ с помощью Vanessa Automation. Минимум усилий, минимум ручного кода и высокая скорость внедрения. И самое главное, не надо менять программу. А если программа изменится, то алгоритм быстро поправить и дополнить.

19.06.2026    1996    swimdog    3    

8

Тестирование QA Программист Россия Бесплатно (free)

Разбираемся, какие виды тестирования нужно проводить при внедрении заказных бизнес-приложений. Что такое воронка «бесконечного тестирования». Чем синдром «сапера» отличается от синдрома «лудомана». А также можно ли полюбить тестирование.

18.06.2026    1437    DmitryShostak    0    

2

Тестирование QA Бесплатно (free)

Нагрузочное тестирование 1С нельзя строить на средних значениях и одном «идеальном» сценарии: такой подход скрывает пики, блокировки, фоновые задания и реальные риски для производительности. Показываем, как собрать данные из технологического журнала, журнала регистрации и поведения пользователей, чтобы построить сценарий, близкий к работе системы в продуктиве. Разбираемся, как вариация, корреляционный анализ и APDEX помогают увидеть неравномерную нагрузку, уточнить модель и понять, какие данные влияют на производительность. А также объясняем, как корректное моделирование помогает заранее выявить проблемы, подобрать железо под реальные пики и снизить риск коллапса системы после запуска.

12.05.2026    3162    gabrielyants    8    

13
Для отправки сообщения требуется регистрация/авторизация