-3

我正在阅读以 KentBenk 为例的 TDD 测试驱动开发。

--->压力--------$----->RunTests |
|<------------$--------|

上图表示,如果带有 $ 的箭头表示第一个节点的增加意味着第二个节点的减少。

以上是正反馈循环。你感受到的压力越大,你做的测试就越少,错误和压力就越大。

我们如何摆脱这样的循环?这里作者提到要么引入一个新元素,要么替换其中一个元素,要么改变箭头。在这种情况下,我们将用自动化测试代替测试。

以下是图表后的文字说明:

我只是用那个改变破坏了其他东西吗?使用自动化测试,当我开始感到压力时,我会运行测试。立即运行测试让我感觉良好,并减少了我犯的错误数量,这进一步减轻了我的压力。

“我们没有时间进行测试。发布它吧!” 第二张图不保证。如果压力水平升高到足够高,它就会崩溃。但是,通过自动化测试,您必须有机会选择您的恐惧程度。

我的问题是

  1. 任何人都可以用新元素自动化测试来代表新的反馈吗?在这里,当我感到压力时,我们如何使用上图运行较少的自动化测试,那么我们如何减轻压力?

  2. 作者所说的“第二张图片没有保证。如果压力水平升高到足够高,它就会崩溃。但是,通过自动化测试,你必须有机会选择你的恐惧程度。”?

4

1 回答 1

1

手头没有这本书..但是从您引用的段落中。

拥有快速的自动化测试可以

  • 获得快速反馈(在做出改变后的几秒钟内)——你刚刚破坏了一些曾经有用的东西吗?
  • 经常运行它。理想情况下,在每一个微小的变化之后。您的测试套件越快,您的测试频繁运行的可能性就越大。

与手动测试的不同之处在于,反馈周期太长,导致您在花费一天/一周的时间测试所有内容之前进行大量更改(您不想在每个微小的更改之后损失一天/一周)。这会导致在发现缺陷时隔离更改的问题 - 更多的压力。

于 2012-12-13T05:15:52.870 回答