}
System.out.println("黑盒测试结束");
}catch(Exceptione){
System.out.println("不满足条件,不能构成三角形\n黑盒测试结束");
}
}
边界值测试法
packagecn.heihe.sjx.test;
importjava.util.Scanner;
/**
*“三角形问题”的测试用例(边界值测试)
*
*@authorMario
*/
publicclassTestTriangle2{
@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());
System.out.print("条件2.请输入第二个大于0且小于等于100的整数");
b=Integer.parseInt(in.nextLine());
System.out.print("条件3.请输入第三个大于0且小于等于100的整数");
c=Integer.parseInt(in.nextLine());
if(a<1||a>100||!
String.valueOf(a).matches("[0-9]+")){
thrownewException();
}
if(b<1||b>100||!
String.valueOf(b).matches("[0-9]+")){
thrownewException();
}
if(c<1||c>100||!
String.valueOf(c).matches("[0-9]+")){
thrownewException();
}
if((!
(a+b<=c||a+c<=b||b+c<=a))){
if(a!
=b&&b!
=c&&a!
=c){
System.out.println("这个三角形是三边不等的");
}elseif(a==b&&b==c&&a==c){
System.out.println("这个三角形是等边的");
}elseif(a==b||a==c||c==b){
System.out.println("这个三角形是等腰的");
}
}else{
System.out.println("输入无效");
}
System.out.println("黑盒测试结束");
}catch(Exceptione){
System.out.println("输入无效\n黑盒测试结束");
}
}
}
3.2找零钱最佳组合
一、分析输入的情形。
R
P
R>100
0R<=0
P>100
R<=P<=100
P二、分析输出情形。
N50
N10
N5
N1
N50=1
N50=0
4>=N10>=1
N10=0
N5=1
N5=0
4>=N1>=1
N1=0
三、分析规格中每一决策点之情形,以RR1,RR2,RR3表示计算要找50,10,5元货币数时之剩余金额。
R>100 R<=0 P>100 P=50 RR2>=10 RR3>=5
四、由上述之输入/输出条件组合出可能的情形。
(RR=P-R)
R>100
R<=0
0100
000000000五、为满足以上之各种情形,测试资料设计如下:
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;
importjava.util.Scanner;
publicclassPrice{
publicstaticvoidmain(String[]args){
System.out.println("请输入您购买的东西价格:
");
Scannerscanner=newScanner(System.in);
intvalue=scanner.nextInt();
if(value>100||value<0){
System.out.println("无效货品价格");
System.out.println("请输入您购买的东西价格:
");
value=scanner.nextInt();
}
System.out.println("请输入您支付的金额:
");
intvalue2=scanner.nextInt();
if(value>value2||value2>100){
System.out.println("无效付款");
}elseif(value==value2){
System.out.println("不找零");
}else{
intvalue3=value2-value;
if(value3>100||value3<0){
System.out.println("输入的价钱不在本店范围内");
value=scanner.nextInt();
}
Priceprice=newPrice();
price.process(value3);
}
}
publicvoidprocess(intmoney){
System.out.println("将"+money+"元找零需要");
int[]value={100,50,10,5,1};
int[]count=newint[value.length];
for(inti=0;iwhile(money>=value[i]){
money-=value[i];
count[i]++;
}
if(count[i]!
=0){
System.out.print("应找回"+count[i]+"张"+value[i]+"元");
}
}
}
}
四、心得体会
通过这一次的黑盒测试实验,我们小组成员学习到了很多的知识。
首先对于测试计划上的失误,可以通过小组讨论,理清问题所在,交流寻找解决方案,以保证软件测试的后续展开。
还有对于测试人员对软硬件的熟悉程度引起的延误,可暂时延后测试行程,组员之间相互沟通交流软件、硬件系统使用心得,共同提高熟练程度后继续展开测试工作。
在这过程中我们发现我们仍然有很多不足的地方,例如对测试的基本知识掌握程