Skip to content

VladFrost/vanessa-behavior

 
 

Repository files navigation

vanessa-behavior

Открытый чат проекта https://gitter.im/silverbulleters/vanessa-behavoir Build Status Crowdin

BDD for 1С:Enterprise

Текущий релиз в ветке Master: 1.1.067 Разработка ведется в ветке Develop. Эта же ветка является основной.

Проект использует принцип формирования автодокументации в формате Markdown и видео:

Чтобы у вас работало автосоздание видеоинструкций необходимо установить дополнительный софт. Инструкция здесь Также по автовидеоинструкциям есть вот это замечательное видео

Порядок установки Vanessa-Behavior под Windows:

  • интерпретатор 1Script - для работы с иходными файлами 1С с помощью проекта Precommit1C
  • утилита Allure - для формирования отчётов о результатах прохождения тестов

Все должно быть установлено так, чтобы быть доступным через переменную %PATH%

Клонируйте данный репозиторий с помощью ms-git

git clone https://github.com/silverbulleters/vanessa-behavior.git

Или используйте шаблон работы по проекту 1С

Инициализируйте подмодули репозитория с помощью ms-git

git submodule update --init --recursive

При использовании SourceTree используйте команду Clone (Клонировать)

Обязательно ознакомьтесь с:

Описание простого использования

  • пишем feature файлы в формате Gherkin - обычно используется редактор Notepad++, Sublime IDE (Vanessa Extension) или связанный проект vanessa-bdd-editor
# encoding: utf-8
# language: ru

Функционал: Запуск и получение результатов запуска сценариев
Как любой разработчик продукта
Я хочу иметь возможность запустить проверку сценариев поведения на конфигурации 1С:Предприятие

# Контекст сценария выполняется всегда перед каждым сценарием

Контекст:
Когда существует разрабатываемая мною конфигурация 1С
И существуют требования заказчика к ожидаемому поведения в каталоге ".\features"

# Каждый сценарий состоит из последовательных связанных шагов

Сценарий: Запуск в консольном режиме
Дано Пусть существует файл ".\vb-execute-profile.json"
И в переменную окружения V83PATH установлено значение "C:\Program Files (x86)\1cv8\8.3.6.2151\bin\1cv8.exe"
Когда я запускаю командную строку '%V83PATH% /Execute .\vanessa-behavior.epf /C"StartFeaturePlayer;VBParams=.\vb-execute-profile.json'
Тогда появляется файл с результатами '.\BuildStatus.log'
И в каталоге ".\allurereport" существует HTML отчет о результатах проверки сценариев

Сценарий: Запуск в интерактивном режиме
Дано Пусть я открыл обработку "vanessa-behavior.epf"
Когда Я нажал кнопку "Загрузить фичи из каталога"
И указал каталог с требованиями заказчика равным ".\features"
И затем нажал кнопку "Сгенерировать шаблоны обработок"
Также в каталоге ".\features" возникли epf файлы идентичные имени feature файла
И при нажатии кнопки "Запустить сценарии" я вижу автоматизированный запуск обработок с признаком "pending" (ожидает реализации)

Классический вариант использования (без интерактивного режима)

Фактически классический вариант использования представляет собой следующий рутинный порядок:

  • зафиксировали требования к информационной системе;
  • создали автоматизированные сценарии проверки в виде epf файлов;
  • наполнили шаги сценариев (сниппеты) кодом проверки поведения;
  • запустили сценарии проверки поведения и убедились, что они НЕ работают;
  • разработали функционал;
  • запустили сценарии проверки поведения;
  • убедились что сценарии проверки работают и отчет о проверки показывает "Зелёный" статус.

Использование в режиме проверки поведения пользовательского интерфейса

Для команд уже имеющих функционал или производящих доработку типовых конфигураций в интерфейсе Taxi, действует упрощенный порядок использования:

  • зафиксировали требования к информационной системе;
  • создали автоматизированные сценарии проверки в виде epf файлов;
  • разработали управляемые формы или рабочие столы конфигурации в режиме прототипирования;
  • запустили запись интерактивных действий пользователя в режиме менеджера тестирования;
  • получившимся кодом наполнили обработки проверки поведения;
  • дополнили код проверки, кодом проверки данных если это необходимо;
  • разработали основной функционал;
  • запустили сценарии проверки поведения;
  • убедились что сценарии проверки работают и отчет о проверки показывает "Зелёный" статус.

Кто пишет feature файлы ?

Обратите внимание, что фактически feature файлы могут писать все участники команды:

  • менеджер проекта - если обнаружил что заказчику необходимо новое поведение;
  • бизнес или системный аналитик - на основе собранных требований и технических заданий;
  • ведущий разработки - если обнаружил, что требования недостаточно структурированы;
  • архитектор или эксперт 1С - если текущие сценарии некорректно спроектированы с точки зрения метаданных.

Для редактирования feature файлов используется проект по автоматизации сбора требований - на текущий момент имеет статус beta

Если вы не уверены в правильности ожидаемого поведения, используйте для этого системы тэгов, как то:

  • "@Draft@" - черновик требования
  • "@Предварительно" - начальные заметки

и подобные им обозначения

Файл профиля запуска обработки

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

Текущие параметры запуска:

  • Каталог фич - каталог где собраны требования заказчика описанные на языке Gherkin
  • ВыполнитьСценарии - признак того, что необходимо запустить выполнение сценариев
  • ДелатьОтчетВФорматеАллюр - признак того, что необходимо формировать HTML отчёт о результатах проверки
  • КаталогOutputAllureБазовый - адрес каталога для где будет формироваться HTML отчёт
  • ЗавершитьРаботуСистемы - признак того, что окончанию работы необходимо завершить работу 1С предприятия
  • ВыгружатьСтатусВыполненияСценариевВФайл - признак, что необходимо формировать файл с финальным статусом проверки
  • ПутьКФайлуДляВыгрузкиСтатуасВыполненияСценариев - по данному пути будет сформирован файл со статусом проверки (обычно используется на серверах сборки для автоматизированного указания статуса сборки)
  • СписокТеговИсключение - массив текстовых тэгов, для исключения из проверки (используется например для черновиков сценариев и требований)
  • СписокТеговОтбор - массив текстовых тэгов для запуска проверки поведения по сценариям, содержащим любой из указанных тэгов

Пример подобного JSON файла профиля:

{
"КаталогФич": "C:\vanessa-behavior\features",
"ВыполнитьСценарии": "Истина",
"ДелатьОтчетВФорматеАллюр": "Истина",
"КаталогOutputAllureБазовый": "C:\allurereport",
"ЗавершитьРаботуСистемы": "Истина",
"ВыгружатьСтатусВыполненияСценариевВФайл": "Истина",
"ПутьКФайлуДляВыгрузкиСтатусаВыполненияСценариев": "C:\BuildStatus.log",
"СписокТеговИсключение":[
"IgnoreOnCIMainBuild",
"Draft"
]
}

Профиль запуска предназначен для простого консольного запуска, пример подобной командной строки выглядит так:

%V83PATH% /Execute C:\vanessa-behavior\vanessa-behavior.epf /C"StartFeaturePlayer;VBParams=C:\VBParams.json"

Примеры запуска можно увидеть в соседнем репозитории Vanessa Runner

Создается при финансовой поддержке

как попасть в этот раздел ? смотри DONATIONS.md

Замечания:

  • в процессе подготовки редакции 1.0 идут активные изменения, вследствие чего обратная совместимость с редакциями ниже 1.0 может не соблюдаться;
  • пожелания к использованию можно фиксировать в виде Github Issues;
  • структура каталогов проекта соответствует шаблону https://github.com/silverbulleters/vanessa-bootstrap

Известные публикации

Вдохновение черпается из:

Заметки для желающих поучаствовать в доработке

  • мы используем подход git-flow для реализации функциональности;
  • мы используем precommit1c для фиксации исходников Epf обработки в git;
  • мы используем принцип самопроверки через feature файлы, поэтому перед разработкой новой функциональности мы также - разрабатываем feature файлы, генерируем шаблоны сценариев и наполняем их кодом для проверки. Поэтому к доработкам без feature файлов мы относимся "холодно".

Более подробно в файле CONTRIBUTING.md

Лицензии

  • основная лицензия продукта - BSD v3
  • лицензии стороннего кода - Apache License, GitHub CLA, Freeware, etc

Поддержка OpenSource команды

FAQ

  • Q: много ли команд используют такой подход ?

  • A: из известных нам - 63 команды

  • Q: можно ли тестировать производительность с помощью BDD ?

  • A: для этого существует другой закрытый инструментарий, который использует Vanessa-Behavior как клиента тестирования - используется в Enterprise проектах.

  • Q: Что вы думаете об "1С:Сценарное Тестирование" ?

  • A: на наш взгляд, "Сценарное Тестирование" слишком дорого по совокупной стоимости владения (TOC), поэтому пусть живет своей жизнью вместе с "СППР". Обратите внимание, "Учебный Центр №1" проводит подготовку слушателей по функционалу тестирования в 1С:Предприятии (ссылка на Facebook) - если Вас интересует функционал "Сценарного Тестирования", возможно стоит записаться именно на этот курс, а не ходить по GitHub ссылкам.

Enterprise Support

Платная подддержка содержит в себе:

  • обучение навыкам работы с BDD при разработке на 1С;
  • обучение навыкам написания на языке Gherkin;
  • обучение навыкам написания сценариев проверки поведения.

Для заказа платной поддержки необходимо отравить заявку на адрес [email protected] или по телефону +7-(499)-346-70-19.

[![ZenHub] (https://raw.githubusercontent.com/ZenHubIO/support/master/zenhub-badge.png)] (https://zenhub.io)

Контура сборки предоставлены

![DOcean] (https://www.digitalocean.com/assets/media/logos-badges/png/DO_Logo_Horizontal_Blue-3db19536.png)

About

BDD for 1C:Enterprise inspired by Cucumber

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • 1C Enterprise 66.1%
  • Roff 25.1%
  • Gherkin 8.8%