一个文件中Cucumber测试场景的最大/最佳数量

时间:2016-03-11 17:34:06

标签: cucumber tdd bdd acceptance-testing cucumber-java

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

但66(200步)感觉非常多。这是否表明我的专题标题过于宽泛?

单个要素文件中应该具有的最大场景数是多少(从最佳实践的角度来看)?

提前致谢:)

2 个答案:

答案 0 :(得分:4)

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

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

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

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

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

答案 1 :(得分:1)

是的,200是单个文件的异常大量场景。很可能很难在文件中找到特定的场景或使其保持井井有条。 (多个较小的文件更容易组织;文件目录比人们理解和维护更容易,而不是带有注释的长文件或更糟糕的一些未注释的订购方案。)运行文件也需要很长时间,这将是使发展变得困难。

更重要的是,单个功能的200个场景可能意味着该功能非常复杂或非常广泛。在任何一种情况下,它都可能被分解为多个较小的特征文件。这也可能意味着有太多场景。可能存在某个变量的每个值的情况(可能足以编写单个方案而不用担心不同的值)或每个特征的每个细节都有一个场景(编写单元测试可能更好,因为它们更小更细节,更快,细节)。

但是,与任何关于代码大小的软件度量标准一样,可能存在典型大小,但每个问题都不同。您的功能可能真的很复杂。我们无法理解域名并查看功能文件。