TDD-测试驱动开发的意义
我觉得TDD的意义在于:
- 去掉了部分测试人力
这部分人力是用于测试系统中一些重复,无技术含量的工作,比如重复点击,验证相同的流程等。公司并不是福利院,当然这会美名其曰:“人力优化”。
- 有效支持了后续CI/CD
正是因为tdd的实现,使整个迭代周期加快了,从CI到CD,测试占用的时间会越来越少。并且当后续有大规模的代码重构的时候,需要投入的测试人力也并不会很多。
那TDD是什么?
TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。
TDD如何做?
- 确认需求(明确输入和输出)
- 拆分需求(这步比较关键,要拆到足够小)
- 测试驱动开发
- 列出需要写单测的地方
- 编写失败的单元测试
- 编写业务代码让失败的单测通过
- 重构业务代码