白盒测试的概念
“白盒”测试又称为结构测试或逻辑驱动测试是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的一种测试方法。
白盒测试的特点
可以构成测试数据使特定程序部分得到测试
有一定的充分性度量手段
可获得较多工具支持
通常只用于单元测试
白盒测试的基本测试内容
对程序模块的所有独立执行路径至少测试一次
对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次
在循环的边界和运行的边界限内执行循环体
测试内部数据结构的有效性
白盒测试技术
·静态白盒测试技术
1.代码检查
2.编码标准和规范
......
·动态白盒测试技术
1.逻辑覆盖测试
2.路径测试
3.数据流测试
4.信息流分析
5.覆盖率分析
......
逻辑覆盖:逻辑覆盖是以程序内部的逻辑结构为基础的测试方法
逻辑覆盖的种类:
语句覆盖
判定覆盖
条件覆盖
判定/条件覆盖
条件组合
路径覆盖
语句覆盖:
语句覆盖是最起码的测试要求,使得每一条语句至少被执行一次
对程序的逻辑覆盖很少,只关心判定表达式的值,是很弱的逻辑覆盖标准。
判定覆盖:
要求设计足够的测试用例,使得程序中的每一个分支至少通过一次即每一条分支语句的“真”值和“假”值都至少执行一次。
条件覆盖:
不仅每一个语句至少执行一次,使得判定中的每个条件获得各种可能的结果。
判定覆盖只关心整个判定表达式的结果,条件覆盖关心的则是每个条件各种取值的结果。
判定/条件覆盖:
设计足够多的测试用例,使得判定中每个条件的所有可能取值至少能够获取一次,同时每个判断的所有可能的判定结果至少执行一次。
条件组合覆盖:
要求设计足够多的测试用例,使得每个判定中条件的各种组合至少出现一次。
满足条件组合覆盖标准的测试用例,也一定满足判定覆盖、条件覆盖和判定/条件覆盖标准。
路径覆盖:
要求设计足够多的测试用例,使得程序中所有的路径都至少执行一次 。