逻辑覆盖是以 程序内部的逻辑结构为基础 的设计测试用例的技术。它属白盒测试。
L1 ( a à c à e )
= { (A>1) and (B=0) } and
{ (A=2) or (X/A>1) }
= (A>1) and (B=0) and (A=2) or
(A>1) and (B=0) and (X/A>1)
= (A=2) and (B=0) or
(A>1) and (B=0) and (X/A>1)
L2 ( a à b à d )
= not{ (A>1) and (B=0) } and
not{ (A=2) or (X>1) }
= { not (A>1) or not (B=0) } and
{ not (A=2) and not (X>1) }
= not (A>1) and not (A=2) and not (X>1)
or
not (B=0) and not (A=2) and not (X>1)
L3 ( a à b à e)
= not { (A>1) and (B=0) } and
{ (A=2) or (X>1) }
= { not (A>1) or not (B=0) } and
{ (A=2) or (X>1) }
= not (A>1) and (A=2) or
not (A>1) and (X>1) or
not (B=0) and (A=2) or
not (B=0) and (X>1)
L4 ( a à c à d )
= { (A>1) and (B=0) } and
not { (A=2) or (X/A>1) }
= (A>1) and (B=0) and not (A=2) and
not (X/A>1)
语句覆盖 就是设计若干个测试用例,运行被测程序,使得 每一可执行语句至少执行一次 。
在图例中,正好所有的可执行语句都在 路径 L1 上,所以选择 路径 L1 设计测试用例,就可以覆盖所有的可执行语句。
测试用例的设计格式如下
【输入的 ( A , B , X ) , 输出的 ( A , B , X ) 】
为图例设计满足 语句覆盖 的测试用例是 :
【 (2, 0, 4) , (2, 0, 3) 】 覆盖 ace 【 L1 】
判定覆盖 就是设计若干个测试用例,运行被测程序,使得 程序中每个判断的取真分支和取假分支至少经历一次 。 判定覆盖又称为 分支覆盖 。
对于图例,如果选择 路径 L1 和 L2 , 就可得满足要求的测试用例 : 如果选择路径 L3 和 L4 , 还可得另一组可用的测试用例
条件覆盖 就是设计若干个测试用例,运行被测程序,使得程序中 每个判断的每个条件的可能取值至少执行一次 。
判定-条件覆盖 就是设计足够的测试用例,使得 判断中每个条件的所有可能取值至少执行一次 , 每个判断中的每个条件的可能取值至少执行一次 。
条件组合覆盖 就是设计足够的测试用例,运行被测程序,使得 每个判断的所有可能的条件取值组合至少执行一次 。
路径测试 就是设计足够的测试用例, 覆盖程序中所有可能的路径 。