是否有任何有关TDD的科学研究都使用产品的总拥有成本作为衡量标准?


11

当我阅读Batic D的Dogsa T的先前工作的摘要时。测试驱动开发的有效性:工业案例研究。软件质量杂志。2011; 19(4):643-661。令我惊讶的是,围绕TDD进行的许多研究中使用的度量都是基于诸如代码行,缺陷和开发时间所基于的。

是否有研究集中在使用TDD与传统开发或最后测试相比开发的产品的总拥有成本上?

我对购置和运营总成本特别感兴趣。

Answers:


3

有一些研究关于进行TDD的含义和好处,但结果是矛盾的。一些项目(以我的经验)由于使用TDD而导致的错误率和拥有成本降低,因为更改功能的成本大大降低了。其他一些则停止了。

一些研究(这里是一个-检查幻灯片n50)显示,错误的数量随覆盖范围的增加而增加。我假设更大的覆盖范围意味着TDD,而更多的错误意味着更高的拥有成本。

从我的角度来看,任何度量标准或实践本身都不能与提高质量或降低拥有成本相关。有多种因素可以导致某种相关性。这些因素在团队和项目之间发生变化。

我认为我们都听过有关团队的故事,这些团队刚刚开始进行TDD,编写了100行测试方法,(在我看来)这增加了拥有成本,因为更新该测试将非常昂贵。

我的务实原则是,关心渴望学习,在支持他们及其思想的环境中工作的人具有更好的质量和拥有成本。


幻灯片n50极具误导性。“覆盖范围越广,错误越多”最有可能意味着“覆盖范围越广,您将发现的错误越多。” 有可能,但是我怀疑更多的覆盖范围会导致更多的注入缺陷。这只是说明覆盖范围越广,在开发阶段的缺陷率就越高。是的,有很多指标可以衡量质量和拥有成本-#分阶段注入的缺陷,分阶段缺陷的产生和返工都是可以衡量的,直接影响质量和成本。有关这些指标的一些出色示例,请参见PSP / TSP。
迈克尔

迈克尔,在那张幻灯片的背景下,演示者展示了与更高的错误密度相关的内容。指标之一是测试用例,因此一个类拥有的测试用例越多,该类中的错误就越高。演示者试图说的是,没有任何度量标准与较小的错误密度相关。
2012年

0

我没有任何专门的研究,但是我可以从个人经验和其他开发人员的经验中告诉您,我知道当正确地应用于中型和大型项目时,TDD可以缩短产品上市时间,减少错误和缺陷并提高代码质量。

话虽这么说,他们不是万灵丹,您能在没有TDD的情况下编写出色的代码吗?是的,您可以使用TDD编写错误的代码吗?同样取决于您的项目,TDD可能会大大增加代码的拥有成本,一个很好的例子是NASA,其中每行代码的成本巨大,但是拥有成本并不是重点,因为它没有缺陷。

正确应用时,TDD会增加您的启动成本和代码基础,但是您将获得回归测试,早期错误检测和更好的代码设计的长期利益,这将减少缺陷,测试成本和维护时间,从而降低总体成本。所有权。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.