1:(30分) 使用逻辑覆盖测试方法测试以下程序段: void DoWork (int x,int y,int z) { 1 int k=0,j=0; 2 if ( (x>3) && (z<10) ) 3 { 4 k=x*y-1; 5 j=sqrt(k); 6 } 7 if ( (x==4)||(y>5) ) 8 j=x*y+10; 9 j=j%3; 10 } 说明:程序段中每行开头的数字(1~10)是对每条语句的编号。 (1)画出程序的控制流图(用题中给出的语句编号表示)。(10分) (2)分别以语句覆盖(3分)、判定覆盖(3分)、条件覆盖(3分)、判定/条件覆盖(3分)、条件组合覆盖(3分)和路径覆盖方法(5分)设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。
时间: 2023-12-26 11:03:47 浏览: 229
(1)控制流图如下:
```
+----(2)----+
| |
+-------v-------+ |
| (x>3)&&(z<10) | |
| T | |
| +--(4)---+ | |
| | | | |
| v v | |
| (5) (6) | |
| | | | |
| +-------+ | |
| | |
| (x==4)||(y>5)| |
| T | |
| +--(8)---+ | |
| | | | |
| v v | |
| (9) (9)| |
| | | | |
| +-------+ | |
| | |
| (10) | |
| | |
+--------------+ |
| |
+----------+
```
(2)各覆盖方法的测试用例及执行路径如下:
- 语句覆盖:
测试用例1:x=4, y=6, z=9
执行路径:1-2-7-8-9-10
测试用例2:x=2, y=3, z=11
执行路径:1-2-7-9-10
- 判定覆盖:
测试用例1:x=4, y=6, z=9
执行路径:1-2-7-8-9-10
测试用例2:x=2, y=7, z=5
执行路径:1-2-7-9-10
- 条件覆盖:
测试用例1:x=4, y=6, z=9
执行路径:1-2-7-8-9-10
测试用例2:x=2, y=7, z=5
执行路径:1-2-7-9-10
- 判定/条件覆盖:
测试用例1:x=4, y=6, z=9
执行路径:1-2-7-8-9-10
测试用例2:x=4, y=3, z=9
执行路径:1-2-7-9-10
- 条件组合覆盖:
测试用例1:x=4, y=6, z=9
执行路径:1-2-7-8-9-10
测试用例2:x=2, y=7, z=5
执行路径:1-2-7-9-10
- 路径覆盖:
测试用例1:x=4, y=6, z=9
执行路径:1-2-7-8-9-10
测试用例2:x=2, y=3, z=11
执行路径:1-2-7-9-10
阅读全文