当前位置:文档之家› 软件测试方法和技术报告

软件测试方法和技术报告










计算机学院
软件工程XXXX
XXX
xxxxx
一、目的
1.通过简单程序黑盒测试和白盒测试,熟悉测试过程,对软件测试行程初步了解,并
养成良好的测试习惯。

2.熟练掌握如何运用基路径测试方法进行测试用例设计,进行逻辑覆盖率分析。

3.通过试验和应用,要逐步提高和运用黑盒测试技术解决实际测试问题的能力。

二、测试环境
1.系统:windows7
2.编译器:Microsoft Visual C++ 6.0
3.调试工具:Microsoft Visual C++ 6.0调试工具
三、问题定义
1.问题定义: 程序思路:计算输入日期与公元1年1月1日所相差的天数,具体如下:
总天数=公元1年到输入日期上一年年底天数+输入年份的1月到上月月底天数+输
入日期的天数。

2.说明:闰年满足条件(year%4==0)&&(year%100!=0)||(year%400==0)。

3.程序源码
#include <iostream>
using namespace std;
int judge(int year,int month,int day) //判断输入是否正确函数
{
int ret=1;
if(year<1000||year>2050||month<1||month>12||day<1||day>31)
{
ret=0;
}
if(month==2)
{
if((year%4==0 && year%100!=0) || (year%400==0))
{
if(day>29) ret=0;
}
else if(day>28)
{
ret=0;
}
}
return ret;
}
int main() //主函数
{ int x=1,year, month, day;
while(x)
{
int i, num=0,total, total1, total2;
long int data;
cout<<"Input data";
cin>>data;
day=data%100;
month=data/100%100;
year=data/10000;
if(!judge(year,month,day))
{
cout<<"Error input !"<<endl;
continue;
}
for(i=1; i<year; i++)
{
if((i%4==0)&&(i%100!=0)||(i%400==0))
num++;
}
total1 = 365*(year-num-1) + 366*num;
if((year%4==0)&&(year%100!=0)||(year%400==0))
{
switch(month)
{
case 1:total2 = 0;break;
case 2:total2 = 31;break;
case 3:total2 = 60;break;
case 4:total2 = 91;break;
case 5:total2 = 121;break;
case 6:total2 = 152;break;
case 7:total2 = 182;break;
case 8:total2 = 213;break;
case 9:total2 = 244;break;
case 10:total2 = 274;break;
case 11:total2 = 305;break;
case 12:total2 = 335;break;
}
}
else
{
switch(month)
{
case 1:total2 = 0;break;
case 2:total2 = 31;break;
case 3:total2 = 59;break;
case 4:total2 = 90;break;
case 5:total2 = 120;break;
case 6:total2 = 151;break;
case 7:total2 = 181;break;
case 8:total2 = 212;break;
case 9:total2 = 243;break;
case 10:total2 = 273;break;
case 11:total2 = 304;break;
case 12:total2 = 334;break;
}
}
total = total1 + total2 + day;
int week = total % 7;
cout<<"The date is: ";
switch(week)
{
case 0:cout<<"Sunday"<<endl;break;
case 1:cout<<"Monday"<<endl;break;
case 2:cout<<"Thuesday"<<endl;break;
case 3:cout<<"Wednesday"<<endl;break;
case 4:cout<<"Thursday"<<endl;break;
case 5:cout<<"Friday"<<endl;break;
case 6:cout<<"Saturday"<<endl;break;
}
cout<<"Enter 0 to quit,1 to continue(0/1):";
cin>>x;
}
return 0;
}
4.白盒测试
1.控制流程
2.测试结果
5.黑盒测试
1.分析各种输入,结合程序输出结果,进行等价类划分,并给出详细测试用例。

(1)
输入条件有效等价类编号无效等价类编号
year
Year为闰年 1
Year不为闰年 2
Year为正整数 3
Year为非正数13
Year为非整数14
month Month=1,3,5,7,8,10 4 month<1 15 Month=4,6,9,11 5 month>12 16 Month=2 6
month为非整数17 Month=12 7
day 1<=day<=27 8 day<1 18 day=28 9
day为非整数
19 day=29 10
day=30 11
day=31 12 day>31 20
(2)选择测试用例,使之覆盖所有等价类情况。

测试用例表:
测试用例编号
输入数据
输出数据
覆盖等价
类year month day
1 1999 5 21 Friday
2 1989 2 27 mo
3 1989
4 26 Monday
4 1989 12 30 Thuesday 2,3,7,11
5 1989 5 31 Monday 2,3,4,12
6 -1 5 22 Error input 13
7 1.5 5 22 Error input 14
8 1989 -1 22 Error input 15
9 1989 13 22 Error input 16
10 1989 5.5 22 Error input 17
11 1989 5 -1 Error input 18
12 1989 5 2.5 Error input 19
13 1989 5 32 Error input 20 (3)边界值分析表(1<=year<=2050):
2.测试结果:
四、总结
水平有限只进行了基本测试。

相关主题