Testing 为什么我要编写测试? 重复:

Testing 为什么我要编写测试? 重复:,testing,Testing,我想知道为什么我应该为我自己已经手动测试过的东西编写测试。我不写rspec测试或类似的东西。为了测试,我将编写一些东西,然后转到浏览器,确保更改符合我的要求。我听说这种方法被描述为“错误驱动的开发” 我现在编写的应用程序在范围和大小上通常都很小。我是唯一的开发人员(通常),因此我不必担心将其他人的代码合并到我自己的测试中 我认为有必要使用数百个表单测试大规模应用程序。但是对于我自己开发的较小的应用程序,编写测试比自己填写信息要花更长的时间。我听过很多开发人员提倡测试驱动开发,但我还没有“看到曙光



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

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


我认为有必要使用数百个表单测试大规模应用程序。但是对于我自己开发的较小的应用程序,编写测试比自己填写信息要花更长的时间。我听过很多开发人员提倡测试驱动开发,但我还没有“看到曙光”。这似乎是个好主意,但我无法证明编写测试所需的工作量是合理的。

一个词:回归。确保您没有破坏以前工作的东西非常值得编写测试。

我也做错误驱动开发,但测试在sql查询、页面加载、路由和用户输入的情况下仍然很有用。在web开发的某些情况下,会有相当多的复制粘贴,你永远不知道会遇到什么错误。在考虑测试时,它总是比那种令人遗憾的方法更安全

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

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

首先,您不在乎是否编写测试。这会很烦人,让人分心,你会放弃直接写代码。然后3个月后,您将回去维护一些代码,进行一些小的更改,客户将开始打电话询问FeatureX是如何崩溃的。在3天的代码挖掘之后,您将发现一些您修复的回归,在几杯酒和一个小假期之后,再次忘记这个问题


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

像这样的问题很多。例如:Duplicate:,Duplicate:最相关的问题是关于单元测试(甚至是TDD),这是一个更具体的主题。所以,伊姆霍,这个问题不是那些问题的重复。这是真的。。。我也是一个单一的开发人员,尽管我并不总是使用TDD,但在真正关键的领域进行一些单元测试确实为我节省了大量的时间。