Практика применения 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.

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

См. также

Тестирование QA DevOps и автоматизация разработки Программист Пользователь 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Платные (руб)

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Бухгалтерия предприятие 3.0 и версии КОРП: 3.0.178.26.

2160 руб.

20.01.2022    9680    36    0    

18

DevOps и автоматизация разработки Тестирование QA Программист Пользователь 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Зарплата и Управление Персоналом 3 и версии КОРП: 3.1.30.230.

3360 руб.

05.08.2024    2944    18    1    

12

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

Статья о практическом опыте внедрения unit-тестирования в legacy-конфигурацию 1С (УКФ) с использованием фреймворка YAxUnit. Автор делится возникшими техническими вызовами и организационными сложностями, а также их решениями, которые включают использование модулей-помощников, макетов и контекста. Приводятся реальные примеры тестирования HTTP-сервисов и событий документов.

25.07.2025    301    batsy66    2    

5

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

В статье расскажем, как Sentry помогает компании Magnit Tech эффективно решать задачи оперативного выявления и анализа ошибок. Поделимся практическим опытом внедрения Sentry и объясним, почему этот инструмент превосходит другие бесплатные аналоги по функционалу и удобству использования. Рассмотрим гибкий механизм настройки оповещений об ошибках журнала регистрации, который позволяет адаптировать уведомления под конкретные нужды проектов. Объясним, как Sentry используется для мониторинга производительности базы 1С, обеспечивая стабильность работы критически важных систем. Затронем тему интеграции Sentry с системами мониторинга инфраструктуры и CDN.

17.07.2025    799    daniloffartur    1    

5

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

YAxUnit – это сравнительно молодой, но амбициозный и быстро развивающийся инструмент из мира open-source. Расскажем о ключевых этапах развития инструмента и особенностях работы над open-source проектом.

17.07.2025    1967    Жолтокнижниг    1    

18

HighLoad оптимизация Тестирование QA Системный администратор Программист Бесплатно (free)

В мире 1С импортозамещение используемых программных продуктов в первую очередь касается миграции СУБД с MSSQL на Postgres. Одна из основных проблем перехода — более «слабый» оптимизатор запросов Postgres по сравнению с MSSQL, когда запросы на MSSQL выполнялись значительно быстрее, чем на Postgres. Автор статьи разработал инструмент, который позволяет без значительных затрат выявить эти «проблемные» запросы. Основная идея подхода: конвертация на Postgres запросов, снятых при использовании MSSQL, и сравнение времени выполнения на MSSQL и на Postgres.

10.07.2025    1327    berserg    4    

8

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

Процесс тестирования в команде автора эволюционировал от ручных проверок до полноценной автоматизации с использованием современных инструментов и контейнеризации. Начав с Vanessa-ADD в качестве основного решения, команда постепенно расширила стек, включив в него Vanessa-Automation для UI-тестирования, YAxUnit для модульных проверок, Coverage41C для анализа покрытия кода, а также Gitlab CI, Allure и SonarQube для мониторинга качества и непрерывной интеграции. Статья объясняет, почему в качестве стартового инструмента была выбрана Vanessa-ADD и как удалось организовать запуск дымовых и сценарных тестов в CI-контуре на Windows-сервере. Рассмотрен вопрос анализа покрытия кода тестами: зачем потребовался подсчет и какими сложности сопровождали настройку Coverage41C в клиент-серверной архитектуре. Также автор рассказывает про переход на Docker (рассматривался готовый образ, но в итоге был создан собственный) и смену инфраструктуры с Windows и PowerShell на Linux и Bash.

27.06.2025    2080    TaGolovkina    3    

21

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

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

20.06.2025    4136    kuntashov    5    

38
Оставьте свое сообщение