单元测试(unit testing)是指对软件中的最小可测试单元进行检查和验证。单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
单元测试目的
- 首先保证代码质量以及软件的健壮性。
- 其次保证代码的可维护。
- 再此保证代码的可扩展。
单元测试分类
- TDD(Test-Driven Development)是写代码之前先明确方法存在的意义然后把单元测试写好,最后写代码完成所有的测试,也可以说是测试先行
- BDD(Behavior Driven Development)是以行为测试,比如我方法要完成什么事件,我应该具体编写出该方法的所有可能情况
- ATDD:验收测试驱动开发(Acceptance Test Driven Development),通过单元测试用例来驱动功能代码的实现。在准备实施一个功能或特性之前,首先团队需要定义出期望的质量标准和验收细则,以明确而且达成共识的验收测试计划(包含一系列测试场景)来驱动开发人员的TDD实践和测试人员的测试脚本开发。面向开发人员,强调如何实现系统以及如何检验。
单元测试解决的问题
- 需求和开发脱节的问题,保证程序实现效果与用户需求一致,是验证验证需求和开发的基础方法。
- 开发的过程都要保证代码质量和可靠性。测试方法有:单元测试,集成测试CI(Continuous Integration)和系统测试
- 项目验收或开发需要,节省人力重复性劳动而作的自动化的测试。
- 敏捷开发需要快速开发,快速迭代,快速交付使用,保证系统每次的持续集成都能做好验证性测试。
单元测试缺点
代码量成本增加,测试代码是系统代码的两倍以上。
开发人员抗拒单测原因
1、认为写单测浪费时间。
2、认为测试不应该是开发人员来做的。
3、自信,我写的代码没有问题,不需要单测。
4、不知道单测的重要性。
5、不知道单测的好处。
6、不知道怎么写。
【下一篇】回归测试简介