我们的客户工作机会联系我们Blogs中 文 or English
首页 > 资源
资源RESOURCES

什么是测试驱动开发?

测试驱动开发(TDD)是一种软件开发技巧,它基于重复的很小的开发循环:开发人员首先写一个失败的单元测试,这个测试定义了期望的功能改进或者新的功能,然后开发人员写代码让这个测试通过,最后根据标准重构新的代码。

测试驱动开发需要自动化测试作支撑。一个典型的TDD循环包含以下几步:

 

1:根据功能规范或需求描述增加一个测试。这一步使开发者在写代码之前关注需求,很微妙但是影响很大。

2:运行所有的测试看到新的测试失败。这一步能检验测试系统的正确运行,并测试测试用例本身。这一步也可以排除新测试自动通过的可能性,那样这个测试就是无用的。

3:设计并写一些代码只是足够让测试通过,后续步骤和后续循环会改进并细化。这一步能是设计保持干净!

4:运行自动化测试并看到它们通过。这保证代码完成了所有可测试的需求。

5:重构代码。通过重新运行所有测试,开发者可以保证重构并没有破坏已有的功能。

使用TDD意味着写更多的测试。测试驱动开发保证所有写下的代码至少被一个测试覆盖。这使编码团队和后续用户对代码有更强的信心。大量的测试能帮助限制代码中的缺陷。尽早和频繁的测试帮助在开发周期中及早找到问题,防止它们成为以后头疼的问题。

TDD提供比确认正确性更多的东西,它也可以驱动编码中的设计。通过先关注测试用例,开发者就必须想象功能如何被客户所使用。所以,开发者在实现代码之前已经考虑了对外接口。