单元测试的目的是在集成测试和功能测试之前对软件中的可测试单元进行逐一检查和验证。
单元测试的好处包括但不限于以下几点:
- 提升软件质量
- 促进代码优化
- 提升研发效率
- 增加重构自信
8.1 单元测试的基本原则
宏观要求上,单元测试要符合AIR原则;微观实现上,单元测试的代码层面要符合BCDE原则。
AIR原则具体包括:
- A:Automatic(自动化)
- I:Independent(独立性)
- R:Repeatable(可重复)
BCDE原则:
- B:Border,边界值测试
- C:Correct,正确的输入
- D:Design,与设计文档相结合来编写单元测试
- E:Error,单元测试的目的是要证明程序有错
8.2 单元测试覆盖率
1、粗粒度的覆盖
2、细粒度的覆盖
- 行覆盖
- 分支覆盖
- 条件判定覆盖
- 条件组合覆盖
- 路径覆盖