我为什么要写测试?

时间:2009-03-30 19:08:36

标签: testing

重复:

  

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

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

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

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

5 个答案:

答案 0 :(得分:8)

一个词:回归。确保你不会破坏曾经工作的东西,这非常值得编写测试。

答案 1 :(得分:2)

即使是小型应用程序,必须手动检查代码也非常耗时。请记住,即使您更改了应用程序的一个部分,您仍然可以打破另一个部分。只是因为改变了函数E而不得不测试函数A,B,C和D会导致你疯狂而不进行测试。现在花费少量时间进行编码测试,这样如果应用程序在某些时候会增长或离开你的手,那么对每个人来说都会更容易。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

首先,你不会在意你是否写过测试。它会令人讨厌,分散注意力,你只会直接放弃并编写代码。然后3个月后,你将回去维护一些代码,进行一些小改动,客户将开始调用X功能如何破坏。在挖掘代码3天后,你会发现一些你修复过的回归,经过几次喝酒和一次小假期后再次忘记这个问题。

另一个月将会过去,还需要一些其他的小修补程序,并且用户再次打电话询问功能X.这发生在你身上四到五次,最后你回头看,发现你浪费了3天五次,并且希望你有三个工作周回来建立有趣的东西。从那时起,你将至少写一些单元测试,叹息,同时希望你有更多的时间。

答案 4 :(得分:0)

当你晋升到老板的工作岗位时,下一位开发人员会像你一样勤奋吗?他/她是否知道修改代码后要执行的相应手动测试?