你如何测试自己编写的代码?

时间:2009-03-27 15:55:18

标签: unit-testing testing

您如何有效地测试您编写的代码?我发现很难测试我为我的网站编写的代码,因为我觉得我不想在我的代码中发现错误,因为这表明我并不完美。 (甚至写下我可能不会完美地打扰我一点。)

我相信单元测试,但最近我已成为一名枪手并且已经从臀部部署了大量代码(对于新的网络创业公司来说并不总是坏事,但通常是这样。)

在过去的几周里,我被自己的测试所带来的严重错误所困扰。我有一个合作伙伴,他推动黑盒测试我自己的代码,但由于我对实现细节的了解,我真的应该是使用白盒测试来测试代码弱点的最佳人选。

那么有哪些方法和工具可以帮助您测试自己编写的代码?

6 个答案:

答案 0 :(得分:4)

在代码之前编写测试有帮助,因为我可以在不考虑各种条件下代码的行为的情况下思考(没有在实现中设置的偏差)。

答案 1 :(得分:4)

好的,到此为止。

  1. 你并不完美。我并不完美。没有人是完美的。所以不要担心暴露错误。你越发现自己,而不是让别人找到你,你就越接近完美。

  2. 养成在代码之前编写测试的习惯。定义代码应该对一组有意义的测试做什么,然后编写代码以使测试通过。然后重构 - 经典TDD。

  3. 如果有错误,那么立即编写一个公开错误的测试(即应该通过,但由于错误而失败)。然后让测试通过,你已经修复了错误。

答案 2 :(得分:3)

总结一下:

TDD:

  1. 在编写代码之前,编写单元测试以接收输入并检查输出。
  2. 只编写代码 以使单元测试通过 - 仅此而已。
  3. 对您正在处理的每种方法重复一遍。
  4. 回归:

    1. 每次提交更改/功能/修复时,请运行所有单元测试。
    2. 对于每个失败的单元测试,请转到BUG FIX
    3. BUG FIX:

      1. 每次发现错误时,请编写单元测试以揭示错误。
      2. 实施导致单元测试通过的修复程序。
      3. 功能测试:

        1. 找一个不错的功能测试框架(例如selenium进行网络测试)
        2. 创建一些有助于实现应用程序端到端功能的测试
        3. 使用REGRESSION和BUG FIX流程查找并修复测试。

答案 3 :(得分:1)

我已经开始在代码之前为大于20行代码的所有个人项目编写单元测试。它有很大的帮助。

当人们说他们讨厌单元测试和TDD时,我总是感到惊讶。

答案 4 :(得分:0)

首先,您应该注意输入的所有可能性,然后您必须测试所有可能性。你可以找到我们的错误,它将清除很多错误。我只是用这种方式,到目前为止我还不知道工具

答案 5 :(得分:0)

  1. 如果您使用TDD,您可以编写测试代码,忘记它一周,然后编写生产代码。因此,如果您的方法是正确的,您将重新考虑。
  2. 避免尴尬。如果您在代码中发现错误并且能够修复它,则没有人可以指责您编写错误的代码。