吉林出入境检验检疫局软件测试报告
第二篇:软件测试报告(一)
软件测试实验报告
——代码测试
学院:计算机科学学院
背景:
1、被测测试程序功能:计算被输入日期是星期几;
2、程序定义:已知公元1年1月1日是星期一,只要输入年月日,能自动回复当天是星期几;
一、实验目的
通过简单程序黑盒测试,熟悉测试过程,对软件测试行程初步了解,并养成良好的测试习惯。
二、实验内容
测试环境:Windows 2000、Dev C++;
说明:因程序简单,因此未使用测试软件,均为手工输入,得到输出进行测试。为简单起见,不考虑公元前的日期。
程序说明:
1、程序思路:计算输入日期与公元1年1月1日所相差的天数,具体如下:总天数=公元1年到输入日期上一年年底天数+输入年份的1月到上月月底天数+输入日期的天数
2、闰年满足条件(year%4==0)&&(year%100!=0)||(year%400==0)
(1)分析各种输入情况,结合程序输出结果,进行等价类划分,并给出详细测试用例;
(2)根据(1)所划分的等价类,进行边界值分析,并给出具体的测试用例;
(3)决策表测试法;
①列出输入变量month、 day、 year的有效等价类;(条件桩)
②分析程序的规格说明,给出问题规定的可能采取操作;(动作桩)③画出决策表(简化);
④根据决策表,给出详细测试用例。
三、实验要求
(1)根据题目要求编写测试用例
(2)实现测试用例的黑盒测试
(3)撰写实验测试报告
(4)试验心得总结
四、实验测试过程
1、测试代码
#include<iostream.h>
void main(void)
{
int flag=0,year,month,day;
long n;
//输入日期,并检验日期的合法性,直到输入正确为止
cout<<"请输入日期(年 月 日):";
do{
if(flag!=0)cout<<"\n\n输入日期无效!请重新输入:"; cin>>year>>month>>day;
flag=0;
if(year<1) //检验"年"
{
flag=1;
cout<<"年份大于零\n";
continue;
}
if(month<1||month>12) //检验"月"
{
flag=1;
cout<<"月份为1—12\n";
continue;
}
switch(month) //检验"日"
{
case 1:case 3:case 5:case 7:
case 8:case 10:case 12:
if(day>31)
{
flag=1;
cout<<"大月的年份为1—31!\n";
continue;
}
break;
case 2:
if((year%4==0)&&year%100!=0||(year%400==0))
{
if(day>29)
{
flag=1;
cout<<"闰年2月的天数为1-29\n";
continue;
}
}
else if(day>28)
{
flag=1;
cout<<"非闰年2月的天数为1-28\n";
continue;
}
break;
case 4: case 6:case 9:case 11:
if(day>30)
{
flag=1;
cout<<"小月的天数为1-30\n";
continue;
}
}
}while(flag);
//计算公元1年1月1日到输入日期的天数
n=(year-1)*365L; //公元1年到输入日期的天数(不考虑闰年) n+=(year-1)/4; //考虑闰年
n-=(year-1)/100;
n+=(year-1)/400;
switch(month-1) //输入日期那年1月至输入日期那年那月的天数 {
case 11:n+=30;
}
case 10:n+=31; case 9:n+=30; case 8:n+=31; case 7:n+=31; case 6:n+=30; case 5:n+=31; case 4:n+=30; case 3:n+=31; case 2:
if((year%4==0)&&year%100!=0||(year%400==0))n+=29; else n+=28; case 1:n+=31; }
n+=day; //输入日期那年那月的天数
n%=7; //折成星期几。若为0,则为星期天 //输出星期几
cout<<"输入日期是星期"; switch(n)
{ case 0:cout<<"天\n";break; case 1:cout<<"一\n";break; case 2:cout<<"二\n";break; case 3:cout<<"三\n";break; case 4:cout<<"四\n";break; case 5:cout<<"五\n";break; case 6:cout<<"六\n";break; }
2、对测试用例进行等价类划分。 等价类划分表:
2、选择测试用例,使之覆盖所有等价类情况。 测试用例表:
3、对测试用例进行边界值分析。 边界值分析表(1<=year<=2050):
五、实验结果及结论
结果分析: 原因: C1:year为闰年
C2:month为1、3、5、7、8、10、12 C3:month为4、6、9、11 C4:month为2 C5:1<=day<=27 C6:day=28 C7:day=29 C8:day=30 C9:day=31 结果:
E1:输出今天是星期几 E2:提示:输入不满足要求 决策表:
结论:程序无逻辑性等大的错误,但需要进一步完善,如对输入进行限定等。
六、实验心得体会
通过实验,我对软件测试有了进一步的认识和学习,对黑盒测试流程有了较清楚的了解,收获很多。