.请为以下程序段设计测试用例集,要求分别满足语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖。 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; }
时间: 2024-03-11 16:45:52 浏览: 284
首先需要明确一些概念:
- 语句覆盖:测试用例集中的每个测试用例都至少执行一次程序中的每个语句。
- 判定覆盖:测试用例集中的每个测试用例都至少使程序中的每个布尔表达式的值为 true 和 false。
- 条件覆盖:测试用例集中的每个测试用例都至少使程序中的每个条件的值为 true 和 false。
- 条件/判定覆盖:测试用例集中的每个测试用例都至少使程序中的每个布尔表达式和条件的值为 true 和 false。
- 条件组合覆盖:测试用例集中的每个测试用例都至少使程序中的每个条件组合的值为 true 和 false。
基于以上定义,以下是对每种覆盖的测试用例集设计:
1. 语句覆盖:
- A=1, B=1
- A=2, B=2
- A=3, B=3
- A=4, B=4
- A=5, B=5
- A=6, B=6
- A=7, B=7
- A=8, B=8
- A=9, B=9
- A=5, B=29
2. 判定覆盖:
- A=1, B=1
- A=5, B=1
- A=1, B=9
- A=5, B=29
3. 条件覆盖:
- A=1, B=1
- A=2, B=9
- A=5, B=1
- A=5, B=29
4. 条件/判定覆盖:
- A=1, B=1
- A=5, B=1
- A=1, B=9
- A=5, B=29
5. 条件组合覆盖:
- A=1, B=1
- A=2, B=9
- A=5, B=1
- A=5, B=29
- A=7, B=7
- A=9, B=9
- A=5, B=28
- A=5, B=30
相关问题
一、请为以下程序段设计测试用例集,要求分别满足语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖。 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.绘制控制流图
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。
请为以下程序段设计测试用例集,要求分别满足语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖覆盖、条件组合覆盖。 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; }
&& B==0){ x=1; }else if(A<=4){ x=2; }else{ x=3; } return x; }
语句覆盖:
测试用例集:
1. A=3,B=1,期望输出为2。
2. A=6,B=0,期望输出为3。
判定覆盖:
测试用例集:
1. A=5,B=0,期望输出为1。
2. A=4,B=0,期望输出为2。
3. A=4,B=1,期望输出为2。
4. A=6,B=0,期望输出为3。
5. A=1,B=1,期望输出为2。
条件覆盖:
测试用例集:
1. A>4 && B=0,期望输出为1。
2. A<=4,期望输出为2。
3. A>4 && B!=0,期望输出为3。
条件/判定覆盖:
测试用例集:
1. A=5,B=0,期望输出为1。
2. A=4,B=0,期望输出为2。
3. A=4,B=1,期望输出为2。
4. A=6,B=0,期望输出为3。
5. A=1,B=1,期望输出为2。
条件组合覆盖:
测试用例集:
1. A>4 && B=0,期望输出为1。
2. A<=4,期望输出为2。
3. A>4 && B!=0,期望输出为3。
4. A>4 && B=1,期望输出为3。
5. A<=4 && B=0,期望输出为2。
6. A<=4 && B!=0,期望输出为2。
阅读全文