我们计划将SpecFlow用作基于Web的项目的主要需求工具。这个应用程序有一些共同的目标形式的很多变化。这些变化主要是应用程序所服务的每个用户所在国家/地区(多租户)。
Q1。 SpecFlow是否是满足此类要求的不错选择?
我们已经发现每种形式的字段数量都很大,而且这些字段中的许多都需要验证。一些在客户端,一些在数据可用性或其他服务器端验证。这在SpecFlow中很乏味,尽管并非完全不可能。但这不是SpecFlow的设计目标(行为驱动而非数据中心)
Q2。请建议我们应遵循哪些最佳实践来捕获SpecFlow中的要求和
Q3。在哪些领域我们需要使用其他一些工具。 (SpecFlow无法很好地捕获需求)
答案 0 :(得分:1)
SpecFlow是Cucumber的.Net实现,tool的behavior 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库进行组合测试用例,您可能需要考虑切换到每个方案支持TickSpec的multiple example tables。
答案 1 :(得分:0)
我没有看到任何明显的原因导致您无法使用SpecFlow。只需注意以适当高的抽象级别编写规范。
如果您发布一个您认为乏味的例子,那么可以给出一些建议。
答案 2 :(得分:0)
同时检查配套产品“SpecLog”,以此可视化这些要求。