语句覆盖、判定覆盖、条件覆盖 - 白盒笔试题解析
1. 定义 黑盒测试 - 不关注内部结构的测试/基于输入输出的测试 白盒测试 - 基于内部结构的测试 白盒测试的关键 : 覆盖度 2. 白盒相关概念 语句覆盖 - 设计一套测试 让 被测对象中 所有 语句 得到测试覆盖 判定覆盖 - 设计一套测试 让 被测对象中 所有 判定 得到测试覆盖 条件覆盖 - 设计一套测试 让 被测对象中 所有 条件 得到测试覆盖 路径覆盖 - 设计一套测试 让 被测对象中 所有 路径 得到测试覆盖 上图中: 3. 例题解析 例题1: 解: 语句覆盖: 语句: 以上代码中的每一行都是语句。 注意 THEN 后面所接语句,是有可能不执行的。 语句覆盖即要设计出测试数据,使得所有语句都被执行。 要满足以上条件,只要让两个 IF 判定判定为”真“即可。 答: 分支覆盖: 分支覆盖是判定覆盖的别名。因为判定可以在程序中创造分支,就像一条分叉路口,让程序的执行走向不同方向 他的取值为 布尔类型 ,只有两个可能取值:”True“ 和 ”False“(真和假)。 判定覆盖,即让所有的判定都取到所有可能取值,即 每个判定都取到”真“、”假“各一次 。 本题中有两个判定,即”IF“语句,则要取测试数据,让两个IF都取到真假最少各一次。 答: 例题2: 解: 题中while循环语句构成了本题代码的路径分支 判定解读:当变量i不大于25时,做一件事;当i大于25时,做另一件事