请根据三角形类型判断的具体程序需求和相关源代码,进行黑盒测试用例和白盒测试用例设计
时间: 2024-03-03 21:52:39 浏览: 137
黑盒测试用例设计:
1. Equilateral Triangle(等边三角形):输入三个相等的边长,期望得到“等边三角形”输出结果。
2. Isosceles Triangle(等腰三角形):输入两个相等的边长和一个不等的边长,期望得到“等腰三角形”输出结果。
3. Scalene Triangle(不等边三角形):输入三个不相等的边长,期望得到“不等边三角形”输出结果。
4. Invalid Triangle(非三角形):输入任意三个边长,其中任意两个边长之和小于第三个边长,期望得到“非三角形”输出结果。
白盒测试用例设计:
1. 边长输入为整数、小数、负数、0的情况。
2. 边长输入的大小顺序为升序、降序、随机顺序的情况。
3. 对于等腰三角形和不等边三角形的判断,需要考虑边长是否为整数。
4. 对于非三角形的判断,需要考虑任意两个边长之和是否小于第三个边长,以及考虑三角形的三边关系是否符合三角形定理。
下面是一个基于Java的源代码实现:
```
public class Triangle {
public String getTriangleType(double a, double b, double c) {
if (a <= 0 || b <= 0 || c <= 0) {
return "Invalid Triangle";
}
if (a + b <= c || a + c <= b || b + c <= a) {
return "Invalid Triangle";
}
if (a == b && b == c) {
return "Equilateral Triangle";
}
if (a == b || b == c || a == c) {
return "Isosceles Triangle";
}
return "Scalene Triangle";
}
}
```