用逻辑覆盖的测试方法对下面的C语言代码进行测试。代码的功能是:输入3个整数a、b、c,分别作为三角形的3条边,通过程序判断这3条边是否能构成三角形。如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。要求:输入的3个整数a、b、c取值范围为[1,200]。
时间: 2023-12-02 22:05:54 浏览: 102
逻辑覆盖测试方法主要包括以下几种情况:
1. 语句覆盖:执行每一条语句至少一次。
2. 判定覆盖:使每个判断的取值至少执行一次分支,即覆盖每个分支。
3. 条件覆盖:使每个判断的每个取值至少执行一次分支,并且每个逻辑条件至少执行一次true和false的情况。
4. 路径覆盖:使每个可能的执行路径至少执行一次。
下面对给定的C语言代码进行逻辑覆盖测试:
```c
#include <stdio.h>
int main()
{
int a, b, c;
printf("请输入三角形的三条边a、b、c:\n");
scanf("%d %d %d", &a, &b, &c);
if (a+b>c && a+c>b && b+c>a)
{
if (a==b && b==c)
{
printf("这是一个等边三角形。\n");
}
else if (a==b || b==c || a==c)
{
printf("这是一个等腰三角形。\n");
}
else
{
printf("这是一个一般三角形。\n");
}
}
else
{
printf("这不是一个三角形。\n");
}
return 0;
}
```
1. 语句覆盖:
输入a、b、c三个整数,判断是否能构成三角形,输出三角形的类型或不是三角形。
测试用例:
- a=1, b=2, c=3
- a=1, b=1, c=1
- a=2, b=2, c=3
- a=2, b=3, c=4
2. 判定覆盖:
判断能否构成三角形,覆盖每个分支。
测试用例:
- a=1, b=2, c=3
- a=1, b=1, c=1
- a=2, b=2, c=3
- a=2, b=3, c=4
3. 条件覆盖:
判断能否构成三角形,覆盖每个分支和每个逻辑条件true和false的情况。
测试用例:
- a=1, b=2, c=3
- a=1, b=1, c=1
- a=2, b=2, c=3
- a=2, b=3, c=4
4. 路径覆盖:
覆盖每个可能的执行路径。
测试用例:
- a=1, b=2, c=3
- a=1, b=1, c=1
- a=2, b=2, c=3
- a=2, b=3, c=4
阅读全文