使用SpecFlow作为主要需求管理工具

时间:2013-04-02 16:34:02

标签: bdd specflow

我们计划将SpecFlow用作基于Web的项目的主要需求工具。这个应用程序有一些共同的目标形式的很多变化。这些变化主要是应用程序所服务的每个用户所在国家/地区(多租户)。

Q1。 SpecFlow是否是满足此类要求的不错选择?

我们已经发现每种形式的字段数量都很大,而且这些字段中的许多都需要验证。一些在客户端,一些在数据可用性或其他服务器端验证。这在SpecFlow中很乏味,尽管并非完全不可能。但这不是SpecFlow的设计目标(行为驱动而非数据中心)

Q2。请建议我们应遵循哪些最佳实践来捕获SpecFlow中的要求

Q3。在哪些领域我们需要使用其他一些工具。 (SpecFlow无法很好地捕获需求)

3 个答案:

答案 0 :(得分:1)

SpecFlow是Cucumber的.Net实现,toolbehavior driven development也称为specification by example。情景在Cucumber' Gherkin language中描述。

Gherkin允许您在表格中指定内联或examples的数据:

Scenario Outline: eating
  Given there are <start> cucumbers
  When I eat <eat> cucumbers
  Then I should have <left> cucumbers

Examples:
| start | eat | left |
|  12   |  5  |  7   |
|  20   |  5  |  15  |

使用表格可以帮助您以易于阅读的方式指定表单的字段。

如果仍然无法管理,另一个选择是使用NUnit,它允许您指定多个values并生成Combinatorial组测试用例。如果您想要使用Cucumber库进行组合测试用例,您可能需要考虑切换到每个方案支持TickSpecmultiple example tables

答案 1 :(得分:0)

我没有看到任何明显的原因导致您无法使用SpecFlow。只需注意以适当高的抽象级别编写规范。

如果您发布一个您认为乏味的例子,那么可以给出一些建议。

答案 2 :(得分:0)

同时检查配套产品“SpecLog”,以此可视化这些要求。