编写可执行规范的好软件和技巧

时间:2009-12-15 22:11:46

标签: cucumber

我正在开发的项目已经达到了可执行规范非常有用的程度。我们的资源很少,但我们确实有负责系统质量的人有时间编写这些规范。他不是一个真正的程序员,这就是为什么一个框架在高抽象或甚至可能是gui方面提供了很多帮助。

我一直在研究黄瓜和讲故事的人,但由于我在写这些东西方面经验有限,我很难决定哪一个是最好的。因此,如果你们在这些方面有经验的人能给我一些关于如何去做的指导,甚至可能会让我们的生活变得更轻松的好软件的一些提示,我会得到很大的帮助。在实施时我是否需要考虑一些问题?任何已知的陷阱?或者说可执行规范完全不是一个坏主意?任何意见都非常感谢。

系统在.Net平台上运行,因此您推荐的软件必须与此兼容。

1 个答案:

答案 0 :(得分:1)

对于非程序员来说,很难确定可执行规范的好提示,因为您编写的是当前项目的目标。

由于您希望测试运行,这是一个两难选择,但必须尽可能描述为非技术性。

我认为您需要将问题重新表述为“非极客如何学会编写可执行规范”或类似的内容。

我想从最近的一个项目中分享我的发现,我想写一个简短的烟雾(黄瓜/网络/机械化)。因此,测试使用webrat运行黄瓜,这为规范部分提供了非常非技术性的界面。

黄瓜的规格非常高(虽然引人入胜)

但是,为了编写规范,非极客们必须了解有关页面的一些内容。例如,通常需要查找搜索字段,按钮等的名称。

技术设置:

就我而言,我想要一个简单易用的解决方案,非技术人员可以从几个例子中继续指出。我选择了基于Cucumber + Webrat + Mechanize的设置。

这通过标准HTTP请求与应用程序进行通信。 (请注意,这可以防止我做javascript的事情,并且实际上是当前项目的一个优势,必须通过政府的无障碍辅助功能指南)

Webrat有一个非常简单的规范语法:“当我按[链接文字]”,“当我点击[按钮]”时,“然后我应该看到”关于我们:“'等等。

我对非技术人员的建议:

  1. 从一些示例中了解到您的极客已经在代码中加入了。也许您的开发人员创建了“overview.feature”,其中包含3-4个实际运行并传递您的应用程序的示例方案

  2. 了解如何查找表单字段的ID或名称。例如,您可以将Firefox浏览器与名为“Firebug”的插件一起使用。在这里,您可以通过右键单击网页中的任何元素来激活名为“Inspect element”的功能。

  3. 一般情况下,请尝试使用非技术语言保留您的规范。只是因为你更好地学习黄瓜/网络语言而拒绝编写过于复杂的表达式。请记住,那些不知道他们正在阅读可以实际执行的规范的人应该阅读您的规范。

  4. 如果您有兴趣,我可以分享这个项目的引导代码。