白盒测试逻辑覆盖例题
时间: 2023-07-04 11:08:37 浏览: 138
假设有以下代码:
```python
def max_value(a, b, c):
if a > b:
if a > c:
return a
else:
return c
else:
if b > c:
return b
else:
return c
```
这是一个函数,它接受三个参数 `a`、`b` 和 `c`,并返回它们中的最大值。
为了对这个函数进行白盒测试,我们需要覆盖它的所有逻辑分支。以下是一个可能的测试用例列表:
| `a` | `b` | `c` | 期望输出 |
| --- | --- | --- | --- |
| 1 | 2 | 3 | 3 |
| 3 | 2 | 1 | 3 |
| 1 | 3 | 2 | 3 |
| 2 | 1 | 3 | 3 |
| 2 | 3 | 1 | 3 |
| 3 | 1 | 2 | 3 |
这些测试用例分别涵盖了以下情况:
1. `a` 大于 `b`,`a` 大于 `c`
2. `a` 大于 `b`,`a` 不大于 `c`
3. `a` 不大于 `b`,`b` 大于 `c`
4. `a` 不大于 `b`,`b` 不大于 `c`,`c` 大于 `a`
5. `a` 不大于 `b`,`b` 不大于 `c`,`c` 不大于 `a`,`a` 等于 `b`
6. `a` 不大于 `b`,`b` 不大于 `c`,`c` 不大于 `a`,`a` 小于 `b`
这些测试用例覆盖了所有可能的分支情况,可以保证函数的代码覆盖率和逻辑覆盖率。
阅读全文