3.实践题 下面是用C语言编写的三角形形状判断程序,请分别从单元测试检测程序代码的角度、功能测试检测程序功能的角度对此程序进行测试,并按照你的编程经验尝试给出这两种测试思路下的测试用例。
时间: 2024-10-09 16:11:14 浏览: 73
三角形的测试用例——判断三角形的形状
首先,让我们看一个简单的C语言程序,用于判断用户输入的三个整数是否能构成一个三角形:
```c
#include <stdio.h>
int is_triangle(int a, int b, int c) {
if (a + b > c && a + c > b && b + c > a)
return 1;
else
return 0;
}
int main() {
int side1, side2, side3;
printf("Enter the lengths of three sides: ");
scanf("%d %d %d", &side1, &side2, &side3);
if (is_triangle(side1, side2, side3))
printf("The sides form a triangle.\n");
else
printf("The sides do not form a triangle.\n");
return 0;
}
```
**单元测试(Unit Testing)角度:**
单元测试主要是检查函数的孤立行为,即关注每个单独的函数或方法。对于这个程序,我们可能会关注`is_triangle`函数的行为。
- 测试用例1:正三角形(例如,3, 4, 5),期望返回1,因为它们可以构成一个三角形。
- 测试用例2:等腰三角形(例如,2, 2, 3),期望返回1,因为它们同样可以构成三角形。
- 测试用例3:反例1(例如,1, 2, 3),期望返回0,因为1+2不大于3。
- 测试用例4:反例2(例如,5, 1, 1),期望返回0,因为1+1不大于5。
**功能测试(Functional Testing)角度:**
功能测试更侧重于检查整个程序的完整功能,确保主程序能够正确地接收用户输入并显示结果。
- 测试用例1:用户输入一组合法的三角形边长,如3, 4, 5,确认程序能正确识别并告知用户这是一组三角形。
- 测试用例2:用户输入一组非法的三角形边长,如1, 2, 4,确认程序能正确识别这不是一组三角形。
- 测试用例3:用户输入零或负数,确认程序会处理这种情况,如提示“无法构成三角形”。
- 测试用例4:用户连续多次输入,检查程序能否正确处理每一次输入,并保持一致的反馈。
阅读全文