首页 > 软件测试/ 正文
实际经验证明:TDD可以提高软件质量
2013-01-01 06:01:23 ℃
在Empirical Software Engineering杂志上首次发表的一篇研究报告声称:“看来TDD可以应用在多个领域中,并显著降低软件的缺陷密度,同时也不会明显降低开发团队的工作效率。”研究对比了4个在微软和IBM执行的项目,这些项目使用了TDD方式开发,并与没有使用TDD开发的类似项目进行了对比。 研究报告的作者包括:来自微软的Nachi Nagappan和Thirumalesh Bhat 、IBM的E. Michael Maximilien,以及北卡罗来纳大学的Laurie Williams,并发布在Empirical Software Engineering杂志的第13卷第3期上。读者也可以在微软研究院的Empirical Software Engineering Group中找到该报告。 报告中研究的4个案例,1个来自IBM,3个来自微软。每个案例研究都对比了开发同一个产品的两个团队,他们使用同样的开发语言和技术,处于同一级别的管理之下,唯一不同之处在于:一个团队使用TDD,另一个不用。在开发过程中,这些团队都不知道自己处于研究之下。IBM案例中的团队在开发设备驱动程序,微软的团队在开发Windows、MSN和Visual Studio的相关应用。 报告中讲述了团队使用的TDD实践,包括分钟级别的工作流程(minute-to-minute workflow)和任务级别的工作流程(task-level workflow)。 分钟级别的工作流程如下: ● 编写一些新的小单元测试用例 ● 运行测试,看着它们失败 ● 编写实现代码以满足测试 ● 重新运行单元测试用例,确保它们现在可以通过 任务级别的工作流程是这样子的: ● 将新的实现代码和单元测试集成到现有的代码库中 ● 重新运行所有的测试用例,确保新的代码不会导致任何测试失败 ● 重构实现代码和测试代码 ● 重新运行所有的测试用例,确保重构后的代码不会导致任何测试失败 缺陷密度是通过每千行代码的缺陷数目来衡量的。相较于不使用TDD的项目而言,这四个产品在发布前的缺陷密度降低了40%到90%。从团队管理层的主观报告看来,在开发的初始阶段,使用TDD的团队要多花15%到35%的时间;不过团队都同意一点:这个时间被减少的产品维护时间抵消掉了。 报告中的结果可以与Maria Siniaalto在2006年发布的一篇文章相对比。该文章中试图复审并总结其他13项有关TDD的研究,这些研究包括在纯商业背景、半商业背景和学院背景中进行的研究。在文章的结论中,作者写道: 基于这些现有研究的发现,可以得出结论:TDD看来可以提升软件质量,特别是在纯商业背景中。对于半商业背景或学院环境中的研究来说,结论不是那么明显,可这些研究没有提到任何软件质量的降低。TDD给工作效率带来的效果不是十分明显,而且结果会根据研究的环境发生变化。然而,有证据证明:TDD不一定会降低开发人员的工作效率,或是增加项目的交付时间。某些情况下,TDD会带来显著的工作效率提升;同时,在提到的13个案例研究中,只有两个案例指出工作效率降低了,不过这两个案例同时指明质量的提升。 您使用TDD有哪些经验?见到质量的提升了么?对于开发人员的工作效率和开发时间,您看到了哪些影响?请在文后留下您的评论,分享您的经验。
- 上一篇:三年QA工作的感想与体会
- 下一篇:谁来保证测试工作的质量
更多电脑软件培训学校,.NET软件培训,软件培训机构,软件开发培训,财务软件培训,java培训机构相关文章
- JAVA技术:代码实现验证码图片的生成
- Java基础之Java运算符大百科
- 软件测试杂谈:关于自动化测试,关于Agile,关于团队
- 五个月的软件测试工作感想
- 软件测试人如何行走江湖–浅谈测试人员的技术构成和发展
- 代码评审三步走
- 软件测试技术的发展方向
- 软件质量管理之痛
- 软件质量控制实践――Microsoft 篇(3)
- 质量管理三部曲
- 软件质量保证框架
- 软件质量的商业价值
- 应用质量特性提高测试效率和产品质量
- 质量管理杂谈
- 一个测试任务小记
- 将软件测试阶段按照生命周期的方法去分析
- 在软件发布之前如何预估残留缺陷?
- 软件测试中的风险因素识别
- 小议软件项目的管理
- Word2007教你怎么样轻松调整段落、段前、段后间距
- 显示器分辨率 22寸显示器最佳分辨率是多少
- 打雷能不能上网
- 了解DOS下的内存
- WindowsXP的开机菜单有什么含义
- 电脑基本知识
- 论坛中常见缩写用语(二)
- 使用批处理文件——常用命令
- 没考上高中还可以上什么学校
- 现在的90后们怎么才能成为企业的抢手人才?
- 漯河有没有java培训机构呢
- 搜索
-
- 热门标签