TDD与传统测试 测试驱动开发
TDD原本是一种编程技术,它间接地确保你的代码能彻底地被单元测试检查。可是,它能做的不只这些。你仍然需要参考传统的一些测试比如功能测试、用户验收测试、系统集成测试等等。大部分的这些测试都可以在项目开始之前就进行,如果你选择这么做的话(而且你也应该这么做)。实际在XP里,项目负责人指定的用户验收测试在编码时或是更早就开始进行了。告诉项目负责人系统能适应需求,增强他的信心!
一个好的传统测试能发现一个或多个漏洞,此理论同样适用于TDD。当一个测试失败的时候你必须进行改进因为你知道你需要解决这个问题。更重要的是,当你的测试不再失败的时候你就可以清楚地知道成功了多少。TDD增强了你的信心因为它适应了预先定下的需求,你的系统能正常运行了,因此你再自信地开发下去。
像传统的测试一样,项目风险越大,就要更彻底地进行测试。传统测试和TDD中你都不可能为着完美而奋斗,代之的是测试系统的重要性。为了解释敏捷模型(Agile Modeling, AM),你应该“带着目的去测试”、知道为什么要测试以及测试是在什么等级。TDD为你带来的有趣的间接影响是,你的代码测试覆盖率是100%—每一行都被测试过了—这是传统测试所不能保证的(虽然它们推荐这么做)。一般来讲我会很负责任地说TDD的结果比传统技术更有意义。
文章来源于领测软件测试网 https://www.ltesting.net/