软件测试方法和技术报告
计算机学院 软件工程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 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 !\"< } for(i=1; i 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\"< return 0; } 2 控制流程 3 4. 白盒测试1. 2. 测试结果 5. 黑盒测试 1. 分析各种输入,结合程序输出结果,进行等价类划分,并给出详细测试用例。 (1) 对测试用例进行等价类划分: 输入条件 有效等价类 Year为闰年 year Year不为闰年 Year为正整数 Month=1,3,5,7,8,10 Month=4,6,9,11 Month=2 Month=12 1<=day<=27 day day=28 day=29 day=30 day=31 编号 1 2 3 4 5 6 7 8 9 10 11 12 无效等价类 Year为非正数 Year为非整数 month<1 month>12 month为非整数 day<1 day为非整数 day>31 编号 13 14 15 16 17 18 month 19 20 (2) 选择测试用例,使之覆盖所有等价类情况。 测试用例表: 测试用 例编号 1 year 1999 输入数据 month 5 day 21 输出数据 Friday 覆盖等价类 4 2 3 4 5 6 7 8 9 10 11 12 13 1989 1989 1989 1989 -1 1.5 1989 1989 1989 1989 1989 1989 2 4 12 5 5 5 -1 13 5.5 5 5 5 27 26 30 31 22 22 22 22 22 -1 2.5 32 mo Monday Thuesday Monday Error input Error input Error input Error input Error input Error input Error input Error input 2,3,7,11 2,3,4,12 13 14 15 16 17 18 19 20 (3) 边界值分析表(1<=year<=2050): 2. 测试结果: 5 6 四、 总结 水平有限只进行了基本测试。 7 因篇幅问题不能全部显示,请点此查看更多更全内容