当前位置:
文档之家› 软件测试实验报告-黑盒测试等价划分类
软件测试实验报告-黑盒测试等价划分类
广西师范大学计信学院 《软件测试技术》课程实验
实验报告
题目: 班级: 学号: 姓名: 完成日期:
等价划分类黑盒测试报告
一、实验目的 1、掌握等价类划分的方法 2、掌握按等价类方法设计测试用例 二、实验内容 1、请用等价类划分法为三角形问题划分等价类,并设计相应的测试用 例,测试下面三角形问题程序,找出缺陷并改正,给出缺陷报告。
cout<<"隔一天日期为:"<<a<<"年"<<b<<"月"<<c<<"日"<<endl; }
四、测试结果及缺陷分析
缺陷:源程序过于啰嗦,并未使用函数来时源程序简化。
五、附录
A为闰年且 6 b=2,c:1~29
A为平年且 7 b=2,c:1~28
覆盖有效等价类的测试用类
a
b
c
2013
10
9
2012
2
28
2013
2
28
2013
9
15
覆盖无效等价类的测试用类
a
b
c
0.2013
10
9
2013
0.1
9
2013
10
0.9
0.2013
0.1
9
0.2013
10
0.9
2013
0.1
0.9
2
30 30
2013
2
源程序:
-24 31
#include "iostream.h" void main(){
int a,b,c; cout<<"请输入日期"<<endl<<"年:"<<endl;
cin>>a; cout<<"月:"<<endl;
cin>>b; cout<<"日:"<<endl;
cin>>c; if(a<=0)cout<<"年份不在允许范围内"<<endl; if(b<=0||b>12)cout<<"月份不在允许范围内"<<endl; if((b==1||b==3||b==5||b==7||b==8||b==10||b==12)&&(c<=0||c>31))cout<<" 日 期 不 在 允 许 范 围内"<<endl; if((b==4||b==4||b==6||b==9||b==11)&&(c<=0||c>30))cout<<"日期不在允许范围内"<<endl;
31
覆盖有效等价类号码
1、2、3、4 1、2、3、6 1、2、3、7 1、2、3、5
覆盖无效等价类号码
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
2013
9
31 25
2012
2
0 26
2012
2
-25 27
2012
2
30 28
2013
2
0 29
2013
5
1、2、3、4、5
4
1、2、3、4、6
覆盖无效等价类的测试用类
aLeabharlann bc覆盖无效等价类号码
0
4
5
7
3
0
5
8
3
4
0
9
3
4
7
10
7
2
3
11
2
5
3
12
程序改正:8:“不能”改成“能”;
11、“等边”改成“等腰”; 12、“a<>b&&b<>c&&c<>a”改成“a!=b&&b!=c&&a!=c”
实验二:输入日期为a年b月c日
构成一般三角
形
a+b>c
2
a+b<c
10
a+b=c
b+c>a
3
b+c<a
11
b+c=a
a+c>b
4
构成等腰三角 (a=b||b=c||a=c) 5
形
&& 两 边 之 和
大于第三遍
a+c<b
12
a+c=b
构成等边三角 a=b=c
6
形
覆盖有效等价类的测试用类
a
b
c
覆盖有效等价类号码
3
4
4
4
4
4
5
1、2、3、4
if(c<=28) c=c+2; else {
c=c-28; b=b+1; } } if(b==1||b==3||b==5||b==7||b==8||b==10) { if(c<=29) c=c+2; else { c=c-29; b=b+1; }
} if(b==12) {
if(c<=29) c=c+2; else {
if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c 的值不能构成三角形!"; 8 if(a==b&&b==c)cout<<"是等边三角形!"; 9 if(a==b||b==c||a==c)cout<<"是等边三角形!"; 11 if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!"; 12
}
2、请自己编写隔一天函数(编程语言自选),考虑闰年,2月,12月等
特殊情况,并划分等价类,按强一般等价类划分法设计测试用例,并进
行测试,要求给出部分测试用例截图,撰写测试报告。
三、实验过程
实验一:
有效等价类 号码
无效等价类 号码
输入三个整数 范围:1~100 1
a<1或a>100 7
b<1或b>100 8 c<1或c>100 9
0.2013
0.1
0.9
0
10
9
-2013
10
9
2013
0
9
2013
-10
9
2013
20
9
2013
10
0
2013
10
-9
2013
10
32
2013
9
0
2013
9
-15
b>12
19
C=0
20
C<0
21
C>31
22
C=0
23
C<0
24
C>30
25
C=0
26
C<0
27
C>29
38
C=0
29
C<0
30
C>28
#include "iostream.h" void main(){ 1
int a,b,c; 2 cout<<"请输入三角形的三条边(界于 1-100 之间)"<<endl; 3 cin>>a>>b>>c; 4 if(a<=1||a>=100)cout<<"a 的值超过允许的范围!"; 5 if(b<=1||b>=100)cout<<"b 的值超过允许的范围!"; 6 if(c<=1||c>=100)cout<<"c 的值超过允许的范围!"; 7
if((a%4==0)&&(a%100!=0)||(a%400==0)) {
if(b==2&&(c<=0||c>29)) cout<<"日期不在允许范围内"<<endl;
} else if(b==2&&(c<=0||c>28))cout<<"日期不在允许范围内"<<endl;
if(b==4||b==6||b==9||b==11) {
有效等价类 号码
输入三个数 整数
1
a>0
2
b:1~12
3
无效等价类
a为非整数 b为非整数 c为非整数 a,b为非整数 a,c为非整数 b,c为非整数 A,b,c为非整数
a=0 a<0 b=0 b<0
号码 8 9 10 11 12 13 14
15 16 17 18
当b=1、3、5、 4 7、8、10、12 时,c:1~31 当b=4、6、9、 5 11时,c:1~30
c=c-29; b=1; a=a+1; } } if((a%4==0)&&(a%100!=0)||(a%400==0)) { if(b==2) { if(c<=27)c=c+2; else { c=c-27; b=b+1; } } } else { if(b==2) { if(c<=27)c=c+2; else { c=c-26; b=b+1; } } }