当我阅读之前在Dogsa T,Batic .的工作总结:测试驱动开发的有效性:一个工业案例研究。软件质量杂志2011年;第19(4)段:643-661。令我印象深刻的是,在关于TDD的许多研究中使用的度量都是基于代码行、缺陷和用于开发的时间。
是否有专门针对那些使用TDD开发的产品的总拥有成本或ex传统开发或测试的研究?
我对收购的总成本和运营成本特别感兴趣。
发布于 2012-05-18 13:39:03
有一些关于做TDD的含义和好处的研究,但结果是矛盾的。由于使用TDD,一些项目(根据我的经验)具有较低的错误率和拥有成本,因为更改特性的成本大大降低。其他一些则被叫停。
一些研究(这里是一次检查幻灯片n50)显示,bug的数量随着覆盖范围的增加而增加。我假设更大的覆盖率意味着TDD,而更多的bug意味着更高的所有权成本。
在我看来,任何衡量标准或实践本身都不能与更好的质量或较低的所有权成本有关。有多种因素可以导致某种相关性。这些因素会在团队和项目之间发生变化。
我想我们都听说过团队的故事,他们刚刚开始做TDD,编写了100行测试方法,这(在我看来)增加了拥有权的成本,因为更新这个测试将是非常昂贵的。
我的务实原则是,那些关心并渴望学习的人,在一个支持他们和他们的想法的环境中工作,拥有更好的质量和更高的成本。
发布于 2012-05-18 14:37:30
我没有任何具体的研究,但我可以从个人经验和其他开发人员的经验中告诉您,如果将TDD正确地应用于中型和大型项目,可以减少市场时间,减少bug和缺陷,并提高代码质量。
既然他们不是银弹,你能写好没有TDD的代码吗?是的,你能用TDD写不好的代码吗?此外,根据您的项目TDD可以大大增加您的代码所有权成本,一个很好的例子是NASA,在那里,每一行代码的成本是巨大的,但是所有权的成本不是重点,而是缺乏缺陷。
如果应用正确,TDD将增加您的启动成本和代码基础,但您将获得回归测试、早期错误检测和更好的代码设计的长期好处,这将减少缺陷、测试成本和维护时间,从而降低总体所有权成本。
https://softwareengineering.stackexchange.com/questions/149016
复制相似问题