黑盒测试实验报告Word文件下载.docx
- 文档编号:20600373
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:24
- 大小:22.28KB
黑盒测试实验报告Word文件下载.docx
《黑盒测试实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《黑盒测试实验报告Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。
划分等价类:
等价类是指某个输入域的子集合。
在该子集合中,各
个输入数据对于揭露程序中的错误都是等效的,并合理地假定:
测试
某等价类的代表值就等于对这一类其它值的测试。
因此,可以把全部输
入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测
试的输入条件,就可以用少量代表性的测试数据。
取得较好的测试结果。
等价类划分可有两种不同的情况:
有效等价类和无效等价类。
有效等价类:
是指对于程序的规格说明来说是合理的,有意义的输入
数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中
所规定的功能和性能。
无效等价类:
与有效等价类的定义恰巧相反。
设计测试用例时,要同时考虑这两种等价类。
因为,软件不仅要能接收
合理的数据,也要能经受意外的考验。
这样的测试才能确保软件具有更
高的可靠性。
2边界值分析
边界值分析是通过选择等价类边界的测试用例。
边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。
它是对等价类划分方法的补充。
(1)边界值分析方法的考虑;
长期的测试工作经验告诉我们
大量的
错误是发生在输入或输出范围的边界上,
而不是发生在输入输出范围
的内部。
因此针对各种边界情况设计测试用例
可以查出更多的错
误。
使用边界值分析方法设计测试用例
首先应确定边界情况。
通常输入和
输出等价类的边界,就是应着重测试的边界情况。
应当选取正好等于
刚刚大于或刚刚小于边界的值作为测试数据
而不是选取等价类中的
典型值或任意值作为测试数据。
(2)基于边界值分析方法选择测试用例的原则:
1)如果输入条件规定了值的范围
则应取刚达到这个范围的边界的值
以及刚刚超越这个范围边界的值作为测试输入数据。
2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个
数少一,比最大个数多一的数作为测试数据。
3)根据规格说明的每个输出条件,使用前面的原则1)。
4)根据规格说明的每个输出条件,应用前面的原则2)。
5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取
集合的第一个元素和最后一个元素作为测试用例。
6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结
构的边界上的值作为测试用例。
7)分析规格说明,找出其它可能的边界条件。
3错误推测法
错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,
从而有针对性的设计测试用例的方法。
错误推测方法的基本思想:
列举出程序中所有可能有的错误和容易发
生错误的特殊情况,根据他们选择测试用例。
例如,在单元测试时曾
列出的许多在模块中常见的错误。
以前产品测试中曾经发现的错误
等,这些就是经验的总结。
还有,输入数据和输出数据为0的情况。
输入表格为空格或输入表格只有一行。
这些都是容易发生错误的情况。
可选择这些情况下的例子作为测试用例。
4因果图法
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条
件,但未考虑输入条件之间的联系,相互组合等。
考虑输入条件之间的相互组合,可能会产生一些新的情况。
但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情
况也相当多。
因此必须考虑采用一种适合于描述对于多种条件的组合,
相应产生多个动作的形式来考虑设计测试用例。
这就需要利用因果图
(逻辑模型)。
因果图方法最终生成的就是判定表。
它适合于检查程序输入条件的各
种组合情况。
三、实验内容
3.1三角形问题
1)划分等价类
输入3个正整数或正小数:
1、两数之和大于第三数,如A<
B+C;
B<
C+A;
C<
A+B
2、两数之和不大于第三数
3、两数相等,如A=B或B=C或C=A
4、三数相等,如A=B=C
5、三数不相等,如A!
=B,B!
=C,C!
=A
1、空
2、负整数
3、非数字
4、少于三个数
输入条件
是否是三角
形
是否是等腰三角形
三角形测试用例类别
有效等价类
无效等价类
(A>
0)
(1)
(A<
=0)
(7)
(B>
(2)
(B<
(8)
(C>
(3)
(C<
(9)
(A+B>
C)
(4)
(A+B<
=C)
(10)
(B+C>
A)
(5)
(B+C<
=A)
(11)
(C+A>
B)
(6)
(C+A<
=B)
(12)
(A=B)
(13)
(A!
=B)and(B!
=C)and(C!
(B=C)
(14)
)
(16)
(C=A)
(15)
(A=B)and(A2+B2=C2)
是否是等腰
(17)
直角三角形
(B=C)and(B2+C2=A2)
(20)
(18)
222
(C=A)and(C+A=B)
(22)
是否是等边(A=B)and(B=C)and(C=A)
(B!
(23)
三角形
(21)
(C!
(24)
三角形测试用例:
用最少的测试用例覆盖所有的有效等价类,而无效等价类每个类型都要覆盖到
序
输入
覆盖等价类
输出
号
[A,B,C]
1
[3,4,5]
(1)
(2)(3)(4)(5)(6)
是三角形
2
[1,2,3]
非三角形
3
[1,3,2]
4
[3,1,2]
5
[3,3,4]
(1)
(2)(3)(4)(5)(6)(13)
等腰三角
6
[3,4,4]
(1)
(2)(3)(4)(5)(6)(14)
7
[3,4,3]
(1)
(2)(3)(4)(5)(6)(15)
8
(1)
(2)(3)(4)(5)(6)(16)(20)(22)(2
3)(24)
9
[3,3,3]
(1)
(2)(3)(4)(5)(6)(16)(21)
等边三角
10
[3,4]
错误提示
三角形问题”的测试用例(边界值分析法)
测试用例说
测试数据
期望结
明
果
(1)a=0
(2)b=0
输入无效
(3)c=0
(4)a>
这个三角形
(5)b>
是三边不等
(6)c>
的
(7)a+b=c235
(8)a+c=b
(9)b+c=a
(10)a+b<
c
(11)a+c<
b
(12)b+c<
a
|a-b|=c
(14)
|a-c|=b
(15)
|b-c|=a
(16)
|a-b|>
(17)
|a-c|>
(18)
|b-c|>
(19)a≠b≠
(20)a=b≠c445
这个三
角形是三边
不等的
(21)a=c≠b
角形是等腰
(22)b=c≠a
(23)a=b=c
角形是等边
测试源代码
三、测试代码
等价值测试法
packagecn.heihe.sjx.test;
importjava.util.Scanner;
/**
*“三角形问题”的测试用例(等价类测试)
*
*@authorMario
*/
publicclassTestTriangle{
@SuppressWarnings("
resource"
publicstaticvoidmain(String[]args){
try{
inta,b,c;
System.out.println("
开始黑盒测试"
);
Scannerin=newScanner(System.in);
System.out.print("
条件1.请输入第一个大于0且小于等于100的整数"
a=Integer.parseInt(in.nextLine());
if(a<
=0||a>
100||!
String.valueOf(a).matches("
[0-9]+"
)){thrownewException();
}
条件2.请输入第二个大于0且小于等于100的整数"
b=Integer.parseInt(in.nextLine());
if(b<
=0||b>
String.valueOf(b).matches("
条件3.请输入第三个大于0且小于等于100的整数"
c=Integer.parseInt(in.nextLine());
if(c<
=0||c>
String.valueOf(c).matches("
if((!
(a+b<
=c||a+c<
=b||b+c<
=a))&
&
(a>
=1&
a<
=100)
(b>
b<
(c>
c<
=100)){if(a==b&
a==c){
System.out.println(a+"
,"
+b+"
+c+"
可以组成一个等边
三角形"
}elseif(a==b||a==c||b==c){
可以组成一个等腰
}elseif((a*a+b*b==c*c&
a==b)||(a*a+c*c==b
*b&
a==c)
||(c*c+b*b==a*a&
c==b)){
直角三角形"
}elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c
*c+b*b==a*a)){
可以组成一个直角
}else{
可以组成一个一般
1||a>
100)
不满足条件1,不能构成三角形"
if(b<
1||b>
不满足条件2,不能构成三角形"
if(c<
1||c>
不满足条件3,不能构成三角形"
if(a>
=b+c)
不满足a<
b+c,不能构成三角形"
if(b>
=a+c)
不满足b<
a+c,不能构成三角形"
if(c>
=a+b)
不满足c<
a+b,不能构成三角形"
黑盒测试结束"
}catch(Exceptione){
不满足条件,不能构成三角形\n黑盒测试结束"
边界值测试法
*“三角形问题”的测试用例(边界值测试)
publicclassTestTriangle2{
)){
thrownewException();
=a))){
if(a!
=b&
b!
=c&
a!
=c){
这个三角形是三边不等的"
}elseif(a==b&
b==c&
这个三角形是等边的"
}elseif(a==b||a==c||c==b){
这个三角形是等腰的"
输入无效"
输入无效\n黑盒测试结束"
3.2找零钱最佳组合
一、分析输入的情形。
RP
R>
100P>
100
0<
R<
=100R<
=P<
=10
=00
P<
R
二、分析输出情形。
N50
N10
N5
N1
N50=1
4>
=N10
N5=1
=N1>
N50=0
>
=1
N5=0
N10=0
N1=0
三、分析规格中每一决策点之情形,以RR1,RR2,RR3表示计算要找
50,10,5元货币数时之剩余金额。
100R<
=0P>
100P<
RRR1>
=50RR2>
=10R
R3>
=5
四、由上述之输入/输出条件组合出可能的情形。
(RR=P-R)
=0
=100,P>
=100,P<
=100,R<
=100,RR=50
=100,RR=49
=100,RR=10
=100,RR=9
=100,RR=5
=100,RR=4
=100,RR=1
=100,RR=0
五、为满足以上之各种情形,测试资料设计如下:
1.货品价格=101
2.货品价格=0
3.货品价格=-1
4.货品价格=100,付款金额=101
5.货品价格=100,付款金额=99
6.货品价格=50,付款金额=100
7.货品价格=51,付款金额=100
8.货品价格=90,付款金额=100
9.货品价格=91,付款金额=100
10.货品价格=95,付款金额=100
11.货品价格=96,付款金额=100
12.货品价格=99,付款金额=100
13.货品价格=100,付款金额=100
packagecom.xu.ceshi;
publicclassPrice{
请输入您购买的东西价格:
"
Scannerscanner=newScanner(System.in);
intvalue=scanner.nextInt();
if(value>
100||value<
0){
无效货品价格"
value=scanner.nextInt();
请输入您支付的金额:
intvalue2=scan
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 黑盒 测试 实验 报告