用户故事/功能与用例/场景的区别是什么?

时间:2014-08-04 12:57:53

标签: cucumber specflow specifications gherkin speclog

用户故事/功能与用例/场景的区别是什么?任何指针都将非常感激。

它只是粒度,类似于史诗和用户故事吗?

1 个答案:

答案 0 :(得分:4)

关于"用例"的含义和差异已经写了很多。和#34;用户故事"。 Google "stackoverflow difference between use case and user story"看一些。

关于"功能"和"场景":

  • 在Gherkin中,场景是一系列一起执行的步骤。

    • 就用户故事而言:可能需要一个或多个方案来指定用户故事,具体取决于故事的大小。

    • 在用例方面:Gherkin使用"方案"几乎完全符合" scenario"的含义。在用例分析中:用例描述了一个演员(通常但不总是一个人类用户)和系统之间的一系列交互,足够详细地说明了系统的责任;场景是该用例的一个实例,其中包含一些值以及精确指定的交互细节,目的是使系统的一些优点(通常是边缘情况或错误处理)明确。就像用例场景一样,Gherkin场景必须完全指定所有值(即使它们隐藏在步骤定义中并且在Gherkin本身中不可见),因此"场景"对于Gherkin概念来说,这是一个很好的名称选择。

  • Gherkin功能只是一个场景集合,您可以随意使用它们。

    • 就用户故事而言:功能可以是一组实现用户故事或史诗的场景。根据我的经验,在实现了多个涉及应用程序相同部分的故事(相同的"功能")后,人们希望将这些故事的场景放在同一个功能中,以便知道在哪里找到它们 - 例如,您可能希望将所有与用户帐户相关的方案(创建帐户,升级订阅计划,取消帐户)放在同一个功能中,而不是放在不同的功能中,即使它们实现完全不同故事。

    • 就用例而言:通常需要几个方案来指定用例(例如,一个用于快乐路径,一个用于错误路径)。显然,这些属于同一个Feature文件。与用户故事一样,人们经常希望将用于描述软件相同功能的用例的场景放在同一个功能中。