jiben4实验二黑盒测试判定表法.docx
《jiben4实验二黑盒测试判定表法.docx》由会员分享,可在线阅读,更多相关《jiben4实验二黑盒测试判定表法.docx(16页珍藏版)》请在冰豆网上搜索。
jiben4实验二黑盒测试判定表法
广西师范大学计信学院
《软件测试技术》课程实验
实验报告
题目:
黑盒测试判定表
班级:
4班
学号:
201012301150
姓名:
张铀廷
完成日期:
2012年10月1号
实验二黑盒测试法——判定表法
实验目的:
1.掌握因果图、判定表的方法
2.掌握按判定表设计测试用例
实验时间:
2学时
实验内容:
1、题目一:
隔一天日期问题
功能描述:
输入年份、月、日;输出:
输入日期在日历上的隔一天日期。
如输入1912年12月15日,应输出1912年12月17日。
要求:
(1)读源码并分析程序,给出问题规定的可能采取的操作(即列出所有的动作桩)。
动作桩根据分析可能有:
A1:
年份超过界限,请重新输入
A2:
月份超过界限,请重新输入
A3:
日期超过界限,请重新输入
A4:
本月是闰月,请在1-29之间从新输入日期
A5:
Day=1
A6:
Day=2
A7:
Day+2
A8:
Mouth=1
A9Mouth+1
A10ear+1
A11输出明天year年mouth月day日
(2)画出简化后的决策表,设计测试用例。
条件可以按照年月日不同进行划分:
对年:
Y11811<=yaer<=2013且平年
Y21811<=yaer<=2013且闰年
Y3year<1811或year>2013
对月:
M1:
mouth=1,3,5,7,8,10
M2:
mouth=4,6,9,11
M3:
mouth=2
M4:
mouth=12
M5:
mouth<1或mouth>12
对天:
D1:
1D2:
day=27
D3:
day=28
D4:
day=29
D5:
day=30
D6:
day=31
D7day<1或day>31
月
--
M5
_
M1
M2
M3
M4
日
_
_
D7
D1D2
D3
D5
D6
D1D2
D3
D4
D5
D1
D2
D3
D4
D5
D6
年
Y3
_
_
Y1
Y1
Y1
Y2
Y1
Y2
Y1
Y2
Y1
Y2
Y1
Y2
Y1
Y2
Y1
Y2
Y1
Y2
Y1
Y2
Y1
Y2
Y1
Y2
A1
√
A2
√
A3
√
A4
√
A5
√
√
√
√
√
A6
√
√
√
√
√
A7
√
√
√
√
√
A8
√
√
A9
√
√
√
√
√
√
A10
√
√
A11
√
√
√
√
√
√
√
√
√
√
√
√
√
√
√
(3)执行测试用例,进行测试记录和缺陷统计。
序号
测试数据
期望结果
覆盖分类
实际输出
1
非法输入
返回错误
无效
死循环
2
2014.--.--
提示
有效
提示信息
3
2012.13.--
提示
有效
提示信息
4
2012.1.33
提示
有效
提示信息
5
2000.2.28
2000.2.28
有效
2000.2.28
6
2000.2.29
2000.2.29
有效
2000.2.29
7
2012.429
2012.5.1
有效
2012.5.1
8
2012.4.30
2012.5.2
有效
2012.5.2
9
2012.1.30
2012.2.1
有效
2012.2.1
10
2012.1.31
2012.2.2
有效
2012.5.31
11
2012.12.30
2012.1.1
有效
2013.1.1
12
2012.12.31
2013.1.2
有效
2013.1.33
缺陷编号
001
用例编号
1—3
缺陷类型
严重级别
严重
优先级
优先
缺陷状态
New
测试阶段
□单元□集成□系统□√验收□其它()
可重现性
□是□否
BUG原因
□需求分析□基本设计□详细设计□设计式样理解□√编程□数据库设计
□环境配置□其它()
缺陷描述
输入非数字字符,运行出现死循环
预期结果
报告输入格式错误
重现步骤
备注
按照步骤打开程序,输入非字符,运行
以下部分由BUG修改人填写
缺陷修改描述
测试人
修正人
确认人
修正日期
年月日
缺陷编号
001
用例编号
缺陷类型
缺陷编号
002
用例编号
9
缺陷类型
严重级别
一般
优先级
优先
缺陷状态
New
测试阶段
□单元□集成□系统□√验收□其它()
可重现性
□是□否
BUG原因
□需求分析□基本设计□详细设计□设计式样理解□√编程□数据库设计
□环境配置□其它()
缺陷描述
输入2012.1.30,出现两次2012.2.1
预期结果
出现一次2012.2.1
重现步骤
备注
按照步骤打开程序,输入2012.1.30,出现两次2012.2.1
以下部分由BUG修改人填写
缺陷修改描述
测试人
修正人
确认人
修正日期
年月日
缺陷编号
003
用例编号
12
缺陷类型
严重级别
严重
优先级
优先
缺陷状态
New
测试阶段
□单元□集成□系统□√验收□其它()
可重现性
□是□否
BUG原因
□需求分析□基本设计□详细设计□设计式样理解□√编程□数据库设计
□环境配置□其它()
缺陷描述
输入2012.12.31出现2011.12.33
预期结果
应该出现2013.1.2
重现步骤
备注
按照步骤打开程序,输入2012.12.31出现2011.12.33
以下部分由BUG修改人填写
缺陷修改描述
测试人
修正人
确认人
修正日期
年月日
(4)撰写测试报告(格式参照实验一)。
用决策表测试法测试以下源代码
#include
usingnamespacestd;
voidNextDate(intyear,intmonth,intday);
voidmain()
{
intyear=0,month=0,day=0;
NextDate(year,month,day);
}
voidNextDate(intyear,intmonth,intday)
{
cout<<"请输入年份:
"<cin>>year;
while(!
(year>=1811&&year<=2013))
{
cout<<"年份超过界限,请重新输入"<cin>>year;
}
cout<<"请输入月份:
"<cin>>month;
while(month>12||month<1)
{
cout<<"月份输入有误,请重新输入"<cin>>month;
}
cout<<"请输入日期:
"<cin>>day;
while(day>31||day<1)
{
cout<<"日期输入有误,请重新输入"<cin>>day;
}
if((year%4==0&&year%100!
=0)||(year%400==0))//检查闰年;
{
inti=0;
i=day-29;
while(month==2&&i>0)
{
cout<<"本月是闰月,请在1-29之间从新输入日期"<cin>>day;
}
if(month==2&&day==28)
{
month=3;
day=1;
}
elseif(month==2&&day==29)
{
month=3;
day=2;
}
elseday=day+2;
}
elseday=day+2;
//月底计算;
switch(month)
{
case1:
case3:
case5:
case7:
case8:
case10:
if(day==32)
{
month++;
day=1;
cout<<"明天是:
"<}
elseif(day==33)
{
month++;
day=2;
cout<<"明天是:
"<}
break;
case2:
if(day==29)
{
month=3;
day=1;
cout<<"明天是:
"<}
elseif(day==30)
{
month=3;
day=2;
cout<<"明天是:
"<}
break;
case4:
case6:
case9:
case11:
if(day==31)
{
month++;
day=1;
cout<<"明天是:
"<}
elseif(day==32)
{
month++;
day=2;
cout<<"明天是:
"<}
break;
case12:
if(day==32)
{
year++;
month=1;
day=1;
cout<<"明天是:
"<}
break;
}
cout<<"明天是:
"<}
通过这个测试,发现了一定的软件错误,黑盒测试主要是功能测试,发现要想达到用户要求的加一天目标,还需要考虑很多因素.我在这个测试组中,主要时间都是花在设计测试用例上,而且,很多测试用例设计都很需要注意。