TDD是一种编程技术,它间接地确保你的代码能彻底地被单元测试检查。可是,它能做的不只这些,你仍然需要参考传统的一些测试比如功能测试、用户验收测试、系统集成测试等等。大部分的这些测试都可以在项目开始之前就进行,如果你选择这么做的话。实际在开发中,指定的用户验收测试可以在编码时或是更早就开始进行了。
一个好的传统测试能发现一个或多个漏洞,此理论同样适用于TDD。当一个测试失败的时候你必须进行改进因为你知道你需要解决这个问题。更重要的是,当你的测试不再失败的时候你就可以清楚地知道成功了多少。TDD增强了你的信心因为它适应了预先定下的需求,你的系统能正常运行了,因此你再自信地开发下去。
像传统的测试一样,项目风险越大,就要更彻底地进行测试。传统测试和TDD中你都不可能为着完美而奋斗,代之的是测试系统的重要性。为了更好的上线,你应该“带着目的去测试”、知道为什么要测试以及测试是在什么等级。TDD带来的影响是,代码测试覆盖率是100%—每一行都被测试过了—这是传统测试所不能保证的(虽然它们推荐这么做)。所以TDD的结果比传统技术更有意义。