并行功能和验收测试 (SpecFlow)
Side-by-side Functional and Acceptance Testing (SpecFlow)
编辑:这个问题好像是related
这个问题不是关于功能测试和验收测试的区别!我在网上找到的几乎所有信息都只是解释了它们之间的区别。我知道功能测试 (FT) 解决边缘条件和错误场景,而验收测试 (AT) 解决业务需求。我用 SpecFlow 实现了这两个目标。
从项目 structure/hierarchy 的角度来看,我在考虑将两者分开时遇到了一些麻烦。目前,我有一个包含 AcceptanceTests
文件夹和 FunctionalTests
文件夹的单元测试项目。我所有的步骤定义都混杂在一个 StepDefinitions
文件夹中。
我发现我不得不重复很多次,而且当我在 Traits 上分组时,MsTest 窗格只是将所有内容混合在一起。我想确定那里的行业标准是什么,所以我有五个问题:
我是否在单独的 AT 和 FT 专题文件中重复 "In order to... as a... I want to..."
故事?
我是否也在 FT 中重复所有 AT 的场景,还是仅重复边缘条件场景?
我是否应该将 AT 和 FT 保留在他们自己的命名空间中 and/or 他们自己的项目?
我是否应该尝试从 AT 的步骤定义中调用 FT 的场景步骤方法,因为 FT 正在完成繁重的工作?
欢迎就我当前的设置提出任何建议(例如,两者都做是不是太过分了?)。
将两者作为 SpecFlow 功能来做就有点过分了。
验收测试非常有价值,但它们需要大量的工作来编写和维护,并且需要很长时间 运行,因此您希望尽可能少地进行验收测试,同时仍能捕获您的所有信息重要用例。
相反,使用 NUnit 等单元测试工具测试您的 "fringe conditions and bug scenarios"。
您可能会发现,对于给定的功能,您需要一个用户犯错的场景,以便您指定错误处理的工作方式。但是您肯定不希望每个特定错误都有一个场景;相反,在验证代码的单元测试中捕获它们。
编辑:这个问题好像是related
这个问题不是关于功能测试和验收测试的区别!我在网上找到的几乎所有信息都只是解释了它们之间的区别。我知道功能测试 (FT) 解决边缘条件和错误场景,而验收测试 (AT) 解决业务需求。我用 SpecFlow 实现了这两个目标。
从项目 structure/hierarchy 的角度来看,我在考虑将两者分开时遇到了一些麻烦。目前,我有一个包含 AcceptanceTests
文件夹和 FunctionalTests
文件夹的单元测试项目。我所有的步骤定义都混杂在一个 StepDefinitions
文件夹中。
我发现我不得不重复很多次,而且当我在 Traits 上分组时,MsTest 窗格只是将所有内容混合在一起。我想确定那里的行业标准是什么,所以我有五个问题:
我是否在单独的 AT 和 FT 专题文件中重复
"In order to... as a... I want to..."
故事?我是否也在 FT 中重复所有 AT 的场景,还是仅重复边缘条件场景?
我是否应该将 AT 和 FT 保留在他们自己的命名空间中 and/or 他们自己的项目?
我是否应该尝试从 AT 的步骤定义中调用 FT 的场景步骤方法,因为 FT 正在完成繁重的工作?
欢迎就我当前的设置提出任何建议(例如,两者都做是不是太过分了?)。
将两者作为 SpecFlow 功能来做就有点过分了。
验收测试非常有价值,但它们需要大量的工作来编写和维护,并且需要很长时间 运行,因此您希望尽可能少地进行验收测试,同时仍能捕获您的所有信息重要用例。
相反,使用 NUnit 等单元测试工具测试您的 "fringe conditions and bug scenarios"。
您可能会发现,对于给定的功能,您需要一个用户犯错的场景,以便您指定错误处理的工作方式。但是您肯定不希望每个特定错误都有一个场景;相反,在验证代码的单元测试中捕获它们。