Особенности функций BDD, должны ли я сделать новую историю или принадлежать в сценарии?
-
29-09-2019 - |
Вопрос
Хорошо, так что я просто начинаю пытаться использовать 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
Я понимаю, что это может быть трудно ответить, так как есть, вероятно, не один Правильно Способ сделать это, но я все еще немного запутался тем, как эти вещи должны быть разделены.
Решение
«Как ... я хочу ... Так что ...» мы обычно называем повествованием истории. Пожалуйста, посмотрите на шаблон функции инъекций: «Для того, чтобы ... как ... я хочу» - положить цель сначала имеет некоторые интересные эффекты!
Часто более одного сценария, связанного с историей. Сценарий является примером того, как пользователь системы может захотеть использовать его. Сценарии есть, чтобы мы могли иметь разговоры с нашими заинтересованными сторонами:
«Итак, учитывая у меня только 20 долларов на мою учетную запись, когда я прошу 50 долларов, тогда это должно сказать мне, что мне не хватает денег?»
«Да, если у вас нет овердрафта».
Когда мы пишем их с помощью BDD Tools или Framework Testing, мы получаем приемные тесты как замечательный побочный продукт этих разговоров!
Вы можете найти больше информации о BDD здесь:
http://en.wikipedia.org/wiki/behavior_driven_development.
и здесь:
http://www.infoq.com/articles/pulling-power.
Прозрачность: Я написал большую часть первого и автор второго, так что все, что не ясно, это моя вина.