【问题标题】:Do you perform test when you code a project alone? [closed]当您单独编写项目代码时,您会执行测试吗? [关闭]
【发布时间】:2011-06-22 04:18:20
【问题描述】:

我想知道单个程序员在单独编写代码时是否会花时间进行单元测试、功能测试或应用测试驱动开发 (TDD) 方法。或者,他只是费心让它发挥作用。

我问的原因是因为进行这些测试确实会延长整个项目。

谢谢。

【问题讨论】:

  • 我编写了一个 3 层的压缩算法,但我没有使用过一个测试。诅咒。这是我唯一要说的。

标签: unit-testing testing tdd functional-testing


【解决方案1】:

我发现,如果我不进行单元测试,项目就会延长一千倍。我总是想让该功能正常工作,然后是下一个功能,然后是下一个。尽管我已经一次又一次地向自己证明,这些测试是及时完成的​​黄金之路,但我还是需要付出努力才能有纪律地进行单元测试。

【讨论】:

    【解决方案2】:

    无论您是团队还是单独开发人员,测试的好处都是一样的。

    因此,神奇的答案是:这完全取决于您

    这两种情况之间唯一真正的区别是,当您自己开发时,您不必说服其他人编写或不编写测试,您可以简单地与自己争论。

    【讨论】:

    • 我认为这里的问题是成本与时间。如果我们有团队,我们可以指定一名测试工程师。
    • 如果您使用的是 TDD,开发人员通常会编写测试,而不是测试工程师。我会重新定义“成本与时间”的说法:你想做多少测试是关于是否更晚或更早发现错误的成本更高。
    【解决方案3】:

    我更喜欢 TDD,因为有些模块的 API 在开始时没有定义,并且在为数据模块编写 API 时编写 UI 有时会有点混乱。

    所以我倾向于通过为其编写测试用例来创建数据模块 API。我也用它来衡量进度。一旦完成。 UI 很快就完成了,而且由于数据部分已经过测试,所以调试 UI 的速度也快了很多。

    虽然与测试用例开发的偏移量更大,但它节省了很多调试时间,并提供了舒适的开发流程。

    【讨论】:

      【解决方案4】:

      这取决于:)

      • 如果它是我正在尝试学习的原型/概念验证/技术。我通常不选择 TDD,因为它是一次性的。 (我试图集成到我的应用中的第三方库的学习测试是一个例外。)
      • 如果我需要维持更长的时间(超过一个月),我会选择 TDD。如果将来有多个人一起工作,我肯定会选择 TDD

      也就是说,TDD 在这里并不自动暗示好的应用程序/设计/插入好的指标。好的/有经验的程序员编写好的软件。使用 TDD,它们更有可能变得更好/更快。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-01
        • 1970-01-01
        相关资源
        最近更新 更多