## Идеальный файл описания функциональности
| Правило | Особенность в 1С | Функционал Vanessa Stack помогающий соблюдать правило |
|---|---|---|---|---|
| Описывайте поведение, а не реализацию (в том числе кнопки и поля) | когда начинаете с типовой - можно принебречь правилом, затем используйте вложенные сценарии | Сценарии над сценариями |
| Не пишите сценарии которые не приносят пользы | Общая рекомендация для любых проектов, что 1С, что RoR | Аудит: количество функционала для каждой роли |
| Избегайте общих фраз в наименовании сценариев | Сценарий "Ведение учета в системе", это конечно классно, но совершенно непонятно | Автомаческое документирование и автоматическая видеоинструкция |
| Описывайте кому важен текущий функционал и почему | Роль - это профиль групп доступа в БСП, а не роль как объет метаданных | Библиотека: Запуск TestClient под определнным пользователем |
| Используйте реалистичные параметры | Очень полезно брать демо-типовые и копировать оттуда вентиляторы Бенатон и остальное | Возможность использовать в процедурах вместо парам01 человекочитаемые названия переменных |
| Смотрите на соответствие названия сценариев и его шагов | если сценарий называется "Поступрление товара" а шаги эмулируют создание заказа - так лучше не делать | Автоматическое документирование |
| Разделяйте шаги настройки и действий по достижению результатов | Заполнение учетной политики - это один шаг, а закрытие месяца это целый сценарий | Поддержка методов перед стартом сценариев и т.д. внутри обработки проверки |
| Никаких полезных действий в зоне Контекста, только проверки | База существует, заглушка веб-сервиса создана и т.д. | поддержка Контекста запуска каждого сценария |
| Не делайте много последовательных И в шагах | 1С система где приходится делать множество действий для одно операции - упаковывайте такие конструкции во вложенные сценарии и библиотеки | Библиотеки кода и вложенные сценарии |
| На начальном этапе написания сценария "Тогда" можно пропускать | Тогда будет счастье и начинайте реализацию функционала - такой шаг будет просто светится не реализованным | аудит требований и спец исключение "не реализовано" |
По мотивам Cucumber.Pro https://pbs.twimg.com/media/CgFiDbEWcAEODK9.jpg:large