Описывать бизнес-кейсы на таком языке, который будет понятен и человеку, далекому от программирования, и машине, далекой от естественного языка - это отличная идея. В ее реализации помогает Gherkin - человеко-читаемый язык, структура которого делает его понятным и для машины.
Главное правило языка: каждая значимая с точки зрения исполнения кода строка должна начинаться с одного из ключевых слов. Все строки, которые не начинаются с ключевого слова, никак не интерпретируются.
Основных ключевых слов немного:
- Функция
- Правило
- Пример (или Сценарий)
- Дано, Когда, Тогда, И, Но
- Предыстория
- Структура сценария
- Примеры
Существуют и вторичные ключевые слова:
- " " - в кавычки обычно заключаются пояснения, фрагменты документации и т.д.
- | - используется для создания таблиц с данными
- @ - для тэгов
- # - для комментариев
Функция
Функция предваряет высокоуровневое описание какой-либо функции ПО (или группирует несколько сценариев)
Функция должно быть первым ключевым словом в любом документе на языке Gherkin. После него следует двоеточие и небольшой текст - описание функциональности.
Ниже слова Функция может идти дополнительный текст в произвольном формате - описание. Оно будет игнорироваться программой.
Функция: Угадай слово
Игра "Угадай слово" рассчитана на 2 игроков. Ведущий загадывает
слово, а Игрок отгадывает его. Игра заканчивается, когда Игрок
отгадал слово, загаданное Ведущим
Пример функции и дополнительного описания
Описания могут сопровождать не только Функции, но и Сценарии, Предыстории, Структуры сценария и Правила.
Правило
Ключевое слово Правило используется перед описанием бизнес-правил, которые должны выполняться. Это дает дополнительную информацию к Функции. Правило используется, чтобы сгруппировать несколько сценариев, которые относятся к одному бизнес-правилу. Внутри Правила может находиться секция Предыстории, а также должен быть один или несколько сценариев.
Функция: Ниндзя
Правило: Остается только один
Предыстория:
Пусть было 3 ниндзя
Пример: Только один - Больше одного в живых
Пусть существует больше, чем 1 живой ниндзя
Когда встречаются 2 ниндзя, они сражаются
Тогда 1 ниндзя умирает
И в живых остается на 1 ниндзя меньше
Пример: <Название следующего примера>
<Описание примера>
Правило: Может остаться два (в некоторых случаях)
Пример: <Названиее еще одного примера>
...
Пример использования правила
Пример
Пример - это конкретная иллюстрация бизнес-правила. Он состоит из нескольких шагов.
Ключевое слово Сценарий - синоним слова Пример.
В Примере оптимально должно быть 3-5 шагов, хотя их количество может быть другим.
Пример - это одновременно и спецификация, и тест. В целом, Пример представляет собой выполняемую спецификацию системы.
Пример всегда строится по образцу:
- Исходное состояние системы
- События
- Целевое состояние системы