语句覆盖、判定覆盖、条件覆盖、分支覆盖、路径覆盖严格程度排序
时间: 2023-07-04 18:17:58 浏览: 51
按照严格程度从低到高的顺序,这几个覆盖准则可以排序为:
1. 语句覆盖:要求测试用例能够覆盖程序的每个语句至少一次。
2. 判定覆盖:要求测试用例能够覆盖程序的每个判定语句的每个分支至少一次。
3. 分支覆盖:要求测试用例能够覆盖程序的每个分支语句至少一次。
4. 条件覆盖:要求测试用例能够覆盖程序的每个判定语句的每个条件至少一次。
5. 路径覆盖:要求测试用例能够覆盖程序的所有可能路径。
因为每个覆盖准则都是前一个的加强版,所以越往后的准则要求的测试用例越多,覆盖率也越高,所以越往后的准则越严格。但是,随着覆盖准则的增加,测试用例的数量也会呈指数级增长,因此在实际测试中需要根据实际情况选择适合的覆盖准则。
相关问题
语句覆盖、判定覆盖、分支覆盖、条件覆盖、路径覆盖严格程度排序
按照严格程度从低到高的顺序,这几个覆盖准则可以排序为:
1. 语句覆盖:要求测试用例能够覆盖程序的每个语句至少一次。
2. 判定覆盖:要求测试用例能够覆盖程序的每个判定语句的每个分支至少一次。
3. 分支覆盖:要求测试用例能够覆盖程序的每个分支语句至少一次。
4. 条件覆盖:要求测试用例能够覆盖程序的每个判定语句的每个条件至少一次。
5. 路径覆盖:要求测试用例能够覆盖程序的所有可能路径。
因为每个覆盖准则都是前一个的加强版,所以越往后的准则要求的测试用例越多,覆盖率也越高,所以越往后的准则越严格。但是,随着覆盖准则的增加,测试用例的数量也会呈指数级增长,因此在实际测试中需要根据实际情况选择适合的覆盖准则。
用一个例子区别语句覆盖、判定覆盖、条件覆盖、分支覆盖、路径覆盖
假设有如下代码:
```python
def is_even(num):
if num % 2 == 0:
return True
else:
return False
```
语句覆盖要求测试用例至少执行一次每个语句,因此我们需要至少两个测试用例:
1. num = 2
2. num = 3
判定覆盖要求测试用例至少覆盖每个判定的所有可能结果,即每个 if/else 语句的每个分支都至少覆盖一次。在这个例子中,只有一个 if/else 语句,因此判定覆盖与分支覆盖相同。我们需要至少两个测试用例:
1. num = 2
2. num = 3
条件覆盖要求测试用例覆盖每个判定中的所有可能条件,即每个 if/else 语句的每个条件都至少覆盖一次。在这个例子中,只有一个 if/else 语句,条件是 num % 2 == 0。因此我们需要至少两个测试用例:
1. num = 2
2. num = 1
分支覆盖要求测试用例至少执行每个分支一次,即每个 if/else 语句的每个分支都至少执行一次。在这个例子中,只有一个 if/else 语句,因此我们需要至少两个测试用例:
1. num = 2
2. num = 1
路径覆盖要求测试用例覆盖程序中的所有可能路径,即从程序的入口到出口的每个可能路径都至少执行一次。在这个例子中,有两个可能路径:
1. num % 2 == 0
2. num % 2 != 0
因此我们需要至少两个测试用例:
1. num = 2
2. num = 1
总的来说,语句覆盖、判定覆盖和分支覆盖都是路径覆盖的特例,而条件覆盖则比语句覆盖更加严格,要求覆盖每个判定语句的每个条件。而路径覆盖则是所有覆盖准则中最严格的,要求覆盖程序中的所有可能路径。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)