Особенности функции BDD, я должен сделать новую историю или она принадлежит сценарию? - PullRequest
3 голосов
/ 18 августа 2010

Хорошо, так что я только начинаю пытаться использовать BDD для какой-то новой разработки, которую мы делаем, и я написал такую ​​историю для функции просмотра журнала:

История: Пользователь просматривает журналы выполнения рабочих процессов

As a user
I want to review the log of rules execution
So that I can examine the results and make adjustments/fixes to the rules definitions

с некоторыми сценариями, которые идут вместе с ним, что-то вроде того, если пользователь имеет надлежащие привилегии безопасности для средства просмотра журнала, когда он нажимает на представление журнала, то ему предоставляется доступ к средству просмотра журнала

Теперь я знаю, что нам нужен способ сортировки и фильтрации журнала.Означает ли это, что это совсем другая история, как эта?

Story: User filters the execution logs

As a user
I want to filter the log entries by selecting categories
so that I can view only log entries matching the category I selected

Или есть более «простая» функция в сценарии первой истории?вот так ...

Сценарий 2:

Given the user is looking at the log entries
When a category is selected
Then only the log entries matching the categories are displayed

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

1 Ответ

1 голос
/ 19 августа 2010

«Как… я хочу… чтобы…» мы обычно называем Повествованием истории. Пожалуйста, взгляните на шаблон Feature Injection: «Для того, чтобы ... Как ... Я хочу" - поставленная цель имеет интересные эффекты!

Часто с историей связано несколько сценариев. Сценарий - это пример того, как пользователь системы может захотеть использовать его. Существуют сценарии, позволяющие нам общаться с заинтересованными сторонами:

"Итак, учитывая, что у меня на счету всего 20 долларов, когда я прошу 50 долларов, мне следует сказать, что у меня недостаточно денег?"

«Да, если у вас нет овердрафта.»

Когда мы пишем их с помощью инструментов BDD или инфраструктуры тестирования, мы получаем приемочные тесты как замечательный побочный продукт этих разговоров!

Вы можете найти больше информации о BDD здесь:

http://en.wikipedia.org/wiki/Behavior_driven_development

и здесь:

http://www.infoq.com/articles/pulling-power

Прозрачность: большую часть первого я написал и являюсь автором второго, поэтому все, что неясно, является моей ошибкой.

...