并行功能和验收测试 (SpecFlow)

Side-by-side Functional and Acceptance Testing (SpecFlow)

编辑:这个问题好像是related

这个问题不是关于功能测试和验收测试的区别!我在网上找到的几乎所有信息都只是解释了它们之间的区别。我知道功能测试 (FT) 解决边缘条件和错误场景,而验收测试 (AT) 解决业务需求。我用 SpecFlow 实现了这两个目标。

从项目 structure/hierarchy 的角度来看,我在考虑将两者分开时遇到了一些麻烦。目前,我有一个包含 AcceptanceTests 文件夹和 FunctionalTests 文件夹的单元测试项目。我所有的步骤定义都混杂在一个 StepDefinitions 文件夹中。

我发现我不得不重复很多次,而且当我在 Traits 上分组时,MsTest 窗格只是将所有内容混合在一起。我想确定那里的行业标准是什么,所以我有五个问题:

将两者作为 SpecFlow 功能来做就有点过分了。

验收测试非常有价值,但它们需要大量的工作来编写和维护,并且需要很长时间 运行,因此您希望尽可能少地进行验收测试,同时仍能捕获您的所有信息重要用例。

相反,使用 NUnit 等单元测试工具测试您的 "fringe conditions and bug scenarios"。

您可能会发现,对于给定的功能,您需要一个用户犯错的场景,以便您指定错误处理的工作方式。但是您肯定不希望每个特定错误都有一个场景;相反,在验证代码的单元测试中捕获它们。