一、白盒测试的概念和特点
1、什么是白盒测试
主要针对代码逻辑的测试,覆盖程序内部的代码,主要应用于单元测试阶段。
与黑盒测试的不同:
1. 黑盒测试不看代码,黑盒测试是根据业务需求设计输入
2. 白盒测试看代码,白盒测试是根据代码逻辑设计输入
2、白盒测试的特点
优点:代码覆盖率高
缺点:覆盖所有代码路径难度大、业务功能可能覆盖不全、测试开销大
二、白盒测试用例设计方法
1、静态方法
含义:测试过程中不去执行代码
方法:
- 桌面检查:交叉检查。自己写完的代码给别人检查,要遵循开发规范,编码要求
- 代码审查:开会。代码作者讲解代码的逻辑结构,内容等,其他人检查
- 代码走查:开会。使用测试数据检查程序运行时数据的走向
- 代码扫描工具:通过工具检查代码是否符合编码规范
2、动态方法
含义:测试过程中要执行代码
方法:
- 逻辑覆盖法
- 语句覆盖
- 判定覆盖
- 条件覆盖
- 判定条件覆盖
- 条件组合覆盖
- 路径覆盖
- 基本路径测试法
三、逻辑覆盖法
- 逻辑覆盖法:是通过对程序逻辑结构的遍历实现程序的覆盖
- 覆盖率:是用来衡量测试完整性的一个手段
- 将程序代码转化为程序流程图
案例:
1、语句覆盖
语句覆盖:设计测试用例,使得程序中每条语句至少被执行一次
例如:案例代码中共有4条可执行语句
案例(以上面的流程图为例):
100%语句覆盖的数据 | 语句 |