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-24 22:04:16 浏览: 43
好的,您的问题是关于给定一个函数的程序流程图、控制流图和测试用例设计的问题,我将为您一一解答。
1)程序流程图如下:
```
┌─┐
│a>0│
└─┘
│
│true
▼
┌─┐
│k=k+a│
└─┘
│
│
▼
┌─┐
│c>0│
└─┘
│
│true
▼
┌─┐
│k=k+c│
└─┘
│
│
▼
┌─┐
│return k│
└─┘
```
2)控制流图如下:
```
┌─┐
│start│
└─┘
│
│
▼
┌─┐
│a>0│
└─┘
│
│true
▼
┌─┐
│k=k+a│
└─┘
│
│
▼
┌─┐
│c>0│
└─┘
│
│true
▼
┌─┐
│k=k+c│
└─┘
│
│
▼
┌─────┐
│return k│
└─────┘
```
根据控制流图,我们可以计算环形复杂度为2。
3)判定覆盖是指每个判定的所有可能结果至少执行一次。因此,我们需要设计以下测试用例来满足判定覆盖:
```
Test case 1: a = 1, b = -1, c = 0
Test case 2: a = 0, b = 1, c = 1
```
4)条件覆盖是指每个判定的所有可能条件组合至少执行一次。因此,我们需要设计以下测试用例来满足条件覆盖:
```
Test case 1: a = 1, b = -1, c = 0
Test case 2: a = -1, b = 1, c = 1
Test case 3: a = 1, b = 1, c = -1
Test case 4: a = -1, b = -1, c = -1
Test case 5: a = 0, b = 0, c = 1
```
综上所述,我们设计了满足判定覆盖和条件覆盖的测试用例,可以用于对该函数进行测试。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)