2009-11-09 175 views
23

我想使业务分析师能够写出他们的所有规格为特征,场景和步骤是黄瓜友好使用小黄瓜。如何学习/教小黄瓜黄瓜

我已经阅读了一些关于黄瓜github网站的基本信息,并且做了一个快速的谷歌搜索,但想知道是否有推荐的资源让非技术人员能够使用小黄瓜编写全面的BDD (我认为这是创建Cucumber测试的首选语言)。

谢谢。

回答

29

我在我们公司的业务分析师所做的是给他们的关键词教给他们的结构:鉴于然后的方案和作为我想要的功能。

然后我给他们一个简单的例子,告诉他们写下自己的特色,因为他们认为他们应该被写入。令人惊讶的是,这个结构是自我解释的,他们写的特征成为一个很好的开始。
唯一的大问题是他们在每个场景步骤中都包含了很多逻辑。我通过反复询问“为什么?”来解决这个问题。在大多数情况下,它们揭示了它们之后的核心功能,并且我们重新编写了这些场景。

通过给他们的指引,让他们写出自己的特点他们得到了他们的手脏,被迫去思考他们写了什么。今天他们有了更好的理解和“为什么?”迭代不再那么普遍。

当然,您需要让业务分析师和开发人员紧密合作,分析师编写的功能只应作为开始。请记住,Cucumber功能只是分析师和开发人员之间的共同语言。他们仍然需要经常坐在一起才能够彼此交谈:)

6

刚刚在第一次使用黄瓜的敏捷项目上工作时,我认为学习黄瓜和gerkin的最好方法就是让自己的手变脏。

我可能是错的,但我从你的问题,你是想培养你的BA写gerkin那么他们就会写一堆的功能,并将它们交给开发商的印象。

这绝对不是要走的路。 BA的开发人员和用户(如果可能的话)一起工作,编写自己的场景并随时随地构建它们会更好。然后,你们都一起学习什么可行,哪些不行。

我们试着让BA写完整个功能并交给他们。我们(开发商)最终不得不进行重大改写,因为实施结果与广管局原先设想的不同。我们还必须更改步骤的语法,并通过整个文件进行查找和替换。

一次做一个场景,让它工作,然后移动到下一个场景。迭代方法可以减少浪费的工作量,并确保您都了解应用程序的行为方式。

在如何写步骤方面,最好是先从附带黄瓜和复制,当你在你的项目,以满足您的特定应用工作,适应他们的人。没有对错,这是对你有用的。黄瓜网站上的文档通常很好,并且随着您了解更多,这将成为宝贵的资源。

3

我们以类似的方式教授小黄瓜(SpecFlow),它是如何描述它的。

虽然我认为观众熟悉“以规范为例”的主要意图,敏捷需求分析和BDD是非常重要的,所以我们通常先开始讨论背景。我们还展示了一个小黄瓜场景,并说明非常基础(如鉴于/时/然后/但是并表)。

比我们看一个简单的示例故事(对每个人都很熟悉),比如“将商品添加到购物车”(当然有一些定位),并让他们以小组形式制定验收标准。

每个团队显示/后解释他们的解决方案和我们讨论了存在的好的和坏的做法。在第二队之后,你可以看到几乎所有最重要的(好的或坏的)练习出现。

我也输入了结论的解决方案,并在此处显示了描述场景(背景,场景大纲等)的替代方法。如果有足够的时间,我还展示了如何自动&实现基于这样的想象功能。这也有助于理解要遵循的一些重要规则,这使得自动化更容易。

虽然我从来不知道会发生什么,但通常这个练习是我们BDD训练的最佳部分。

0

我认为最好的学习方法是开始写作。黄瓜黄瓜&是简单易学,但很难掌握,所以要尽快得到实际的例子是很重要的。

尽管通过编写第一个场景开始很重要,但您还需要一些资源来建立良好的习惯并理解关键实践。我写了一本可以提供帮助的书。 “Writing Great Specifications”是,我希望,学习小黄瓜和黄瓜的好办法。它涵盖了模式和反模式以及编写好场景的关键技术。:)如果您有任何问题,可以随时打我的Twitter.

如果您有兴趣购买“书写大指标”,可以节省39%的用促销代码39nicieja2 :)

其他伟大的资源:

  • Gojko Adzic的“规范范例”如果您对软件开发过程和高级工程实践感兴趣。
  • “BDD在行动”由约翰智能,如果你不介意的Java读取测试代码。这是一个全面的终端到终端的视图定义和测试的软件需求。
  • “行为驱动开发”由Liz基奥如果自动化测试没有按门铃,但你要明白举例规格如何影响你的业务分析流程。
  • “黄瓜书:为测试人员和开发行为驱动开发”由马特·怀恩和AslakHellesøy
  • “RSpec的书:使用RSpec,黄瓜,和朋友们的行为驱动开发”,由大卫赫利姆斯基,戴夫Astels,扎克 - 丹尼斯,AslakHellesøy,布莱恩Helmkamp,丹北
+0

非常全面,非常好的资源。 – Angela 2017-02-04 16:18:58