testing - 单元测试在测试/Prototype设计中是否是一个坏主意?

  显示原文与译文双语对照的内容
87 3

我们开始介绍了很多新技术,我们不熟悉这些新技术,并且我们没有很多实践。换句话说,我们正在构建的服务类之间的接口和交互是相当易变的,因为内部和客户反馈是非常重要的。尽管我经常被移动规范,但是在一些程度上我们从来没有构建过。

我还介绍了测试驱动开发( TDD ),因为它具有良好的文档性,并且在概念上我喜欢这个概念。学习NUnit和模仿的另外两个新东西,但要看所有那些绿色圆圈,都值得。

随着时间的推移,设计的不断变化意味着我花了更多的时间来改变测试。出于这个原因,我回到了测试的旧方法- 也就是说,不自动测试。

虽然我没有疑问应用程序对于数百个优秀单元测试的健壮性,但是我已经经发现了。我的问题是,如果你正在建立一个测试版本/构建测试版本,你也会发现TDD是一个麻烦。TDD是否更自然地使用了规范更固定的hand-in-hand,或者者开发人员在语言和技术方面有更多经验。还是我做了根本错误的事情?

请注意,我并不试图在这里评论 TDD - 只是我不确定它是否总是最适合的。

时间:原作者:0个回答

146 0

简而言之,TDD对于beta版本非常有价值,但是对于Prototype化来说,它可能不会那么简单。

我认为区分beta版本和Prototype是非常重要的。

一个收费的beta版本基本上是一个生产版本,它仍然在开发中,所以你应该在这个场景中使用 TDD 。

你可以通过在你的答案中找到你想要的答案来构建一个收费的Prototype/证明,这是你构建的东西。

项目经理将推动原型作为生产代码的基础,但是是非常重要的。if知道这是不可能的,就像生产代码一样对待Prototype代码,因为你知道将来将成为生产代码,这意味着你应该同时使用 TDD 。

在学习新技术时,大多数代码示例 等等 都不用单元测试编写,因这里很难将新技术转换为单元测试。它绝对是overhead的。

但是,在我的经验中,单元测试往往强迫你推动你正在学习的新技术的边界。你需要研究和学习新技术所提供的所有不同的钩子,因为你需要通过或者分隔技术。

单元测试经常强制你学习技术,因这里开销实际上是更深的原型,因为它更有价值。

我个人认为单元测试是一个很好的学习工具。

考虑到测试可以维护性的症状有点正交,我认为。测试可能是 Overspecified,这是在使用已知技术时可能发生的事情。

本书测试模式描述了Overspecified测试反模式,并提供了大量指导和模式,可以帮助你编写更具可以维护性。

原作者:
133 3

我发现早期的测试结果在大量的代码丢失和一个空感觉在你的胃中。

测试需要测试的内容,而不是代码行。当你知道那是多少时,让我知道。

原作者:
...