相比之下, 一些新兴软件学科, 如极端编程和敏捷软件开发运动, 坚持一个测试驱动的软件开发模型. 在这一过程中, 单位测试是由软件工程师(往往是在极端编程方法中与双编程)写的. 当然, 这些测试最初失败了; 正如预期的那样. 然后随着代码的书写, 它通过了更大的测试套房的部分. 由于新的失败条件和角落案例被发现, 测试套房不断更新, 它们与任何开发的回归测试结合在一起. 单元测试与其余的软件源代码保持一致, 并一般融入构建过程(固有的交互测试被降级为部分人工构建接受过程). 这个测试过程的最终目标是实现 持续 整合, 在 那里, 软件 更新 可以 经常 发布 给 公众.
哪两个目前的运动坚持"测试 驱动 的 软件 开发"?
极端 编程 和 敏捷 软件 开发