软件测试黑盒测试实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序代码(开发环境:Windows7、Eclipse):
import java.util.Scanner;
public class Triangle {
public static void main(String[] args) {
double a, b, c;
Scanner input = new Scanner(System.in);
实验报告
课程名称软件测试
专业
班级
学号
姓名
指导教师
2018年6月7日
实验四
等价类划分、边界值分析、决策表方法
一、问题描述:完成一段程序,要求实现这样的功能。输入三个整数a,b,c,分别作为三角形的三条边,取值范围为1-100,判断由三条边构成的三角形类型为等边三角形、等腰三角形、一般三角形以及不构成三角形。判断结果打印输出。
R2 = { <a,b,c>:边为a,b,c的等腰三角形}
R3 = { <a,b,c>:边为a,b,c的一般三角形}
R4 = { <a,b,c>:边为a,b,c不能组成三角形}
输入
有效等价类
无效等价类
a,b,c
(1)<a,b,c>:边为a,b,c的一般三角形
(2)<a,b,c>:边为a,b,c的等腰三角形
数值b
0,101
假设某软件的数据输入域要求输入的数据值,1为最小值、100作为最大值;然后使用刚好小于1和大于100的数值来作为边界条件。
数值c
0,101
假设某软件的数据输入域要求输入的数据值,1为最小值、100作为最大值;然后使用刚好小于1和大于100的数值来作为边界条件。
3、决策表方法
(1)确定规则个数。例如,三角形问题的决策表有4个条件:
} else {
System.out.println("一般直角三角形.");
}
} else if (a == b && b == c && a == c) {
System.out.println("为等边三角形.");
} else if ((a == b && a != c) || (a == c && a != b)
c1:a、b、c构成三角形?
c2:a=b?
c3:a=c?
c4:b=c?
每个条件可以取两个值,故有16种规则。
(2)列出所有的条件桩和动作桩。
(3)填入输入项。
(4)填入动作项,得到初始决策表。
(5)化简。合并相似规则后得到三角形问题的决策表
序号
规则1-8
规则9
规则10
规则11
规则12
规则13
规则14
覆盖等价类号码
预期结果
执行结果
Test1
等价类划分
10 10 10
1
等边三角形
等边三角形
Test2
等价类划分
10 10 5
2
等腰三角形
等腰三角形
Test3
等价类划分
3 4 5
3
一般三角形
一般三角形
Test4
等价类划分
4 1 2
4
非三角形
非三角形
Test5
边界值分析方法
60 60 1
等腰三角形
等腰三角形
System.out.println("输入三角形的三边:");
a = input.nextDouble();
b = input.nextDouble();
c = input.nextDouble();
input.close();
if (a > 0 && b > 0 && c > 0) {
if (a + b > c && a + c > b && b + c > a) {
System.out.println("能构成三角形.");
if (a * a + b * b == c * c || a * a + c * c == b * b
|| b * b + c * c == a * a) {
if (a == b || a == c || b == c) {
System.out.println("为等腰直角三角形.");
(3)<a,b,c>:边为a,b,c的等边三角形
(4)<a,b,c>:边为a,b,c不能组成三角形
(5)a输入值超出预定义
(6)b输入值超出预定义
(7)c输入值超出预定义
2、边界值分析法
在三角形问题描述中,三角形每边边长的取范围值设值为[1, 100]。

边界值
用例设计思路
数值a
0,101
假设某软件的数据输入域要求输入的数据值,1为最小值、100作为最大值;然后使用刚好小于1和大于100的数值来作为边界条件。
|| (b == c && a != c)) {
System.out.println("为等腰三角形.");
} else {
System.out.println("为一般三角形.");
}
} else {
System.out.println("不能构成三角形.");
}
} else {
System.out.println("不能构成三角形.");
}
}}
二、测试用例设计
1、等价类划分
在多数情况下,是从输入域划分等价类的,但并非不能从被测程序的输出域反过来定义等价类,事实上,这对于三角形问题却是最简单的划分方法。
在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。
R1 = { <a,b,c>:边为a,b,c的等边三角形}
规则15
规则16
条件
c1:a、b、c构成三角形?
N
Y
Y
Y
Y
Y
Y
Y
Y
c2: a=b?

Yຫໍສະໝຸດ Baidu
Y
Y
Y
N
N
N
N
c3: a=c?

Y
Y
N
N
Y
Y
N
N
c4: b=c?

Y
N
Y
N
Y
N
Y
N
动作
a1:非三角形
a2:一般三角形
a3:等腰三角形


a4:等边三角形




a5:不可能



用例列表及其执行结果:
序号
采用方法
输入a,b,c
Test6
边界值分析方法
60 60 2
等腰三角形
等腰三角形
Test7
边界值分析方法
60 60 60
等边三角形
等边三角形
Test8
边界值分析方法
50 50 99
等腰三角形
等腰三角形
Test9
边界值分析方法
50 50 100
非三角形
非三角形
Tes10
决策表
4 1 2
非三角形
非三角形
Test11
决策表
1 4 2
非三角形
非三角形
Test12
决策表
2 2 3
等腰三角形
等腰三角形
Test13
决策表
5 5 5
等边三角形
等边三角形
Test14
决策表
3 4 5
一般三角形
一般三角形
三、实验总结
本次实验我们做的黑盒测试实验,黑盒测试方法有等价类划分法、边界值分析法和判定表方法。
等价类划分法中,我们不但要考虑有效等价类划分,同时还需要考虑无效的等价类划分。
相关文档
最新文档