控制流图
T
F
T
F
现有一程序结构如上图所示,请使用语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖方法对其设计测试用例。
D1:Age>25 and sex==M D2:Age>=50or comm>2000 C1:Age>=25 C2:sex==M C3:Age>=50 C4:comm>2000
一、 语句覆盖
可以直接通过流程图分析得出三个测试用例: 序号 1 2 3 4 输入数据 预期输出 覆盖路径 实际输出 测试结果 Age sex comm comm comm 30 M 2100 ace 30 M 1800 acd 25 F 1800 acd 25 F 210 ace
二、 判定覆盖
判定 具体情况 D1 Age>25 and sex==M D2 Age>=50or comm>2000 !D1 Age<=25 and sex!=M !D2 Age<50or comm<=2000 可以直接使用语句覆盖的测试用例,符合判定覆盖条件。 序号 输入数据 预期输出 覆盖路径 覆盖判定 实际输出 Age sex cmm comm comm 1 ace T,T 2 acd T,F 3 ace F,T 4 acd F,F 测试结果 三、 条件覆盖
条件 C1:Age>25 C2:sex==M C3:Age>=50 C4:comm>2000 T Age>25 sex==M Age>=50 comm>2000 表示 T1 T2 T3 T4 F Age<=25 Sex!=M Age<50 Comm<2000 表示 F1 F2 F3 F4 序号 1 2
输入数据 Age sex comm 预期输出 覆盖路径 覆盖条件 实际输出 comm comm ace T1,T2,T3,T4 acd T1,T2,F3,F4 acd F1,T2,T3,F4 ace F1,T2,T3,T4 T1,F2, 测试结果 四、 定/条件覆盖
预期输出 覆盖判定 覆盖条件 测试结果 comm comm T,T T1,T2,T3,T4 T,F T1,T2,F3,F4 F,T F,F 序号 输入数据 Age sex 1 2 3 五、 条件组合覆盖
条件 C1:x>=80 C2:y>=80 可能组合 T1 T2 T1 F2 编号 1 2 F1 F2 T3 T4 T5 T3 T4 F5 T3 F4 T5 T3 F4 F5 F3 T4 F5 F3 F4 T5 F3 F4 F5 F3 T4 T5 C3:x+y>=140 C4:x>=90 C5:y>=90 3 4 5 6 7 8 9 10 11 12 1 序号 1 2 3 4 输入数据 x 90 100 70 70 预期输出 y 90 70 100 70 T=1 T=2 T=2 T=3 覆盖路径 oae obc obc obde 覆盖组合 1 2,6 3,7 4,8 测试结果 六、
修正判定/条件覆盖
条件 C1:x>=80 C2:y>=80 可能组合 T1 T2 T1 F2 F1 T2 编号 1 2 3 C3:x+y>=140 C4:x>=90 C5:y>=90 T3 T4 F5 T3 F4 T5 T3 F4 F5 F3 T4 F5 6 7 8 9