假设您必须测试一种从软件中获取两个数字之和的新方法,并且您必须测试该功能并执行 BDD 自动化。 从下面两个中可以看出什么是更好的自动化方法(以及为什么)?
1) 使用固定输入并期望相同的输出。例如:输入 -> 3,5 输出 -> 8
或
2) 在每次运行中使用随机的两个数字,并根据常规总和对其进行验证。
最佳答案
第一个。
BDD 与测试无关;它是关于使用示例来说明所需的行为。我们使用的例子是“范例”;专门为该插图挑选的。
在您的情况下,总和是一个非常微不足道的问题。但是,当我们处理更复杂的业务行为时,我们会问,“你能举个例子吗?”接下来的对话是 BDD 中最重要的部分。从中,我们得到了我们将要处理的输入类型的真实例子,不仅是预期的输出,还有输出的值(value),以及它对谁有值(value)。
一旦我们将场景自动化,他们就会提供测试作为一个很好的副产品,但这并不是他们所做的全部。它们也是活文档。业务人员可以阅读它们以了解系统的作用,团队成员可以使用它们来感受已有的功能。
如果场景是通用的(“一个随机数”、“另一个随机数”和“一个结果”)而不是特定的(“2”、“3”和“5”),那就更难了。
关于testing - 在功能自动化中处理输入和输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54944145/