一、请为以下程序段设计测试用例集,要求分别满足语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖。 public int do_work(int A,int B){ int x=0; if((A>4) && (B<9)) { x = A-B;} if( A==5 && B>28 ) { x= A+B;} return x; } 实现步骤: 1.绘制程序流程图 2.绘制控制流图
时间: 2023-11-28 08:47:26 浏览: 364
1. 程序流程图如下:
```
start -> if (A > 4) and (B < 9) -> x = A - B -> if (A == 5) and (B > 28) -> x = A + B -> return x -> end
```
2. 控制流图如下:
```
start -> condition 1 -> statement 1 -> condition 2 -> statement 2 -> return x -> end
```
其中,Condition 1 表示 `(A > 4) and (B < 9)`,Statement 1 表示 `x = A - B`,Condition 2 表示 `A == 5 and B > 28`,Statement 2 表示 `x = A + B`。
3. 设计测试用例集:
- 语句覆盖:只需要覆盖每条语句至少一次即可,可以设计以下两组测试用例:
- 测试用例1:A=6, B=8,期望输出 -2。
- 测试用例2:A=5, B=29,期望输出 34。
- 判定覆盖:需要覆盖每个条件的 true 和 false 分支至少一次,可以设计以下三组测试用例:
- 测试用例1:A=3, B=8,期望输出 0。
- 测试用例2:A=6, B=8,期望输出 -2。
- 测试用例3:A=5, B=29,期望输出 34。
- 条件覆盖:需要覆盖每个条件的 true 和 false 分支至少一次,并覆盖到所有可能存在的组合情况,可以设计以下四组测试用例:
- 测试用例1:A=3, B=8,期望输出 0。
- 测试用例2:A=6, B=8,期望输出 -2。
- 测试用例3:A=5, B=29,期望输出 34。
- 测试用例4:A=6, B=29,期望输出 0。
- 条件/判定覆盖:需要同时满足条件覆盖和判定覆盖的要求,可以设计以下四组测试用例:
- 测试用例1:A=3, B=8,期望输出 0。
- 测试用例2:A=6, B=8,期望输出 -2。
- 测试用例3:A=5, B=29,期望输出 34。
- 测试用例4:A=6, B=29,期望输出 0。
- 条件组合覆盖:需要覆盖到所有可能存在的条件组合,可以设计以下四组测试用例:
- 测试用例1:A=3, B=8,期望输出 0。
- 测试用例2:A=6, B=8,期望输出 -2。
- 测试用例3:A=5, B=29,期望输出 34。
- 测试用例4:A=3, B=29,期望输出 0。
阅读全文