定义:白盒测试又称为结构测试、逻辑驱动测试或基本代码测试。它将测试对象看做一个透明的白盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择用例,对程序内部的变量状态、逻辑结构、执行路径进行测试。
白盒测试的测试对象是程序的源代码。
白盒测试的方法分为静态分析和动态分析。
- 静态分析:数据流分析、控制流分析
- 动态分析:逻辑覆盖法、基本路径测试法、程序插桩
逻辑覆盖
逻辑覆盖又称为控制流覆盖,是选择一组实体以满足覆盖标准,覆盖标准有语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等,然后再选择一组覆盖该组实体的有限路径。
1、语句覆盖
语句覆盖是指测试时,设计若干个测试用例,运行被测试程序,使被测试程序中的每条语句至少被执行一次。(每个语句都走一遍)
语句覆盖率=至少被执行一次的语句数量/可执行语句总数*100%
2、判定覆盖
判定覆盖又称为分支覆盖,指设计若干个测试用例,运行被测试程序,是被测试程序中的每个判断分别取“真”分支和“假”分支至少一次。(每个判定的T和F分支都走一遍即可)
判定覆盖率=至少被执行一次的判定(分支)数量/总的判定(分支)数量*100%
3、条件覆盖
条件覆盖指设计若干个测试用例,运行被测试程序后,使每个判定中每个条件的可能值至少满足一次。(将判定中的条件拆分,取条件的T和F值)
条件覆盖率=至少被执行一次的条件数量/条件总数*100%
4、判定-条件覆盖
判定-条件覆盖要求满足设计足够的测试用例,使得判定中的每个条件的所有可能结果至少出现一次,并且每个判定的所有可能的结果至少执行一次。