BDD功能的特点,我应该创建一个新故事还是属于一个场景?

时间:2010-08-17 20:31:48

标签: process bdd user-stories

好的,我刚开始尝试将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 个答案:

答案 0 :(得分:1)

“作为......我想......那......”我们通常称之为故事的叙事。请看一下Feature Injection的模板:“为了......作为......我想要” - 首先把目标放在一起有一些有趣的效果!

通常有不止一个与故事相关的场景。场景是系统用户可能想要如何使用它的示例。这些方案使我们能够与利益相关者进行对话:

“所以,鉴于我的账户中只有20美元,当我要求50美元时,它会告诉我我没有足够的钱吗?”

“是的,除非你有透支。”

当我们使用BDD工具或测试框架编写它们时,我们会将验收测试作为这些对话的精彩副产品!

您可以在此处找到有关BDD的更多信息:

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

在这里:

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

透明度:我写了大部分内容并且是第二个作者,所以任何不清楚的都是我的错。