
1 编写一个程序判定三角形的形状。
输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形以及构不成三角形。
现在要求输入三个整数a、b、c,必须满足以下条件:
条件1 1≤a≤100 条件4 a 条件2 1≤b≤100 条件5 b 条件3 1≤c≤100 条件6 c☐如果输入值a、b、c不满足条件1、条件2和条件3,程序给出“边的取值超出允许范围”的信息。 ☐如果输入值a、b、c满足条件1、条件2和条件3,则输出下列四种情况之一: (1)如果不满足条件4、条件5和条件6中的一个,则输出为“非三角形”。 (2)如果三条边相等,则输出为“等边三角形”。 (3)如果恰好有两条边相等,则输出为“等腰三角形”。 (4)如果三条边都不相等,则输出为“一般三角形”。 2 用等价类划分和边界值分析法设计测试用例,生成等价类表(给每一个等价类确定一个编号): b>0,(2) c>0,(3) a+b>c,(4) b+c>a,(5) a+c>b,(6) b≤0,(8) c≤0,(9) a+b b=c,(14) a=c,(15) (b≠c),(19) (a≠c),(20)
3.运行程序并测试,记录实际输出。输入条件 有效等价类 无效等价类 是否为三角形 a>0,(1) a≤0,(7) 是否等腰三角形 a=b,(13) (a≠b)and(b≠c)and(a≠c),(16) 是否等边三角形 (a=b)and(b=c)and(a=c),(17) (a≠b),(18)
| 编号 | 输入 | 覆盖等价类 | 预期输出 | 执行结果 | 备注 |
| 1 | [3,4,5] | (1),(2),(3),(4),(5),(6) | 一般三角形 | 正确 | |
| 2 | [0,1,2] | (7) | 不能构成三角形 | ||
| 3 | [1,02,] | (8) | |||
| 4 | [1,2,0] | (9) | |||
| 5 | [1,2,3] | (10) | |||
| 6 | [1,3,2] | (11) | |||
| 7 | [3,1,2] | (12) | |||
| 8 | [3,3,4] | (1),(2),(3),(4),(5),(6),(13) | 等腰三角形 | ||
| 9 | [3,4,4] | (1),(2),(3),(4),(5),(6),(14) | |||
| 10 | [3,4,3] | (1),(2),(3),(4),(5),(6),(15) | |||
| 11 | [3,4,5] | (1),(2),(3),(4),(5),(6),(16) | 非等腰三角形 | ||
| 12 | [3,3,3] | (1),(2),(3),(4),(5),(6),(17) | 等边三角形 | ||
| 13 | [3,44] | (1),(2),(3),(4),(5),(6),(14),(18) | 非等边三角形 | ||
| 14 | [3,4,3] | (1),(2),(3),(4),(5),(15),(19) | |||
| 15 | [3,3,4] | (1),(2),(3),(4),(5),(6),(13),(20) |
三角形等价类列表
判定类型 有效等价类 无效等价类
一般三角形 ((a>0) Λ(b>0) Λ(c>0)) Λ (a<=0 V b<=0 V c<=0) Λ
(((a+b)>c) V ((a+c)>b) V ((b+c)>a)) (1) (((a+b)<=c) V ((a+c)<=b) V ((b+c)<=a)) (2)
等腰三角形 (1) Λ (a=b V a=c V b=c) (3) (2) V (a!=b Λ b!=c Λ a!=c) (4)
等边三角形 (1) Λ (a=b=c ) (5) (2) V (a!=b!=c) (6)
根据上表组成的测试用例:
三角形等价类测试用例
ID 输入数据 覆盖测试用例 输出结果
a b c
1 3 4 5 (1) 一般三角形
2 0 4 5 (2) 非(一般)三角形
3 3 0 5 (2)
4 3 4 0 (2)
5 1 4 5 (2)
6 3 8 5 (2)
7 3 2 1 (2)
8 3 3 5 (3) 等腰三角形
9 3 4 3
10 3 4 4
11 3 4 9 (4) 非等腰三角形
12 3 3 3 (5) 等边三角形
13 -1 0 1 (6) 非等边三角形
三角形程序的测试用例:
序号 测试内容 测试数据 预期结果
1 等边 5,5,5 4,5,5 等边
2 等腰 4,4,5 5,4,4 等腰
3 任意 3,4,5 任意
4 非三角形 9,4,4 4,9,4 4,4,9 No
5 退化三角形 8,4,4 4,8,4 4,4,8 No
6 零数据 0,4,5 4,0,5 4,5,0 No
7 零数据 0,0,0 No
8 负数据 -3,4,5 3,-4,5 3,4-5 运行出错
9 负数据 -3,-4,-5 运行出错
10 遗漏数据 3,4 运行出错
11 非 整数 3.3,4,5 运行出错
12 非数字符 A,4,5 (类型不符)
