【问题标题】:Why should I write tests? [duplicate]我为什么要写测试? [复制]
【发布时间】:2010-10-16 11:10:00
【问题描述】:

复制:

Type of Projects where Unit Testing is useless
When to unit-test vs manual test
Is Unit Testing worth the effort?

我想知道为什么要为我自己已经手动测试过的东西编写测试。我不写 rspec 测试或类似的东西。为了测试,我会写一些东西然后转到浏览器并确保更改符合我的要求。我听说这种方法被描述为“错误驱动的开发”。

我现在编写的应用程序通常范围和大小都很小。我是唯一的开发人员(通常),因此我不必担心将其他人的代码纳入我自己的测试中。

我可以看到需要使用数百个表单来测试大型应用程序。但是对于我自己开发的较小的应用程序,编写测试所花费的时间比自己填写信息要长得多。我听说很多开发人员提倡测试驱动开发,但我还没有“看到光明”。这似乎是个好主意,但我无法证明编写测试(似乎)需要的工作量。

【问题讨论】:

标签: testing


【解决方案1】:

一个词:回归。确保您不会破坏过去可以工作的东西非常值得编写测试。

【讨论】:

  • 这太真实了...我也是一个开发人员,尽管我并不总是使用 TDD,但在真正关键的领域进行一些单元测试确实可以节省大量时间我就是因为这个原因。
【解决方案2】:

即使是小型应用程序,手动检查代码也可能非常耗时。请记住,即使您更改了应用程序的一部分,您仍然可以破坏另一部分。仅仅因为你改变了函数 E 就必须测试函数 A、B、C 和 D,这会让你在没有测试的情况下发疯。现在花一点时间编写测试代码,这样如果应用程序在某个时候确实增长或离开你的手,对每个人来说都会更容易。

【讨论】:

    【解决方案3】:

    我也进行错误驱动开发,但测试仍然证明在 sql 查询、页面加载、路由和用户输入的情况下很有用。在 Web 开发的某些立场中,存在相当多的复制粘贴,您永远不知道自己会遇到什么错误。在考虑测试时,它总是比抱歉的方法更安全。

    【讨论】:

      【解决方案4】:

      一开始,您不会在意是否编写测试。这会很烦人,让人分心,你会放弃,直接写代码。然后从现在起 3 个月后,您将回去维护一些代码,进行一些小的更改,客户将开始致电询问功能 X 是如何破坏的。经过 3 天的代码挖掘,您会发现一些回归问题已修复,而在喝了几杯酒和一个小假期后,您又忘记了这个问题。

      又过了一个月,需要进行一些其他的小修复,并且用户再次致电询问功能 X。这种情况发生在你身上四五次,最后你回过头来,意识到你浪费了 3 天五次,并且真希望你能回到生活中的三个工作周来创造有趣的东西。从那时起,您将至少编写几个单元测试,一边叹息一边希望您有更多时间。

      【讨论】:

        【解决方案5】:

        当你晋升到老板的职位时,下一个开发人员会和你一样勤奋吗?在修改代码后,他/她是否知道要执行的适当手动测试?

        【讨论】:

          猜你喜欢
          • 2019-07-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-28
          • 2013-09-04
          • 2010-09-25
          相关资源
          最近更新 更多