Process 大型产品中的TFD TDD相关性
我想知道我们在更大的产品中采用测试优先的设计方法的可行性和实际收益 虽然我坚信在开始编码之前先确定范围,但对于更大的产品,我真的不确定TDD是否成立 较大产品的现实问题:Process 大型产品中的TFD TDD相关性,process,tdd,sdlc,Process,Tdd,Sdlc,我想知道我们在更大的产品中采用测试优先的设计方法的可行性和实际收益 虽然我坚信在开始编码之前先确定范围,但对于更大的产品,我真的不确定TDD是否成立 较大产品的现实问题: 1.产品的尺寸使得维护所有测试用例变得更加困难。 2.单元边界慢慢变得不那么明确,有时不同单元之间会产生不必要的耦合。 3.测试单元可能不足以满足开发结构本身的功能(紧密耦合的可能结果) 4.最初的思维过程和愿景可能会随着产品的大小而被冲淡。这反过来冲淡了单元的定义,测试用例仅仅成为过程需求,而不是充当一段代码的监护人 我不认
1.产品的尺寸使得维护所有测试用例变得更加困难。
2.单元边界慢慢变得不那么明确,有时不同单元之间会产生不必要的耦合。
3.测试单元可能不足以满足开发结构本身的功能(紧密耦合的可能结果)
4.最初的思维过程和愿景可能会随着产品的大小而被冲淡。这反过来冲淡了单元的定义,测试用例仅仅成为过程需求,而不是充当一段代码的监护人 我不认为这种产品增长的情况是停止产品的增长并去除不需要的部分。开始清理产品,使其只具有定义产品的功能。其他功能,无论是已经开发的还是正在开发的,都可以作为附加组件提供。这些核心产品的一组功能需要使用一组强大的单元测试用例进行保护,这些测试用例单独定义了单元的功能 还有什么建议吗?我很想听听你们的意见,因为我目前面临着单元耦合和冗余测试用例的情况,而这些实际上做不了多少。所有这些都是因为产品的规模几乎每天都在增长
关于您的最后一个问题,我的建议是确保您的核心域逻辑尽可能经过测试和稳定。由您和您的团队来确定应用程序的“核心”是什么。其余的基础设施可能相当松散,但无论如何,这一层中应该很少甚至没有逻辑。锁定域名,其他人也应该这样做。谢谢你的详细回答。但我的具体问题是核心产品的视野被稀释了。您可以从一组核心功能开始。这些都是使用TDD开发的,慢慢地,你会增强你的核心。过了很长一段时间,你才意识到核心本身是相当大的。测试用例的维护成为一个更大的难题。我现在也在做一个有700000行代码的项目,这正是我面临的问题。@Unsung-测试用例的维护有什么问题?易碎测试?慢测试?等如果内核真的很难管理,您可能会像前面提到的那样将其分解,尽管这取决于测试难以管理的症状。通常,我们有一个核心项目,以及一个精简的web应用程序/服务层。我们发现测试很难管理的唯一一次是当它们开发得很差、测试太多等等的时候。问题是测试用例的数量和目的太多了。运行测试用例需要很多时间。此外,开发人员可能会从当前项目转移到另一个项目。对核心引擎所做的任何更改都可能需要对测试用例进行更改(这是完全可以接受的),但是仅仅修复测试用例所花费的精力实际上可能会减慢这个过程。这就是我认为作为一个管理项目的人,核心引擎的大小应该