白话结语
TDD主要包括两方面:测试先行和代码重构。测试主要针对单元(最小可测试软件元素)实施测试。
TDD属于需求分析和详细设计的范畴
测试驱动开发属于需求分析和详细设计范畴,当代码完成后,这些测试程序也成为单元测试的一部分。测试驱动开发颠覆了以往的需求分析-设计-编码-单元测试。而是从单元测试入手,用测试代码描述需求,编码的目的就是为了通过已经设计好的单元测试代码。用测试来驱动开发,开发的目的就是为了通过测试。
TDD能够带来的好处
较少开发周期中的bug反馈
测试先行,思路先行
提高代码质量
添加或修改代码更容易
保证设计质量
不断重构以改善设计
集中精力每次开发一个功能
确保每个方法都是可用且已被测试过
确保及时发现出现问题的模块
改善和验证设计
以客户端的视角编写测试
以客户端提供了示例代码
更注重代码的设计
为了使测试容易,需要实现松散耦合
更少的Debug时间
TDD的大缺点:需要编写更多的测试代码
怎么做?简图
TDD口号:red-green-ractor模式
不可运行:写测试用例,运行,无具体的实现,测试程序无法通过,所以报错 =》 红色模式
可运行:实现具体业务代码,尽快让这个程序工作,为此可能在code过程中使用一些不合理的方法。测试通过 =》 绿色模式
重构:重构代码,消除在让测试程序工作的过程中,产生的重复设计,优化设计机构,并之前的测试通过 =》 重构模式
Last updated