4 ms·
TDD has no benefits, that is why the confusion is such an issue. People keep pretending the benefits of testing are benefits of TDD, when TDD is entirely unnec
by papsosouid 13y ago
TDD has no benefits, that is why the confusion is such an issue. People keep pretending the benefits of testing are benefits of TDD, when TDD is entirely unnecessary.
- davidcuddeback 13y agoCan you cite the research on that? I've read much of the research on TDD, and the results are inconclusive largely because they're inconsistent. At best, there is some weak evidence of some actual benefits but at some small cost. The two major problems that I see with the research in TDD are (1) there's little confidence that TDD was applied correctly in many of the studies, and (2) the studies have too low of statistical power to make conclusions. I think you're relying on a misunderstanding of TDD to make your conclusion. You say that "people keep pretending the benefits of testing are benefits of TDD." While it's true that many practitioners confuse the two, that is not the purported benefits of TDD. It's not fair to draw a conclusion based on that premise.
- papsosouid 13y agoIf you've read it, why do I need to re-show it to you? There is no evidence that TDD provides any benefit. There is evidence that testing provides benefits. TDD salesmen offer studies showing the benefits of testing as proof that TDD works: http://haacked.com/archive/2008/01/22/research-supports-the-effectiveness-of-tdd.aspx http://haacked.com/archive/2008/01/22/research-supports-the-...
- davidcuddeback 13y ago> There is no evidence that TDD provides any benefit. You originally said, "TDD has no benefits," which is a definitive claim and not supported by evidence. That's vastly different from saying, "There is no evidence that TDD provides any benefit." You seem to be conflating being unable to draw a conclusion with drawing a negative conclusion. They're not the same thing. > If you've read it, why do I need to re-show it to you? Because the research I've read doesn't support your conclusion that "TDD has no benefits." I'd like to know if there's a body of research out there that I haven't read yet. You seem to have an axe to grind with TDD salesmen. That's fair enough. Salesmen aren't in the business of advancing knowledge. They're in the business of persuasion. If you want to criticize salesmen for not being scientifically honest, be my guest. Sometimes, this tactic causes harm. For example, if a salesmen persuades someone to buy homoeopathic remedies instead of traditional medicine, people could die. I think it's good that you're skeptical of the salesmen, because they're business doesn't require them to be scientifically honest. But that shouldn't inform your opinion of TDD (or any other subject), because there are others in the world whose business does require them to be scientifically honest. And they're the ones whose words you should read to form your opinion. And that is why I asked for sources.
- papsosouid 13y ago>You originally said, "TDD has no benefits," which is a definitive claim and not supported by evidence No, you don't have to prove a negative. If it has not been proven, then it does not exist. Until TDD has proven benefits, it is correct to state that it does not have benefits. Just as until unicorns are proven to exist, it is correct to state that unicorns do not exist. >Because the research I've read doesn't support your conclusion that "TDD has no benefits." Yes it does, you just want to pretend that proof needs to work in reverse. It doesn't. >But that shouldn't inform your opinion of TDD (or any other subject), because there are others in the world whose business does require them to be scientifically honest. And they're the ones whose words you should read to form your opinion My opinion is based on the evidence, that's the point.
- davidcuddeback 13y ago> No, you don't have to prove a negative. That's equivalent to saying that a scientific claim doesn't have to be falsifiable. That's not true. A claim has to be falsifiable for a reason. > If it has not been proven, then it does not exist. So the Higgs Boson didn't exist six months ago? It wasn't proven, because there wasn't enough evidence for a statistically relevant result until March 2013. So does that mean that prior to March, you would have concluded that the Higgs Boson doesn't exist? If I had to sum up my problem with your reasoning in one sentence, it would be "belief is scalar, not boolean." Evidence should adjust your belief state somewhere between 0 and 1, but it should almost never be exactly 0 or 1. > Just as until unicorns are proven to exist, it is correct to state that unicorns do not exist. That's a variant of the "existence of god" problem. It's a non-falsifiable hypothesis. That doesn't fall within the realm of science, because it's not subject to empirical evidence. > My opinion is based on the evidence. I still haven't seen the evidence to support your conclusion. TDD's claimed benefits are falsifiable. Much like the Higgs Boson prior to March 2013, they have been neither proven nor falsified. But that doesn't mean we can't form a tentative belief based on the weight of the current evidence available. The weight of the evidence I've seen leans toward indicating some real benefits beyond normal unit testing. It's inconclusive because the studies lack statistical power and procedural consistency, but that doesn't mean we should automatically jump to a hardline decision in either direction (positive or negative). (Again, belief isn't boolean.)