使用TDD停止测试时?

Ped*_*rdi 1 tdd

我对测试驱动开发(TDD)知之甚少,但我总是听说我需要用一些测试用例开始开发.然后,我需要使用最简单的解决方案来完成此测试.然后创建更多测试以使我的测试再次失败......

但问题是:何时停止创建新测试?当我知道我的申请符合要求时?

Mat*_*nes 9

无耻地复制肯特贝克对这个问题的回答.

我得到的代码是有效的,而不是测试,因此我的理念是尽可能少地测试以达到给定的置信水平(我怀疑这种信心水平与行业标准相比很高,但这可能只是傲慢) .如果我通常不会犯一个错误(比如在构造函数中设置错误的变量),我不会测试它.我确实倾向于理解测试错误,所以当我有复杂条件的逻辑时我会格外小心.在对团队进行编码时,我会修改策略以仔细测试我们共同出错的代码.

不同的人会根据这个哲学有不同的测试策略,但这对我来说似乎是合理的,因为对于测试如何最适合编码的内循环的理解不成熟.从现在起十年或二十年后,我们可能会有一个更普遍的理论,即哪些测试要写,哪些测试不写,以及如何区分.与此同时,实验似乎是有序的.