有一段程序如下。 int func(int a,b,c) { int k=1; if ( (a>0) || (b<0) || (a+c>0) ) k=k+a; else k=k+b; if (c>0) k=k+c; return k; } 根据下列问题进行作答: (1) 绘制出程序流程图( 2) 绘制出控制流图,并计算环形复杂度( 3) 设计一组满足判定覆盖的测试用例 (4) 设计一组满足条件覆盖的测试用例(列出所有条件,并设计测试用例)
时间: 2023-12-25 20:03:31 浏览: 68
(1) 程序流程图如下:
```
Start
|
k = 1
|
if (a > 0) || (b < 0) || (a+c > 0) then
|
|-- k = k + a
|
else
|
|-- k = k + b
|
if (c > 0) then
|
|-- k = k + c
|
return k
|
End
```
(2) 控制流图如下:
```
+----(1)----+
| |
V |
k = 1 |
| |
+----(2)----+
| |
V |
if (a > 0) |
| |
+----(3)----+
| |
V |
k = k + a |
| |
+----(5)----+
| |
V |
else |
| |
+----(4)----+
| |
V |
k = k + b |
| |
+----(5)----+
| |
V |
if (c > 0) |
| |
+----(6)----+
| |
V |
k = k + c |
| |
+----(7)----+
| |
V |
return k |
| |
+----(8)----+
```
环形复杂度为 2。
(3) 判定覆盖需要满足程序中的每个条件都覆盖到,所以需要设计以下测试用例:
- a > 0, b < 0, c < 0
- a < 0, b < 0, c < 0
- a > 0, b > 0, c < 0
- a > 0, b < 0, c > 0
- a < 0, b > 0, c > 0
(4) 条件覆盖需要满足程序中每个条件的所有取值都覆盖到,所以需要设计以下测试用例:
- a > 0, b < 0, a+c <= 0, c < 0
- a > 0, b < 0, a+c <= 0, c > 0
- a > 0, b < 0, a+c > 0, c < 0
- a > 0, b < 0, a+c > 0, c > 0
- a <= 0, b < 0, c < 0
- a > 0, b >= 0, a+c <= 0, c < 0
- a > 0, b >= 0, a+c <= 0, c > 0
- a > 0, b >= 0, a+c > 0, c < 0
- a > 0, b >= 0, a+c > 0, c > 0
- a <= 0, b >= 0, c < 0
其中,条件包括:
- a > 0
- b < 0
- a+c > 0
- c > 0
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)