Что такое Gherkin и зачем он нужен бизнес-аналитику?

Gherkin – это структурированный естественный язык (Natural Language), который используется для описания поведения системы по заданному сценарию. В словарь языка включено десять ключевых слов (Given, When, Then, And, But, Scenario, Feature, Background, Scenario Outline, Examples).

Следуя концепции Behavior Driven Development (BDD) с различными целями Gherkin может использоваться разработчиками, аналитиками и QA-инженерами, например, для написания Acceptance Criteria/Tests.

Бизнес-аналитики могут использовать Gherkin для расширенного описания поведения системы (создания пользовательских требований в виде пользовательских историй (User Stories)).

Например, для несколько упрощенной пользовательской истории:

As a Client

can Log In

So that I can see my Client page

Можно дать следующее расширенное описание:

Scenario 1.1: Log In is successful

Given Client John tries to Log In

     And the Username is valid

     And the Password is valid

When the Client presses the button for Log In

Then System displays welcome message

     And the Client page appears

Scenario 1.2: Log In is failed

Given Client John tries to Log In

     And the Username is not valid

     And the Password is valid

When the Client presses the button for Log In

Then System displays message  about wrong Username

     And the Client page doesn’t appear

Scenario 1.3: Log In is failed

Given Client John tries to Log In

     And the Username is valid

     And the Password is not valid

When the Client presses the button for Log In

Then System displays message  about wrong Password

     And the Client page doesn’t appear

Решение о необходимости расширенного описания поведения системы, безусловно, принимается исходя из условий и потребностей конкретного проекта.

Смотрите также:

  1. Приемочные тесты (Acceptance Tests) в виде сценариев для пользовательских историй (User Stories).

Что такое Gherkin и зачем он нужен бизнес-аналитику?: 2 комментария

  1. Здравствуйте, не совсем верно.

    Сценарий 1.1.:
    — лучше использовать переменную вместо «named John».
    — button “Log in” — лучше избегать упоминаний title для контролов, т.к. это снижает стабильность тестов и создает зависимость от UI.
    — «And the Client page is displayed» Тут лучше использовать present simple, чтобы показать что действие выполняеться непосредственно после WHEN — иначе нужно указать временной лаг.

    Нравится

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s