工具
代码覆盖率和持续集成(CI )工具
【好处】确保测试覆盖每个角落。
</br>
为判断是否测试了所有代码、分支以及复杂度,代码覆盖率工具很有帮助:
- JaCoCo(http://www.eclemma.org/jacoco/)
- Clover(https://www.atlassian.com/software/clover/overview)
- Cobertura(http://cobertura.github.io/cobertura/)
持续集成工具:
- Jenkins(http://jenkins-ci.org/)
- Hudson(http://hudson-ci.org/)
- Travis(https://travis-ci.org/)
- Bamboo(https://www.atlassian.com/software/bamboo)。
结合使用TDD 和BDD
【好处】涵盖面向开发人员的单元测试和面向客户的功能测试。
</br>
TDD可提高开发速度,帮助完成设计,并通过快速反馈赋予开发人员以信心;</br>
BDD更适合用于集成测试和功能测试,它提供了更佳的需求收集流程(通过叙述收集),还是一种更佳的沟通方式(通过场景与客户沟通)。</br>
</br>
推荐使用TDD提高代码覆盖率以及提供快速反馈,使用BDD自动化验收测试。</br>
TDD主要致力于白盒测试,BDD通常致力于黑盒测试,但它们都专注于质量保证而不是质量检查。</br>