Maximum/Optimal 一个文件中的 Cucumber 测试场景数

Maximum/Optimal number of Cucumber test scenarios in one file

我有一个包含超过 66 个场景的 Cucumber 功能文件!功能文件的标题确实代表了场景的全部内容。

但是 66(200 步)感觉是个很大的数字。这是否表明我的专题标题过于宽泛?

一个功能文件中最多应该包含多少个场景(从最佳实践的角度来看)?

提前致谢:)

是的,200 个对于单个文件来说是异常多的场景。可能很难在文件中找到特定场景或将其组织起来。 (多个较小的文件更容易组织;文件目录比带有注释的长文件更容易理解和维护,或者更糟糕的是一些未注释的排序方案。)运行 也需要很长时间文件,这会给开发带来困难。

更重要的是,单个功能的 200 个场景可能意味着该功能极其复杂或非常广泛。在任何一种情况下,它都可能被分解成多个较小的功能文件。这也可能意味着场景太多​​。某个变量的每个值可能都有一个场景(编写一个场景可能就足够了,不用担心不同的值)或者每个特性的每个细节都有一个场景(最好编写单元测试,它更小更专注,更快速,详情)。

但是,对于任何关于一段代码大小的软件度量,可能有一个典型的大小,但每个问题都是不同的。您的功能可能真的那么复杂。不了解领域、不看特征文件就不能说。

虽然我不知道你的系统和功能文件,但我可以肯定地说,对场景及其用途存在误解。

场景的目的是通过示例对功能进行说明。通常,人们倾向于编写场景来涵盖所有用例。如果您以这种方式处理场景,该功能将失去人类可读性。

请记住,验收测试的编写成本和更改成本都很高。写出最小的场景。如果有一个场景不会为理解该特性带来任何额外的价值,那么那个场景就不应该存在。将所有用例移至较低级别的测试 - 单元测试。

在大多数情况下,该特征具有以单位为单位的场景数,如果是复杂特征,则为十个。

编辑:如果场景数量接近 10,我宁愿将特征文件拆分成更多描述特征更深部分的文件。