影响，并且时效性难以保证（如设计变更、功能扩展等在不太严格时经常不能保持文档同步更新）。
表达设计.在测试驱动开发的软件实践中，单元测试可以取代正式的设计。每一个单元测试案例均可以视为一项类、方法和待观察行为等设计元素。下面的Java例可以帮助说明这一点。这是一个证明一批实现设计元素的测试类。首先，要求有一个名为Adder的接口，和一个不带参数的构造方法名为AdderImpl的实现类。然后，它断言Adder接口包含有一个两个整数参数返回值为整型的add方法。它也通过小范围的值检