GithubHelp home page GithubHelp logo

vanessa-behavoir's Introduction

vanessa-behavior

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

BDD for 1С:Enterprise

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

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

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

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

Все должно быть установлено так, чтобы быть доступным через переменную %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: Что вы думаете о сценарном тестировании ?

  • A: сценарное тестирование слишком дорого по савокупной стоимости владения, поэтому пусть живет своей жизнью вместе с СППР, обратите внимание, что учебный центр №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)

vanessa-behavoir's People

Contributors

1cgh avatar alehinsasha avatar artbear avatar bia-tech avatar binexekb avatar evilbeaver avatar g-ones avatar gitter-badger avatar hissin avatar hollligan avatar krapivinandrey avatar msmoiseev avatar nixel2007 avatar odemidenko avatar piskunovss avatar pr-mex avatar pumbaeo avatar purtcer avatar sburdin avatar sergpogo avatar snov1kov avatar tushkan avatar voronyukm avatar yasplush avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.