Как правильно составлять BDD-операторы? Есть ли в командах соглашение? - PullRequest
2 голосов
/ 23 октября 2019

Есть ли предпочтительный способ создания сценариев BDD в небольших гибких командах и среди сообщества? Я использую кабачок, и он дает пример на https://courgette -testing.com / bdd

Scenario: Refunded items should be returned to stock
  Given a customer previously bought a black sweater from me
  And I have three black sweaters in stock.
  When they return the black sweater for a refund
  Then I should have four black sweaters in stock.

Это звучит как хорошая идея? Хорошо ли это будет работать для общения в командах?

Я немного использовал их веб-шаги и сейчас делаю бит рефакторинга, чтобы прояснить для бизнеса.

Любые ссылки могут помочь. Спасибо

1 Ответ

1 голос
/ 24 октября 2019

Разговоры в BDD важнее инструментов. Вместо того, чтобы начинать с мелкозернистой спецификации в примере Куржетта, попробуйте сначала поговорить с бизнесом. Спросите их, какой пример поведения они хотят.

Когда вы записываете это, начните с того, что просто пишите так, как они его описывают. Удивительно, как мало людей слушают правильно! После того, как вы получили пример от них, взгляните на него. Можете ли вы увидеть, какие биты являются контекстами (Givens) и каковы результаты (Thens)? Какой шаг связан с тем, чтобы вызвать интересующее вас поведение (Когда)?

Как только вы это выясните, есть еще пара вопросов, которые я хотел бы задать:

  • Есть ли какой-то другой контекст, который для этого же события дает другой результат?
  • Есть ли какой-либо другой важный результат?

Например, если я выполнялтакое поведение для большого супермаркета, я мог бы встретить такой пример:

«О! Нет, не добавляйте продукты обратно на склад. Мы не знаем, как они были сохранены. Мы возвращаем деньги. это если что-то не так, но мы это делаем. "

Вы, вероятно, можете увидеть, как это может изменить ваш код!

Тестеры действительно хороши в том, чтобы задавать эти вопросы и определятьпропущенные сценарии! Это приводит нас к схеме «Три Амигоса». Мне нравится включать:

  • Деловой человек, Владелец продукта, эксперт по предмету или лицо с проблемой
  • Тестер
  • Дев (или параdevs).

Вы также можете включить дизайнеров пользовательского интерфейса, технических писателей и т. д. - Мэтт Винн говорит, что это «Три Амигоса, где три - это число от 3 до 7».

IМне действительно нравится, когда разработчик записывает сценарии в любой форме, которая позволяет им перейти к «Дано, Когда, Тогда». Иногда я делаю это на собрании;иногда я делаю это позже и показываю это или отправляю это своему деловому человеку.

Пример Коргетта - это то, что обычно случается, когда люди не разговаривают. Если вы начнете с разговоров, у вас гораздо больше шансов получить что-то, что соответствует приведенному выше. Мало того, что эти декларативные шаги легче для бизнеса и для всей команды, чтобы говорить, но они также легче поддерживать, поскольку детали того, как они достигнуты, скрыты (обычно в Определениях шагов, и далее в Page. Объекты).

В моем блоге есть все виды полезных постов для новичков BDD , если вы хотите узнать больше!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...