【问题标题】:Handling input and output in automation of a functionality?在功能自动化中处理输入和输出?
【发布时间】:2019-03-01 11:53:44
【问题描述】:

假设您必须测试一种从软件中获取两个数字之和的新方法,并且您必须测试该功能并进行 BDD 自动化。 从以下两个方面来看,自动化的更好方法是什么(还有为什么)?

1) 使用固定输入并期望相同的输出。例如:输入 -> 3,5 输出 -> 8

2) 在每次运行时使用随机两个数字并根据常规总和对其进行验证。

【问题讨论】:

    标签: testing automation automated-tests bdd


    【解决方案1】:

    第一个。

    BDD 并不是真正的测试;它是关于使用示例来说明所需的行为。我们使用的例子是“范例”;专门为该插图挑选的。

    在您的情况下,总和是一个非常微不足道的问题。但是,当我们处理更复杂的业务行为时,我们会问:“你能给我举个例子吗?”接下来的对话是 BDD 中最重要的部分。从中,我们得到了我们将要处理的输入类型的实际示例,不仅是预期输出,还有该输出的价值,以及它对谁有价值。

    一旦我们将场景自动化,它们会作为一个很好的副产品提供测试,但这并不是它们所做的全部。它们也是活文档。业务人员可以阅读它们以了解系统的功能,团队成员可以使用它们来感受已经具备的功能。

    如果场景是通用的(“一个随机数”和“另一个随机数”和“一个结果”)而不是特定的(“2”和“3”和“5”),那就更难了。

    【讨论】:

      【解决方案2】:

      我喜欢 Lunivore 的回答,很有趣。预计此线程将在 15 分钟内被 SO 禁止! :)

      你没有解释你所做的商业价值。简单地说,使用随机输入比固定输入更复杂,因此可能会出现更多错误,从而使情况变得更糟。但也许你想测试随机输入?也许有某种价值,但您没有提供足够的信息?

      我想说你本末倒置,从初级 TDD 程序员的角度来看,而不是从高级 BDD 开发人员的角度来看。 “商业价值”通常高于某人的特定薪酬等级。但这就是 BDD 的起点,而不是终点。

      我会问你,“能够将这些数字相加有什么价值?你是个疯子吗?你为什么要和顾问谈论这个?”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-27
        • 1970-01-01
        • 2012-08-17
        • 1970-01-01
        • 1970-01-01
        • 2013-06-13
        • 2017-12-01
        • 1970-01-01
        相关资源
        最近更新 更多