Как учить / учить огурца для огурца - PullRequest
24 голосов
/ 10 ноября 2009

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

Я прочитал некоторую основную информацию на сайте github для Cucumber и от быстрого поиска в Google, но хотел узнать, есть ли рекомендуемые ресурсы для того, чтобы заставить нетехнических людей написать полноценный BDD с помощью Gherkin ( Я предполагаю, что это предпочтительный язык для тестов на огурец, который будет создан в).

Спасибо.

Ответы [ 7 ]

29 голосов
/ 10 ноября 2009

Что я сделал с бизнес-аналитиками в нашей компании, так это научил их структуре, дав им ключевые слова: Дано , Когда , Затем , И для Сценариев и Для , Как и Я хочу для Возможностей.

Затем я привел им простой пример и сказал, чтобы они записывали свои особенности, как они думали, что они должны быть написаны. Удивительно, но структура была понятна, и написанные ими функции стали отличным началом.
Единственная большая проблема заключалась в том, что они содержали много логики на каждом этапе сценария. Я решил это, многократно спрашивая "почему?" что в большинстве случаев выявило основные функциональные возможности, к которым они стремились, и мы соответствующим образом переписали сценарии.

Давая им указания и позволяя им самим писать функции, они пачкали свои руки и были вынуждены думать о том, что они написали. Сегодня у них гораздо лучшее понимание и "почему?" итерации больше не распространены.

Конечно, вам нужно, чтобы бизнес-аналитики и разработчики работали в тесном контакте, а функции, которые пишут аналитики, должны действовать только как начало. Помните, что функции Cucumber - это просто общий язык между аналитиками и разработчиками. Им все еще нужно часто сидеть вместе, чтобы разговаривать друг с другом:)

9 голосов
/ 10 ноября 2009

http://cukes.info - отличный ресурс для обучения людей тому, как их писать. Бен Мейби также сделал отличную презентацию по огурцу на конференции Mountain West Ruby Conference 2009.

8 голосов
/ 10 ноября 2009

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

Возможно, я ошибаюсь, но по вашему вопросу у меня сложилось впечатление, что вы хотите обучить своих бакалавров писать "Огурец"; затем они напишут множество функций и передадут их разработчикам.

Это определенно не тот путь. Намного лучше, чтобы разработчики и пользователи BA (если это возможно) работали вместе, чтобы писать свои сценарии и строить их по мере необходимости. Тогда вы все вместе узнаете, что работает, а что нет.

Мы пытались заставить БА написать целые функции и передать их. Нам (разработчикам) пришлось в значительной степени переписать, потому что реализация оказалась не такой, как первоначально предполагал БА. Нам также пришлось изменить синтаксис шагов и найти и заменить весь файл.

Выполняйте по одному сценарию за раз, приведите его в действие, затем переходите к следующему. Итеративный подход сокращает напрасные усилия и гарантирует, что вы все понимаете, как должно работать приложение.

С точки зрения того, как писать шаги, лучше всего начать с тех, которые поставляются с Cucumber, и копировать и адаптировать их, когда вы работаете над проектом, чтобы соответствовать вашему конкретному приложению. Нет правильного или неправильного, это то, что работает для вас. Документация на огуречных сайтах, как правило, хорошая и станет ценным ресурсом, когда вы узнаете больше.

3 голосов
/ 04 октября 2010

Мы учим Gherkin (для SpecFlow) аналогичным образом, как его описал MRD.

Я думаю, что очень важно, чтобы аудитория была знакома с основным намерением «Спецификация на примере», гибким анализом требований и BDD, поэтому обычно мы сначала начинаем обсуждать фон. Мы также показываем пример сценария Gherkin и объясняем самые основы (например, Given / When / Then / But и таблицы).

Чем мы возьмем простой пример истории (который всем хорошо знаком), например, «добавить товары в корзину» (с некоторой ориентацией, конечно) и позволить им сформулировать критерии приемлемости в небольших группах.

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

Я также ввожу окончательное решение и показываю здесь альтернативные способы описания сценариев (фон, схема сценария и т. Д.). Если есть достаточно времени, я также покажу, как автоматизировать и реализовать воображаемую функциональность, основанную на этом. Это также помогает понять некоторые важные правила, которым нужно следовать, что значительно упрощает автоматизацию.

Хотя я никогда не знаю заранее, что произойдет, обычно это упражнение - лучшая часть нашего обучения BDD.

1 голос
/ 23 января 2017

Я думаю, что лучший способ научиться - это начать писать. Огурец и огурец просты в освоении, но сложны в освоении, поэтому важно как можно быстрее найти практические примеры.

Хотя важно начать писать свои первые сценарии, вам также потребуются некоторые ресурсы для выработки полезных привычек и понимания ключевых практик. Я написал книгу, которая может помочь. «Написание великолепных спецификаций» - это, я надеюсь, хороший способ узнать огурца и огурца. Он охватывает шаблоны и антипаттерны, а также ключевые приемы написания великолепных сценариев. :) Если у вас есть какие-либо вопросы, вы всегда можете связаться со мной по Twitter.

Если вы заинтересованы в покупке «Написание отличных спецификаций», вы можете сэкономить 39% с промо-кодом 39nicieja2 :)

Другие замечательные ресурсы:

  • «Спецификация на примере» Гойко Адзича, если вам интересны процессы разработки программного обеспечения и высокоуровневые инженерные практики.
  • «BDD в действии» Джона Смарта, если вы не против прочитать тестовый код на Java. Это всеобъемлющее сквозное представление об определении и тестировании требований к программному обеспечению.
  • «Поведенческая разработка» Лиз Кеог, если автоматизированное тестирование не зазвонит, но вы хотите понять, как спецификации с примерами влияют на процессы вашего бизнес-анализа.
  • «Книга огурцов: управляемая поведением разработка для тестировщиков и разработчиков» Мэтта Винна и Аслака Хеллесёя
  • «Книга RSpec: развитие на основе поведения с RSpec, огурцом и друзьями» Дэвида Челимски, Дэйва Астелса, Зака ​​Денниса, Аслака Хеллесёя, Брайана Хелмкампа, Дана Норта
1 голос
/ 12 августа 2011

В книге RSpec есть пара глав, относящихся к бизнес-аналитикам:
http://pragprog.com/book/achbd/the-rspec-book

0 голосов
/ 10 сентября 2015
...