测试驱动开发
测试驱动开发( TDD)更侧重予测试自动化。20世纪90年代的极限编程运动让它变得流行起来。
TDD的通常被描述为如下的事件序列:
实现测试:顾名思义,你开始编写测试,而后编写代码。一种实践的方式是先指定要开发代码的接口规格,然后实现代码。为了能编写测试,开发人员必须得找
到所有相关的需求规格、用例和用户故事。
将重心从编码切换到理解需求,对于正确的实现是很有裨益的。
验证新写的测试会失败:新添加的测试会失败,因为还没有实现正确的行为,才刚编写测试需要存根和接口。运行测试并且确认它会失败。
编写实现测试的功能:我们编写的代码不需要多么优雅或者高性能。开始时,只要让新测试通过即可。
验证新的测试和旧的测试会一起通过:新的测试通过时,我们知道新实现的特性是正确的。旧的测试也通过,说明我们没有破坏已有的功能。
重构代码:“重构”这个词来源于数学。在编程中,它的意思是清理代码的同时,让代码更容易理解和维护。我们需要重构是因为在前面的开发当中小小地耍了点诈。
TDD是和DevOps相符合的风格,但它并不是唯一的一个。主要优势在于好的测试套件可以用在持续集成的测试中。