黑盒测试技术—三角形问题
实验报告
一、问题描述
输入三个整数 a、b、c,分别作为三角形的三条边,通过程序判断这三条边
是否能构成三角形?如果能构成三角形,则判断三角形的类型并输出(等边三角
形、等腰三角形、一般三角形),如果不构成三角形输出不能构成三角形。
要求:
(1)输入三个整数 a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。
(2)容错处理:输入空值的提示;输入的值满足类型的提示;
(3)不限制开发环境,不限制开发语言;
(4)尽可能不对自己的程序进行测试设计。
(5)请分别采用边界值分析法、等价类分析法、决策表分析法、基于场景分析法
设计测试用例;
(6)正文格式(除源代码用小五号单倍行距),其他行距固定值 20,字号小四。
二、程序主要源代码
(标注:被测代码)
package rjcs;
import java.util.Scanner;
public class Rjcs {
public static void main(String[] args) {
// TODO 自动生成的方法存根
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
//
接受键盘输入a,b,c
System.out.println("请键盘输入a的值");
int a = sc.nextInt();
System.out.println("请键盘输入b的值");
int b = sc.nextInt();
System.out.println("请键盘输入c的值");
int c = sc.nextInt();
if(a>=1&&a<=200) {
if(b>=1&&b<=200) {
if(c>=1&&c<=200) {
test(a,b,c);
}
else {
System.out.println("c的值不合规定!");
}
}
else {
System.out.println("b的值不合规定!");
}
}
else {
System.out.println("a的值不合规定!");
}
}
//判断三角形类型
public static void test(int a,int b,int c){
boolean pd=false;
if((a+b>c)&&(a+c>b)&&(b+c>a)){
if((a==b)&&(b==c)){
System.out.println("三边构成等边三角形");
}
else if((a==b)||(b==c)||(a==c)){
System.out.println("三边构成等腰三角形");
}
else{
System.out.println("三边构成一般三角形");
}
}
else System.out.println("三边不能构成三角形!");
}
}
三、程序界面(截图)
四、设计测试用例
1. 用边界值测试方法设计测试用例
用边界值分析法设计测试用例,按照下列步骤进行:
(1) 分析各变量取值
三边 a,b,c 的取值范围分别是 1≤a≤200;1≤b≤200;1≤c≤200。所以三
边的边界值可取为 0,1,2,199,200,201
(2) 测试用例数
输入条件
A
B
C
边界值
1,200
1,200
1,200
测试数据
0,1,2,199,200,201
0,1,2,199,200,201
0,1,2,199,200,201
(3) 设计测试用例(给出所有测试用例)
三角形问题的测试用例
测试用例
编号
输入数据
预期输出
测试结果
1
2
3
4
5
6
7
8
9
10
a
2
200
200
50
200
0
1
60
60
30
b
2
0
200
50
200
1
1
60
60
40
c
0
1
201
199
200
2
2
60
100
50
c 的值不合
规定!
b 的值不合
规定!
c 的值不合
规定!
三边不能构
成三角形!
三边构成等
边三角形
a 的值不合
规定!
三边不能构
成三角形!
三边构成等
边三角形
三边构成等
腰三角形
三边构成一
般三角形
c 的值不合
规定!
b 的值不合
规定!
c 的值不合
规定!
三 边 不 能
构 成 三 角
形!
三 边 构 成
等 边 三 角
形
a 的值不合
规定!
三 边 不 能
构 成 三 角
形!
三 边 构 成
等 边 三 角
形
三 边 构 成
等 腰 三 角
形
三 边 构 成
一 般 三 角
形
2. 用等价类测试方法设计测试用例
(1)首先分析题目中给出的条件和隐含的输入要求,输入条件如下:
三边 a,b,c 的取值范围分别是 1≤a≤200;1≤b≤200;1≤c≤200。任意两边之和大于
第三边。
(2)根据输入条件的要求划分等价类,列出等价类表并编号
输入条件 有效等价类
边长 a
1<=a<=200
边长 b
1<=a<=200
边长 c
1<=a<=200
边长 a,b,c
边长 a,b,c
边长 a,b,c
a+b>c
a+c>b
b+c>a
编号
无效等价类
编号
1
2
3
4
5
6
a<1
a>200
b<1
b>200
c<1
c>200
a+b<=c
a+c<=b
b+c<=a
7
8
9
10
11
12
13
14
15
(3) 设计测试用例,覆盖上表中的等价类,如表 1-3 表所示。(至少 20 条)
表 1-3 三角形问题的测试用例
预期输出
覆盖等价类
测试结果
三 边 构 成 等 边
三角形
1,2,3,4,5,6
三边构成
等边三角
形
三边构成
等边三角
形
三边构成
等边三角
形
a 的值不
合规定!
三边不能
构成三角
形!
三边不能
构成三角
形!
c 的值不
合规定!
三边不能
构成三角
形!
测试用例
编号
1
2
3
4
5
6
7
8
输入数据
b
2
c
2
a
2
200
200
200
三 边 构 成 等 边
三角形
1,2,3,4,5,6
60
60
60
0
1
1
1
2
2
100
100
200
150
150
300
50
50
100
三 边 构 成 等 边
三角形
a 的 值 不 合 规
定!
三 边 不 能 构 成
三角形!
三 边 不 能 构 成
三角形!
c 的 值 不 合 规
定!
三 边 不 能 构 成
三角形!
1,2,3,4,5,6
2,3,5,6,7,13
1,2,3,5,6,13
1,2,3,5,6,13
1,2,5,6,12,13
1,2,3,5,6,13
9
10
11
12
13
14
15
16
17
18
19
20
21
22
50
30
55
61
50
40
52
62
70
50
53
63
三 边 构 成 等 腰
三角形
1,2,3,4,5,6,
三 边 构 成 一 般
三角形
1,2,3,4,5,6,
三 边 构 成 一 般
三角形
三边构成一般
三角形
三 边 构 成 一 般
三角形
1,2,3,4,5,6,
111
121
133
三 边 构 成 一 般
三角形
1,2,3,4,5,6,
2
1
57
100
150
60
65
20
2
64
200
201
60
24
153
156
200
201
75
201
100
60
39
90
三 边 不 能 构 成
三角形!
c 的 值 不 合 规
定!
三 边 构 成 一 般
三角形
c 的 值 不 合 规
定!
b 的 值 不 合 规
定!
三 边 构 成 等 边
三角形
1,2,3,4,5,6
1,2,6,12,13,14
1,2,3,4,5,6,
1,2,4,5,6,12
1,3,4,5,6,10
1,2,3,4,5,6
三 边 不 能 构 成
三角形!
1,2,3,4,5,15
三 边 构 成 一 般
三角形
1,2,3,4,5,6,
60
80
100
三 边 构 成 一 般
三角形
1,2,3,4,5,6,
三边构成
等腰三角
形
三边构成
一般三角
形
三边构成
一般三角
形
三边构成
一般三角
形
三边构成
一般三角
形
三边不能
构成三角
形!
c 的值不
合规定!
三边构成
一般三角
形
c 的值不
合规定!
b 的值不
合规定!
三边构成
等边三角
形
三边不能
构成三角
形!
三边构成
一般三角
形
三边构成
一般三角
形
3.用决策表测试方法设计测试用例
(1)构建决策表
取值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
abc 构
Y
Y
Y
Y
Y
Y
Y
Y
N
N
N
N
N
N
成 三
角
形?
a=b?
a=c?
b=c?
非 三
角形
一 般
三 角
形
等 腰
三 角
形
等 边
D
三 角
形
不 符
合 逻
辑
(2)化简
规则/编号
Y
Y
Y
Y
Y
N
Y
N
Y
N
Y
Y
N
N
Y
N
Y
N
Y
N
N
Y
Y
Y
D
Y
Y
N
D
Y
N
Y
D
N
Y
Y
D
N
N
Y
D
N
N
Y
D
N
N
N
D
D
D
D
D
D
D
1
234
567
8
9 10 11 12 13
14
Y
Y
Y
abc 构成三角
形?
a=b?
a=c?
b=c?
Y
Y
Y
Y
非三角形
一般三角形
等腰三角形
等边三角形 Y
不符合逻辑
Y
(3)化简后的测试用例设计
输入数据
测试用例
编号
a
b
c
预期输出
覆盖等价类
测试结果
1
2
3
15
16
17
18
200
200
200
三 边 构 成 等 边
三角形
1,2,3,4,5,6,
60
65
1
57
80
24
2
64
100
150
200
201
60
39
201
75
201
100
三 边 构 成 等 腰
三角形
1,2,3,4,5,6,
三 边 不 能 构 成
三角形!
c 的 值 不 合 规
定!
三 边 构 成 一 般
三角形
1,2,3,4,5,15
1,2,6,12,13,14
1,2,3,4,5,6,
c 的 值 不 合 规
定!
b 的 值 不 合 规 1,3,4,5,6,10
1,2,4,5,6,12
三边构成
等边三角
形
三边构成
等腰三角
形
三边不能
构成三角
形!
c 的值不
合规定!
三边构成
一般三角
形
c 的值不
合规定!
b 的值不