7个测试驱动开发的最佳实践
Last updated
Last updated
测试驱动开发(TDD)是一个简约的软件开发过程。由一个自动执行的测试用例驱动,用例定义了系统所需的功能。测试的第一个执行结果状态是失败。然后,开发人员实现一个能通过测试用例的最小代码。一旦有新代码需要被测试,上面这个实现就要被重构以适应新代码,然后重新测试。重复这个循环以确保加入的代码都是可通过测试用例的,也意味着系统需要的功能被正确实现了。
作为敏捷开发的衍生物,TDD通过不断地自我迭代,实现了构建软件的敏捷方法,并且帮助程序员实现清晰,简单的设计和代码。
下面是TDD项目的一些最佳实践:
1.避免功能复杂
保持功能实现的简单性。仔细考虑,以确保测试用例涵盖了系统所需的功能的各种可能。由于测试用例是驱动力,因此应对其进行正确性和完整性检查。
2.专注于需要实现的目标
确保你了解代码需要被调用的位置,并相应地对测试套件进行框架化。确保测试用例符合标准命名约定,并明确描述了开发所需要实现的目标。这是至关重要的,因为功能不断添加迭代。后续其他买的开发人员(其实包括自己)应该可以通过看测试代码,轻松推断出预期的功能。
3.保持测试代码的简洁
确保你测试代码只需要有足够满足实现测试用例的代码即可。这是TDD的基本原则。最大限度地减少测试代码本身缺陷的可能性,简化了检查和测试过程。保持代码简洁的同时要确保代码是可以理解的,并允许将来继续增加。
4.反复测试
在编码之前和编码后都要进行测试。然后在代码重构后再次测试。这是为了确保在任何步骤中没有代码被破坏。在重构期间,确保新的代码可维护并遵守标准。经验告诉我们,每当有代码更改或代码移动或代码合并的时候就需要再测试一次。
5.维护代码神圣
使用版本控制工具查看并检入代码,特别是当多个开发人员正在编写代码时。使用Jenkins等持续集成工具可以避免代码合并问题。
6.应用知识
在TDD中,编码需要有限但有效。它只需要实现对应的测试用例,而不会破坏任何其他的东西。维护足够的系统文档,包括测试用例的存储库,以及具有良好应用知识的团队成员。他们可以确保项目顺利而成功的进行。
7.知道什么时候使用TDD
最后但并非最不重要的是,像任何其他开发概念一样,TDD在某些情况下效果是最好的。TDD的执行时间不能太长。任何冗长或复杂的测试都会破坏TDD的目的。
通过TDD,开发更加受到控制,结果大大减少了缺陷。重复测试确保系统中的每个组件在每一步都正常工作。
参考资料: