什么是白盒测试
白盒测试也称结构测试或逻辑驱动测试,是把测试对象看作一个透明白色的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
白盒测试是一种基于代码的测试,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。
白盒测试一般是开发做单元测试用,但是也有测试自己做的,对测试能力要求比较高。
白盒测试的方法
白盒测试的基本方法主要有以下6种:
- 语句覆盖
- 分支覆盖
- 条件覆盖
- 判定条件覆盖
- 路径覆盖
- 组合覆盖
强度由低到高:语句覆盖、分支覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
案例:
if A and B then Action1
if A or B then Action2
语句覆盖
语句覆盖,顾名思义就是针对代码语句。
设计出来的测试用例要保证程序中的每一个语句至少被执行一次。
通常语句覆盖被认为是“最弱的覆盖”,因为它仅仅考虑对代码中的执行语句进行覆盖而没有考虑各种条件和分支,比较难以发现代码中的问题。
例:案例中语句,设计一条测试用例即可:
A = true B = true C = true
分支覆盖
分支覆盖(判定覆盖),使得程序中每个判断的取真和取假至少经历一次,即判断的真假均曾被满足。
例:案例中的语句,设计两条测试用例即可:
teatcase1: A = true, B = true, C = true, D = false
teatcase2: A = true, B = false, C