黑盒测试——等价类划分法测试用例设计.三角形问题:输入三角形三条边,判定能否构成非三角形、一般三角形、等腰三角形和等边三角形。
时间: 2025-07-28 15:32:35 浏览: 15
### 黑盒测试中的等价类划分法
#### 定义与原理
等价类划分是一种常用的黑盒测试技术,旨在减少不必要的冗余测试案例数量的同时保持较高的缺陷检测率。该方法基于这样一个假设:如果一个测试用例可以揭示某个特定类型的错误,则属于同一等价分区内的其他任何成员也应该能够揭露相同的错误。
对于给定的功能需求说明文档,可以通过识别有效和无效两种范围来创建多个互斥且完全覆盖输入域的子集——这些就是所谓的“等价类”。每个等价类代表了一组预期行为相似的数据点集合[^1]。
#### 应用于三角形分类问题的具体实现
考虑题目描述中提到的要求:
- 输入应为三个正整数 `a`、`b` 和 `c`;
- 这些数值需满足构成三角形的基本几何约束条件(任意两边之和大于第三边);
- 根据三边长度的不同组合区分不同种类的三角形(等边、等腰或一般三角形);
为了应用等价类划分策略,在此定义如下几个主要类别及其对应的边界情况:
| 类型 | 描述 |
| --- | --- |
| **有效等价类** | 所有符合条件 (1)-(5) 的输入值。<br>例如:<ul><li>(3, 4, 5)</li></ul>|
| **无效等价类 - 负数/零** | 至少有一个参数不是正值。<br>例如:<ul><li>(0, 4, 5), (-1, 4, 5)</li></ul>|
| **无效等价类 - 不满足三角不等式定律** | 存在一个或更多违反 “两短边之和大于最长边” 原则的情形。<br>例如:<ul><li>(1, 2, 9)</li></ul>|
进一步细分有效等价类可得:
| 细分类型 | 特征 |
| --- | --- |
| **等边三角形** | 当且仅当 a=b=c 成立时。<br>例如:<ul><li>(5, 5, 5)</li></ul>|
| **等腰三角形** | 若仅有两个变量相等而第三个不同。<br>例如:<ul><li>(5, 5, 8)</li></ul>|
| **一般三角形** | 对于既不符合上述任一情形的一般情况。<br>例如:<ul><li>(3, 4, 5)</li></ul>|
#### 设计具体测试用例
根据以上分析构建具体的测试实例列表如下所示:
```plaintext
Test Case ID Input Values Expected Output Reasoning
TC_01 (3, 4, 5) General Triangle Valid input forming general triangle.
TC_02 (5, 5, 5) Equilateral Triangle Valid input with all sides equal.
TC_03 (5, 5, 8) Isosceles Triangle Two sides are same but not equilateral.
TC_04 (0, 4, 5) Not A Triangle Invalid due to zero value.
TC_05 (-1, 4, 5) Not A Triangle Negative number is invalid as side length.
TC_06 (1, 2, 9) Not A Triangle Violates the rule of sum of two shorter edges being greater than longest edge.
```
通过这种方式,不仅涵盖了所有可能的有效场景,同时也包含了若干典型的非法状况以验证系统的健壮性和异常处理能力。
阅读全文
相关推荐



















