Testing 早期测试会导致过早优化吗?

Testing 早期测试会导致过早优化吗?,testing,optimization,Testing,Optimization,我经常听到的一个学派是尽早测试,经常测试,可能是可用性测试或其他类型的测试 另一种说法也被普遍认为是正确的:过早优化是万恶之源 这让我有点困惑。我应该早点考试吗?如果我发现并解决了一个问题,这是优化吗?还有,现在时机还不成熟吗?我是否应该使用早期测试来识别问题,然后在以后修复它们 请就这些声明提供一些指导 如何知道我是否在过早优化?过早优化可能意味着您应该在早期阶段修复设计和/或编码“问题”。如果您对此进行等待,将添加更多代码,并且改进这些问题将更加复杂(至少耗时) 其结果是,作为积极的副作用,

我经常听到的一个学派是尽早测试,经常测试,可能是可用性测试或其他类型的测试

另一种说法也被普遍认为是正确的:过早优化是万恶之源

这让我有点困惑。我应该早点考试吗?如果我发现并解决了一个问题,这是优化吗?还有,现在时机还不成熟吗?我是否应该使用早期测试来识别问题,然后在以后修复它们

请就这些声明提供一些指导


如何知道我是否在过早优化?过早优化可能意味着您应该在早期阶段修复设计和/或编码“问题”。如果您对此进行等待,将添加更多代码,并且改进这些问题将更加复杂(至少耗时)

其结果是,作为积极的副作用,您不仅通过优化,而且以后也可以减少bug的数量

当您在不改变功能的情况下改进结构(代码或设计)时,您就知道您是在过早地进行优化。为此,可以使用回归测试:

Run tests, all should be ok
Improve code/design
Run tests, all should be ok
当然,只有当您有非常好的回归测试时,这才有效


如果您指的是性能优化,这是完全不同的,我建议不要进行任何性能优化,除非您在性能方面遇到问题,或者您事先知道性能可能是一个问题。如果最后一种情况是真的,那么它应该是设计的一部分。

测试和优化是完全不同的。测试是验证它是否正确执行并产生正确的结果。优化是为了提高效率。这个问题可能更适合程序员。stackexchange.com。