Vanessa automation 1c с чего начать
Vanessa-Automation — инструмент тестирования прикладных решений на платформе «1С: Предприятие»
Много вы знаете инструментов тестирования, которые умеют:
Об этом доступно и наглядно (с картинками) в этой статье, не переключайтесь.
Вступление
Данная статья представляет собой обзор созданного в недрах OpenSource инструмента тестирования прикладных решений 1С под названием vanessa-automation. Данный проект является прямым продолжением широко известного в узких кругах проекта vanessa-behavior (fork был создан на версии 1.1.131). Кстати, существуют и другие fork’и.
Контекст
Как бы не было приятно думать, что каждый читатель этой статьи на habr знает 1С, все таки, обманываться не вариант. Потому не рискну продолжить, не сформировав у читателя представления о платформе 1С и ее возможностях, используемых в vanessa-automation (далее va или Ванесса).
Итак, после установки платформы 1С её нужно запустить в режиме Предприятия или в режиме Конфигуратора.
В конфигураторе ведется разработка конфигураций, а в предприятии с этими конфигурациями работают пользователи: создают, редактируют и сохраняют всякие такие справочники и документы, тем самым наполняя базу данных, а потом формируют отчеты и снова: создают, редактируют и сохраняют… и так в цикле. Впрочем, обычный сценарий использования платформы разработчиком, внешне, не сильно отличается от пользовательского:
запускают в режиме конфигуратора нужную конфигурацию, а далее в цикле → что-то разрабатывают или дорабатывают → (пере)запускают из конфигуратора 1С в режиме предприятия и руками проверяют то, что разработали или доработали.
Ситуацию спасает функциональность платформы под названием Автоматизированное тестирование, которая дает возможность записать, воспроизвести и проверить действий пользователя. Как данная функциональность меняет сценарий использования разработчиком платформы рассмотрим на примере, НО сначала о Внешних обработках.
Прикладные объекты конфигурации (они же «Метаданные», они же «Объекты конфигурации», она же Элла Кацнельбоген, она же Валентина Панияд )
описывают предметную область и имена этих объектов говорят сами за себя.
«Документы» отражают хозяйственные операции, к примеру, поступление товаров. «Справочники» нужны для того, чтобы ввести, к примеру, название контрагента 1 раз и далее выбирать его, а не вводить каждый раз заново. В «Регистрах» хранятся данные и по ним строятся виртуальные таблицы для выполнения сложных расчетов и формирования «Отчетов». Вот мы и добрались до Обработок, с их помощью обрабатывается информация базы данных (например, выполняется закрытие месяца в бухгалтерском учете или различные обмены между информационными базами), но нам они интересны возможностью выгрузки во внешние обработки.
Конфигурации поставляемые самой фирмой 1С находятся на поддержке (нельзя изменять, чтобы не лишиться автоматического обновления), а внешние обработки дают возможность без снятия с поддержки производить различные манипуляции с данными, ну и конечно — тестировать!
После выхода платформы версии 8.3.10 появилась возможность, для целей тестирования, использовать, кроме внешних обработок, ещё и расширения (они же patch’и).
С определенной долей упрощения, можно сказать что технически, внешняя обработка 1С — это файл с расширением epf открыв который в конфигураторе, можно создать множество форм → разместить на формах элементы управления и запрограммировать некую функциональность в модулях этих форм. Ещё у внешних обработок есть «общий» модуль (он же «Модуль объекта») и макеты, НО это уже совсем другая история, а мы возвращаемся к тестирования.
Чтобы воспользоваться функциональностью Автоматизированное тестирование, нужно запустить два экземпляра 1С предприятия, первый с ключом менеджера тестирования (/TESTMANAGER), второй с ключом клиента тестирования (/TESTCLIENT) и установить соединение между менеджером и клиентом тестирования. Таким образом сценарий использования разработчиком платформы становится таким:
Из конфигуратора запускаем 1С в режиме предприятия с ключом менеджера тестирования → в предприятии открываем va и с его помощью запускаем ещё один экземпляр
1С в режиме предприятия с ключом клиента тестирования. Соединение менеджера и клиента тестирования va устанавливает автоматически после запуска клиента тестирования. Клиентом тестирования может быть как тонкий клиент, так и web-клиент.
Итого: Фирма 1С написала свой Selenium, который встроен в платформу 1С: Предприятие. И этот Selenium от 1С имеет преимущества. Например, любой элемент управления (он же control) на форме всегда имеет уникальное имя, которое в 99.99% случаев известно заранее. Соответственно нет проблем с локаторами, а чтобы найти элемент управления достаточно написать:
Закрепим материал на примере
Необходимо разработать конфигурацию для учета продажи товара с печатью накладных.
Внимательный зритель мог заметить конструкцию
и вы не ошиблись, да — Ванесса использует свой диалект gherkin, в котором есть условия и циклы. Думаю, идея добавить в gherkin условия и циклы родилась примерно так:
Некоторые участники OpenSource сообщества данное решение критиковали, но если верить gitter, то сошлись на следующем — «человекочитаемости» фичи данная функциональность не вредит, а использовать её или нет — каждый решает сам.
Про turbo gherkin планируется отдельная статья, следите за обновлениями.
«BDD на 1С» и немного истории
va, каким мы его видим сейчас, виделся его создателям иначе. Делать тот же cucumber + selenium на 1С было решено только после того как испытали самые очевидные и низкозатратные варианты. В определенный момент стало ясно, что если использовать cucumber и selenium, то именно эти инструменты и придется дорабатывать, чтобы получить необходимую функциональность тестирования прикладных-бизнес решений 1С. Данный расклад, в рамках opensource и реалий мира 1С, усложнял и растягивал по времени развитие проекта. В итоге было решено обойтись только средствами платформы 1С: Предприятие.
На примере с продажей товара мы увидели как работает va, теперь давайте посмотрим как это реализовано.
Проверка шагов
На видео «Тестирование» показан va, в который уже загружен feature-файл (далее фича) и сформировано дерево шагов. По кнопке «Выполнить сценарии» начинается обработка каждого шага, т.е. вызов процедуры проверки шага. О том где находится эта процедура, поясню на примере.
Допустим, есть фича со сценарием:
Чтобы реализовать проверку шагов этого сценария, нужно получить внешнюю обработку, соответствующую фичу. В va это делается автоматически, по соответствующей кнопке.
Процедуры проверки шагов будут распологаться в модуле формы обработки.
Далее, при загрузке фичи va выполнит поиск и последовательное подключение внешних обработок, чтобы узнать процедуры проверки каких шагов в них (внешних обработках) реализованы. За это отвечает следующая процедура:
Последовательность поиска процедур проверки шагов следующая:
В том случае, если в фича добавится/удалится/изменится сценарий, по той же кнопке «Создать и обновить шаблоны обработок» внешнюю обработку соответствующую фиче можно перезаполнить.
Реализовав проверку шага один раз, её можно использовать в других фичах (повторное использование шагов). Собственно по этому, в модуле формы внешней обработки, мы видим две процедуры проверки сценария из трех шагов.
Шаги «из воздуха» и WYCIWYG
Немного о Функциональности Автоматизированное тестирование платформы 1С. Напомню, Автоматизированное тестирование позволяет записывать, воспроизводить и проверять воспроизведенные действия пользователя. На деле это всё те же клиент тестирования и менеджер тестирования, только на стороне клиента включается запись журнала действий пользователя.
В результате мы имеем xml-файл с описанием действий пользователя:
Лежит ли на поверхности идея создать функциональность преобразования журнала действий пользователя в шаги сценария, сейчас сказать сложно, НО первым догадался и реализовал эту идею — Паутов Леонид (pr-mex). Объем проделанной работы можно оценить по содержанию и размеру библиотеки, ведь кроме перевода журнала действий пользователя на язык gherkin, требовалось реализовать процедуры выполнения и процедуры проверки шагов.
Таким образом, чтобы получить готовый сценарий «из воздуха» достаточно в менеджере тестирования включить запись действий пользователя.
В клиенте тестирования воспроизвести действия пользователя, например функциональности, которую нужно доработать или ошибки, которую нужно исправить. Ну и завершить запись действий пользователя. Таким образом реализуется «WYCIWYG» подход к разработки тестов (What you click is what you get).
Шаги, например, проверяющие результат действий пользователя в сценарий можно добавить из библиотеки.
Детализация шагов и экспортные сценарии
К сожалению в реальности сценарий состоит из множества шагов, больше чем на следующем скриншоте.
Есть, как минимум, два варианта облегчить восприятие таких сценариев.
Первый, с помощью табуляции «сдвинуть» шаги, которые нужно сгруппировать и дать им мнемоничный заголовок.
Второй, делать сценарий лаконичным и универсальным и экспортировать. Думаю у меня не получиться описать данную функциональность лучше, чем Елена на видео «Использование тега tree и шаги из воздуха» и «Передача параметров в сценарий».
Данные видео (1, 2) также созданы из сценариев на Gherkin и с помощью движка «АвтоВидеоИнструкций» преобразованы в mp4 формат за один клик.
Да, Ванесса умеет создавать видео ролики о том как работает Ванесса)
АвтоВидео
Автоматические видео-инструкции — это тема отдельной статьи (вот она), мне остается лишь рассказать немного предыстории.
Момент подготовки инфобазы, воспроизведения действий пользователя и проверки этих действий, т.е. выполнение сценария,
достаточно наглядная инструкция, если замедлить выполнение шагов.
Сажать пользователей за просмотр выполнения сценария (откуда этот милицейский юмор?) не вариант, но на реализации функциональности формирования html файла с шагами и соответствующими скриншотами автор не остановился. Его не остановило и то, что при воспроизведении действий пользователя курсор мышки не отображается и нет возможности выделить произвольную область на форме, поэтому он написал соответствующие утилиты. Далее, по запросу пользователей была добавлена озвучка (Елена), что с основными работами по формированию ролика с субтитрами и оригинальным музыкальным фоном, вылилось в приличный объем работ, но авто-видео-инструкции того стояли. На данный момент авто-видео-инструкции существенно оптимизированы, в плане синхронности озвучки и действий на видео.
Немного скучной статистики
va поддерживает:
Чтобы корректно работать на таком «зоопарке», va пришлось научиться тестировать саму себя. Отчет о «self» тестировании выглядит примерно так:
Скрипты для «self» тестирования находятся в том же репозитории.
Библиотека шагов
В поставку va входит библиотека стандартных шагов Gherkin, которая позволяет решать повседневные задачи автотеситрования, такие как работа и интерфейсом приложения (кнопки, поля, таблицы и т.д.), работа с файлами, ОС и т.д. На данный момент это более 400 шагов.
Локализация
Интерфейс va локализован на 20 языков:
RU, am, az, bg, et, fr, ka, de, en, hu, it, lv, lt, mn, pl, ro, sl, es, sv, tr, vi.
Локализацию va можно разделить на 3 составляющих:
Поэтому уже сейчас на va могут писать сценарии на английском англоязычные пользователи. Все шаги из стандартной библиотеки переведены человеком. Результат может выглядеть примерно так.
Логично, что для поддержки такой локализации пришлось реализовать дополнительный инструментарий по работе с макетами (макет — это что-то вроде таблицы excel) для вставки/удаление значений, сортировка строк и т.д. напрямую в исходниках (xml файлах).
«TDD в 1С», тестирование процедур и функций (unit тесты)
С помощью va можно проверять «поведение» процедур и функций. Достаточно написать подобный сценарий:
Если у читателей будет интерес, то эту тему можно раскрыть более подробно в будующих статьях.
Варианты поставки
Изначально проект поставлялся только в виде набора epf файлов, которые можно было собрать из исходников на github, либо скачать готовый релиз. Начиная с версии 1.2.009 va поставляется ещё и как один epf файл, который включает в себя все библиотеки, плагины, пакеты локализации, модули сборки видео и т.д. Так сказать — всё в одном.
Этот вариант фреймворка получил название vanessa-automation-single. Он хорошо подойдёт тем пользователям, которые не планируют дорабатывать va, а будут только использовать. Также этот вариант поставки хорошо подходит для включения в состав других конфигураций или расширений (благо лицензия проекта FreeBSD это позволяет).
Сверху вниз и снизу вверх
Несмотря на то, что инструмент изначально задумывался для реализации именно BDD методологии (т.е. когда сценарии пишутся сверху вниз, т.е. отталкиваясь от верхнеуровневых требований заказчика), практика использования показала, что на нём можно писать и сценарии снизу вверх. Типовой кейс — когда уже есть готовая конфигурация, и её надо просто покрыть тестами, не замарачиваясь методологиями.
Мораль
Надеюсь у читателя сложилось (ключевое слово «сложилось») представление о va как о серьезном инструменте тестирования. Посматривая на зарубежные аналоги на старте, сейчас va их превосходит, по моему скромному мнению. Расширение функциональности работы с gherkin, дало (обещанную, но не воплощенную до turbo gherkin) возможность вовлечь в процесс разработки и аналитика и разработчика и тестировщика. Поясню, аналитик пишет сквозной, верхнеуровневый сценарий → разработчик детализирует этот сценарий в том числе с помощью экспортных сценариев, и кроме кода он практически ничего не пишет (все необходимые шаги UI уже в библиотеке) → тестировщик добавляет сценарии, чтобы под «другим углом» проверить функциональность и всё это — в одном feature-файле, ура товарищи!
На этом позвольте завершить данную обзорную статью.
Поддержите проект добрым словом/лайком/критикой (чат проекта в Gitter находится здесь), авторам это всегда приятно.
Vanessa-Automation — инструмент автодокументирования прикладных решений на платформе «1С: Предприятие». Кино и BDD
Меня не интересуют истории, которые оставляют зрителя безразличным. Я хочу, чтобы выходя из кинотеатра человек думал: «Черт возьми, мне нужно выпить». (с) Киллиан Мёрфи
Так, что это значит Кино и BDD?! Добро пожаловать под кат.
Я расскажу об инструменте, который из сценария, написанного на Gherkin (есть такой язык сценариев), делает инструкцию, а точнее — актуальную документацию (Living documentation).
Чтобы вас не томить — сразу покажу результат моих (и не только) трудов.
Я расскажу вам как из сценария, написанного ниже, сделать вот такой вот ролик одним кликом. Замечу, что сценарии можно писать не только на русском языке, но и на других языках.
Не секрет — документация со временем устаревает, а поддерживать её в актуальном состоянии затратно, да и “ломает”. Документация уже есть, но постоянно надо что-то дополнять, менять скрины и т.п. Тут из ниоткуда выныривают бородатые дядьки и уверяют, что есть волшебный способ сделать всю вашу разработку по крутому (все эти ваши модные TDD/BDD/и т.д.), с помощью которого весь ваш код пишется сам, сам себя тестирует и документирует.
И вот, движимые ленью и верой в светлое будущее, программисты 1С решили реализовать этот концепт. Я буду показывать как это работает на примере инструмента Vanessa-Automation.
Забыл сказать (на самом деле, конечно не забыл, а сознательно оттягивал 🙂 — этот инструмент для 1С. Моя цель рассказать вам об инструменте, дополняющем 1С. Да, такие инструменты есть, даже больше — они выложены на github и активно развиваются. Позволю себе небольшое отступление. Многие знают, что сейчас есть много фреймворков для JavaScript, то есть живут настоящим, но почему-то многие в отношения 1С живут прошлым. Я хочу показать, что мир 1С развивается. Есть нормальные Open Source инструменты для 1С.
Итак. Одним пользователем нужна документация в виде текстовой документации (HTML, Markdown), другим в виде скринкаста, третьим в виде автовидео. И для всех «хотелок» есть решение в одном флаконе.
Генерация HTML и Markdown
Для того, чтобы генерировать HTML и текст в markdown, необходимо установить утилиту для снятия скриншотов (IrfanView, nircmd или подобное). Далее включаем данную настройку. (Сервис — Автоинструкции. Ищем раздел HTML и Markdown). Настраиваем папку, в которую будем сохранять автоматически сгенерированные автоинструкции. Пример:
Запускаем нашу feature, если не было ошибок — сохраняется автоинструкция:
Генерация видео
Без всякого труда мы можем сделать видео. Для этого необходимо настроить окружение для записи видео по инструкции и наслаждаться процессом. Не надо нарезать видео, склеивать и накладывать звук. Это всё делается автоматически.
Каждое видео идёт с субтитрами. Можем поставить на паузу и почитать. Не сложно. Делаем максимально удобно для пользователя.
Если скучно читать, можно сделать озвучку голосом. Для этого устанавливаем библиотеку и запускаем наш сценарий. Через пару минут видео с озвучкой будет готово.
Есть функция накладывания водяного знака, подсветки активного элемента на экране (эта фича работает для версий платформы 8.3.11 и ниже) (да, пользователи любят когда им всё разжевывают) и движения мышки туда, где происходит “Экшн”.
Гибкая кастомизация видео
Всё начинается со сценария и на нём же заканчивается. Именно так.
Можно настроить ваш CI сервер так, чтобы он генерировал не для всех сценариев документацию, а только для необходимых. Для этого в сценариях, предназначенных для автодоков добавляем тег, например @tree (далее будет работать отбор по этому тегу) и… наслаждаемся процессом.
По идее, когда вы пишете большой сценарий, вам всё равно придётся его делить на логические блоки, делать в нём комментарии (что вот этот супер важный флажок надо установить, иначе ничего работать не будет).
Идея автовидео в том, чтобы эти комментарии стали частью “истории”, которую мы показываем пользователю.
Когда мы смотрим сгенерированное видео, то там изначально будет только видео без звука. Мелькают какие-то скриншоты и текст, становится скучно и перестаёшь вникать. Да и грустно как-то без музыки. Фоном к видео можно поставить “лёгкую” музыку (или какую-нибудь тяжесть, любой каприз), чтобы веселее читалось. Процесс изучения пойдёт быстрее 🙂 Опыт создания таких видео показал, что когда фоном играет музыка, то видео воспринимается проще. Без музыки — сухо как-то.
При записи видео не отображается курсор и не видно куда мы нажимаем, на какой элемент. Для этого есть настройка отображения курсора и подсветка элемента формы.
Все вышеперечисленные настройки показаны в видео и в сценарии, которые сгенерировались после успешного прохождения сценария.
Автообновление видео на ютуб
Для ночной сборки (ну мы же не собираемся заливать ролики на ютуб руками, правда?) можно реализовать автоматическое выкладывание видео на youtube канал.
Натравливаем на папку с нашими feature скрипт, который определяет, что файл изменился, затем делает сборку видео и заливает его куда надо.
Для автовидео я сделал простое приложение на Golang (почему на нём? Изучал go и появилась реальная задача, где можно его применить. Если было бы что-то другое, было бы на чём-то другом), которое отправляет готовый ролик на youtube канал. Это, конечно, просто пример. Видео можно добавлять в ваши Wiki или базу знаний и т.п.
Заключение
Привожу вам тестовый сценарий, по которому сгенерировано видео.
Пример, feature.
Краткая инструкция как настраивать автодокументирование лежит тут.
Инструкция как настраивать автодокументацию.
Спасибо за потраченное время. Как бы дико это не звучало, но 1С сообщество шагнуло вперёд ( и в чём-то даже кого-то обогнало ), появились opensource инструменты тестирования, CI — интеграция. 1С делает для своих продуктов API — это и позволяет энтузиастам автоматизировать участки, до которых 1С пока не дошла, но потихоньку идёт. А скоро нас ожидает новый дивный мир 🙂 Я в ожидании, когда мы сможем без критических ошибок творить в EDT.
Поддержите проект добрым словом, лайком, критикой (чат проекта в Gitter находится здесь) авторам это всегда приятно.
Vanessa, хочу все и сразу
Павел Олейников (OPM)
На Инфостарте есть цикл статей от Владимира Литвиненко про тестирование с помощью Vanessa:
В этой статье я расскажу о той возможности Vanessa Automation, которая помогает сделать поставку продукта интереснее для заказчика и проще для исполнителя.
В каждом договоре на внедрение после пунктов про анализ и разработку обязательно есть раздел, связанный с подготовкой инструкций и обучением пользователей, здесь нам может помочь Vanessa Automation
Она не только тестирует приложение, но и по тесту записывает видео, которое можно использовать как инструкцию.
Что для этого надо?
Ставим Vanessa Automation.
Смотрим справку в пункте автоинструкции, нда. шагов много, ну а кому сегодня легко.
Для записи видео нам понадобится VLC плеер, ImageMagick, SikuliX.
После установки SikuliX не забудьте путь к нему прописать в переменную PATH, проверить работу можно запустив в консоли команду runsikulix.cmd (может понадобиться перезагрузка компьютера)
В результате выполнения шагов инструкции, у нас будут заполнены основные параметры сборки видео.
После заполнения настроек по умолчанию, надо проверить что видео будет работать. Мне пришлось поменять путь к команде convert, так как установил более свежую версию ImageMagick и понадобилось скачать отдельно ffmpeg (входящий в ImageMagick версии 7.0 мне не подошел, пришлось качать его отдельно – тот, который входит в ImageMagick версии 6.X, запускается без проблем).
Чтобы это было не немое кино, можно использовать три разных голосовых движка:
Все это настраивается на странице аудио:
Аккуратно настроим папки, в которых будут храниться временные файлы (чтобы не искать потом, куда делось место на диске), этих файлов будет много.
Вот и все, можно запускать сценарий, который у нас уже есть (мы же читали статьи выше), после завершения сценария система еще немного подумает, выдаст несколько окон, в которых будет сообщать, что она делает (а то вдруг уснем) и, в конце концов, откроет папку с видеоинструкцией.
Если вы не любите смотреть как другие работают, ставьте галку, и служебных сообщений не будет, а видео соберется гораздо быстрее.
По умолчанию, в начале видео добавлена вставка с заголовком фичи,
в конце видео – с описанием сценария,
но их тоже можно отключить.
Начиная с версии 1.2.028 в инструкции можно использовать несколько разных голосов и эмоций (только Yandex).
Например, все что делает система у нас будет проговаривать нейтральный мужской голос (Захар), а что должен сделать пользователь – веселый женский (Оксана).
Для этого в настройках сценария выбираем голос zahar, и нейтральную эмоцию
Это будет базовый голос и базовая эмоция.
А в самом сценарии перед фразами, которые должна произнести Оксана добавляем тег: @YandexTTS: oksana, good
Если эмоция не меняется относительно базовой, то второй параметр можно не указывать.
Запускаем сценарий на выполнение. После завершения обработки сценария вы получите сценарий, в котором Захар сухо говорит, что происходит на экране, а Оксана бодро сообщает, что нажимается или вводится.
Все просто, если вы тестируете с помощью Vanessa Automation, то уже пишете инструкции. Кстати, для тех заказчиков, кто не верит во всякие «заморские штуки» и очень любит старую добрую бумагу, можно сформировать инструкцию в формате HTML. Для этого ставим галку и заполняем каталог.
Контролируем, что у нас заполнена команда для создания скриншотов, при необходимости ставим IrfanView (32х разрядную версию):
Запускаем сценарий и наслаждаемся результатом, теперь подготовка многостраничной инструкции займет намного меньше времени.
И еще один пример видео:
Специальные предложения
Но почему у статьи установлена категория DevOps, ведь ни тема статьи, ни сам инструмент никакого явного отношения к DevOps не имеет?
(7) Ок, я видимо не очень конструктивно сформулировал вопрос.
Представим, меня интересуют вопросы тестирования ПО или написания инструкций.
Как пользуясь имеющейся системой категория я смогу найти эту и подобные ей статьи?
Мне кажется логичным видеть эту статью в категориях «Документирование» и «Тестирование».
А когда я открываю категорию DevOps, я ожидаю видеть там статьи про DevOps: про организацию пайплайна CI, про оркестрацию и т.п., а не про то, как создавать видеоинструкции (пусть и автоматизированно) или тестировать ПО.
. Важно устанавливать именно те версии ПО, что указаны в справке. По крайней мере у меня все начало работать именно после установки соответствующих версий ПО.
Еще один момент, в справке по автоинструкции, по ссылке со списком ImageMagick нет указаной версии (ImageMagick-6.9.3-7-Q16-x64-dll.exe), ее можно найти здесь: https://ftp.icm.edu.pl/packages/ImageMagick/binaries/
Спасибо!
Error: voice not selected
Если выбирать между «вообще нет инструкции» и «озвучивает и показывает человек с серьезными проблемами в общении, но все же понятно и, главное, правильно, только не ругайтесь», то, да, просто отлично, хотел бы я сказать.
Вы предлагаете пользователю прослушать, скажем 10, косноязычных объяснений?
С нежностью вспомнился Simple Query Language, превратившийся в Structured Query Language 🙂
Наверное, все же правы те, кто не допускает программистов до создания тех. документации.
Человек так уж устроен, что пытается применить тот инструмент, которым он лучше владеет. Даже если он абсолютно не годится для поставленной задачи. С помощью мастерства и такой-то матери преодолеем.
Скорее-всего поймут и даже обрадуются хоть какой-то «документации».
Причем я упоминал, что, если сценарии работают, то документации, соответствующей действительному функционалу (одной из его веток). Это очень хорошо.
Но хотелось бы понять:
1. Как все же быть, когда на одно действие приходится больше одного сценария.
2. Вы смотрели северокорейские фильмы?
Вольная цитата: «Я Ким, как представитель нашей областной ячейки партии и передовой тракторист, хочу пригласить тебя, как верную идеям Ким Ир Сена, комсомолку, детородного возраста, создать совместную ячейку общества. Что, после того как мы зарегистрируем ячейку общества в сельсовете, позволит нам подать заявку на рождение нового члена для продвижения великих идей чучхе».
Вот ваша озвученный сценарий это очень напоминает. Только будет длинней раз в 20. Ну и озвучка уступает даже северокорейскому фильму.
Как говорил В.И. Ленин: «. Где у нас приговоры народных судов за то, что рабочий или крестьянин, вынужденный четыре или пять раз прийти в учреждение, наконец, получает нечто формально правильное, а по сути издевательство?»
3. Вы правда считаете, что такие «инструкции» нужны не только новичкам, и работающему человеку не нужна иерархическая база знаний с нечетким поиском?
Ну не надо менеджеру смотреть ролик, у него стоит клиент, с оплаченным заказом, товар у менеджера перед глазами, отчет по остаткам на складе подтверждает наличие,а реализация не создается?
Требуется за 10 секунд понять почему. В идеале программа должна это подсказать сама, а не выдавать смутное сообщение о нехватке (кстати, по сути верное, но издевательское без подробностей), но хотя бы база знаний быть должна.
Да вы и сами, как программист, правда будете смотреть ролик, чтобы вспомнить на каком месте находится нужный параметр в ВычислитьВыражение в СКД?
По 1.
Вам надо расписать частотные пользовательские сценарии. Понятно, что у многих процессов бывают ответвления и все комбинации перебрать не получится.
Посмотрите как делают ребята из проекта 1С-ЭДО. Вот их плейлист с автовидео созданными на VA:
https://www.youtube.com/playlist?list=PLY7ViBfWFBOkPONsBgH4fEvj7ESz5uhum
По 2.
Не понял что не так с озвучкой и причём тут северкорейские фильмы. Роботы уже давно научились вполне хорошо говорить. Да, не как голивудские актёры, но для инструкций этого и не требуется.
Можно посмотреть те же ролики от проекта ЭДО.
По 3.
Автовидео инструкции не исключают другого вида документации. Они их дополняют.
Так я тоже, того, программист. 🙂
Вот вы меня и не понимаете.
Я пытаюсь сказать, что очень редко создание чего-то, более-менее сложного, еще раз, я про простую основную цепочку, а не про ответвления!
Укладывается в простой сценарий, а вы опять приводите сценарий на две минуты.
По п.3 неа, не дополняют, они ОБА желательны, но сфера использования разная.
А вообще, я уже полез в философию и умничаю не по делу, осталось только провести «полезную» дискуссию о том, какой должна быть документация при том, что я ни разу не технический писатель. 🙂
В общем, ваша статья мне понравилась. А как и что использовать решать будет каждый сам за себя. 🙂
(27)
Посмотрите другие ролики с этого же канала.
Там есть видео разной длительности. И больше 2 минут. И там есть более сложные сценарии.
А так, ну не знаю: берем любого специалиста и он нормальным голосом, со всеми нужными смысловыми паузами и примечаниями, состряпает тот же ролик, раза так с третьего. По времени то на то, по качеству несравнимо.
Я не даром упомянул SQL, только, если SQL рассматривался как простой язык для обычных пользователей, то ваш вариант похож на простой язык для создания технической документации для программистов.
И то и то, в определенных ситуациях даже работает, но очень определенных. 🙂
Вы можете включить этот сценарий в контур CI и он там будет работать. Что мешает?
Я думаю вам стоит сравнить оба подхода на практике.
Разница в подходах существенная. При подходе video as a code:
— Не нужно использовать спец оборудование (микрофоны, тихое помещение и т.д.)
— Не нужно заниматься монтажом
— Не нужно перезаписывать ролик с нуля при смене версии конфигурации. Робот может его пересобрать автоматически.
Ролики, приведенные выше, сделаны НЕ программистами, если что )
Для создания ролика до сих пор хватало обычной комнаты и микрофона от web-камеры.
Качество приемлимое, мы же не песни записываем, а по сравнению с говорилкой, вообще на 5+.
Весь монтаж выливался в вырезание 2-5 лишних кусков и то не всегда, часто с третьей попытки все и так было ОК.
P.S.
Можно ли на 1С написать программу работы с изображениями, например, просмотр многостраничных tiff?
Да, можно, я написал. Последние версии платформы позволили.
Надо ли это делать, если, например, знаешь C++ и там куча готовых библиотек?
По-моему, не стоит.
Можете привести пример такого ролика? Интересно сравнить.
Не понял этот абзац, простите )
На всякий случай скажу, что то как будет отработано обновление/изменение тестов зависит от регламента работы.
Можете привести пример видео инструкции (созданной как угодно) такой сложной цепочки?
Причем тут именно BDD?
Комментарии к коду могут являться документацией, причем автособираемой (JAVA).
Тест, во всяком случае, основанный на TDD, всегда является документацией, даже если в нем нет ни строчки комментария.
Ролики, созданные где угодно, тоже и т.д и т.п.
Вы же предложили, как это подход распространить на пользователя.
По-моему, хорошая идея, но с ограниченной применимостью.
По n-му кругу объяснять почему код, заточенный под документацию, будет плох как тест, наверное, не очень хорошая идея.
Всё же хочется говорить предметно. «Любая ссылка» для этого не подходит. Лучше конкретная.
BDD тут при том, что именно там озвучивается тезис, что тест является документацией в том числе для не технарей. Т.е. для обычных людей. BDD декларирует, что эта документация должна быть легко читаемой и легко понимаемой.
Тут хочется посмотреть на это бизнес действие, которое покрывается цепочкой из множества тестов.
Плюс непонятно почему этот подход хорош именно для программиста. На практике тесты могут писать и пишут разные роли, не только программисты.