好的,我刚开始尝试将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
我理解这可能很难回答,因为可能没有一种正确的方法可以做到这一点,但我仍然对如何拆分这些事情感到困惑。
答案 0 :(得分:1)
“作为......我想......那......”我们通常称之为故事的叙事。请看一下Feature Injection的模板:“为了......作为......我想要” - 首先把目标放在一起有一些有趣的效果!
通常有不止一个与故事相关的场景。场景是系统用户可能想要如何使用它的示例。这些方案使我们能够与利益相关者进行对话:
“所以,鉴于我的账户中只有20美元,当我要求50美元时,它会告诉我我没有足够的钱吗?”
“是的,除非你有透支。”
当我们使用BDD工具或测试框架编写它们时,我们会将验收测试作为这些对话的精彩副产品!
您可以在此处找到有关BDD的更多信息:
http://en.wikipedia.org/wiki/Behavior_driven_development
在这里:
http://www.infoq.com/articles/pulling-power
透明度:我写了大部分内容并且是第二个作者,所以任何不清楚的都是我的错。