什么是测试驱动开发?(TDD)

一、什么是TDD

      简单的说,即在写任何功能代码之前,先写它的测试代码。具体步骤:
          ·根据需要编写一个测试用例
          ·编写功能代码,以让刚才的测试用例通过
          ·逐步补充测试用例
          ·修改功能代码使新增的测试用例和原来的都通过
          ·重构,包括功能代码和测试用例


二、为什么使用TDD

      提高代码质量。由于功能代码的高质量和完善的测试用例集,增强了开发者信心,从而赢得他人信任。

      改进设计。TDD保证了功能代码的可测试性,降低了耦合度,改善组件对象模型,使设计在开发过程中逐步完善和改进。

      为功能代码提供了良好的文档,并能维护代码和文档的同步。敏捷宣言主张:能够运行的软件胜过面面俱到的文档。测试用例集就是一份准备可靠,且能运行的文档。

      在一定程度上可代替程序调试。当每个单元测试关注每一个具体功能时,问题被更早和更好地避免。另外调试是手动而不可重复,TDD的测试用例集则是自动可回归的。

      有效的质量控制和项目管理。对管理者来说,通过单元测试每日构建的结果,每天都清楚的知道项目的质量和开发进度


三、TDD是测试,更是设计

       当开始写单元测试代码时,其实也正在开发。在编写功能代码前,站在功能代码的使用者角度设计测试用例,运用针对接口编程等原则降低耦合度,改进设计。由此可见,TDD也是面向对象的分析,设计和开发方法。在贯彻TDD的开发过程中,对于每个类分别进行测试,对于每部分都进行简单设计,频繁重构,最终形成了一整套可运行的测试用例集,TDD体现持续改进的过程,是一种增量式设计。

        TDD(Test Driven Development),是一种测试技术,更是一种设计方法。其重心不在Test,而在于Development,是一种以意图来驱动的软件开发方法——意图编程。

posted @   94cool  阅读(219)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
< 2010年10月 >
26 27 28 29 30 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6
点击右上角即可分享
微信分享提示