【问题标题】:example of unit tests preventing regression [closed]防止回归的单元测试示例
【发布时间】:2011-08-11 13:36:38
【问题描述】:

我是我的 IT 商店(一家中型零售商)中唯一编写单元测试的开发人员。管理层要求我向我们的开发人员介绍这样做的好处。

其中一个“啊哈!”导致我对单元测试上瘾的时刻是意识到单元测试套件可以防止代码中的回归,如果您手动测试,您永远不会想到重新测试(因为它似乎与您所做的更改无关)。

我正在寻找包含在演示文稿中的此类测试的示例。理想情况下,它应该是“真实世界”,足以具有可信度,但又足够独立,适合课堂环境。自制测试和指向相关文本的指针都很好。实现语言并不重要。

【问题讨论】:

  • 虽然我没有任何示例,但您可以在演示文稿中问“您是否曾经更改过与一个功能相关的一些代码,而某些完全不同的东西坏了?”相信大家都会点头。这将来自他们自己的经验,因此您无需说服他们相信单元测试的好处。
  • 这个问题的问题是你要求社区为你找到一个例子。我们并没有真正回答这类问题。此外,即使您提出自己的想法,由于这会产生大量讨论,该问题仍然可以接受。我们不接受导致开放式讨论的问题。
  • 明白。是否存在 StackExchange 系列网站中的一个是一个合适的问题?也许在Programmers
  • 谷歌随时为您提供帮助..

标签: unit-testing testing regression-testing


【解决方案1】:

考虑阶乘函数的情况: 您将为此涵盖哪些不同的案例:

a) 它返回 0 的值

b) 如果数字是负数会发生什么

c) 它是否为两个不同的数字返回正确的值。

现在您以某种方式编写了一个实现。明天,如果有人决定使用递归函数重写相同的代码,它仍然应该通过你编写的各种测试,如果没有,那么你就抓住了一些东西。

这个例子够简单吗?我立刻想到了什么。

您的应用可能负责计算某事物的排列和组合,或者为此提供一个简单的计算器。

奖励:我以前找到的一个 ppt 并与同事分享:http://www.slideshare.net/dhelper/real-life-unit-testing

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多