黑盒测试报告

  • 格式:doc
  • 大小:53.50 KB
  • 文档页数:5

NextDate函数黑盒测试

1、 简介

1.1编写目的

本测试报告为nextdate函数的测试报告,目的在于总结测试阶段的测试以及分析测试结果,通过测试来检测每个功能是否都能正常使用。预期参考人员包括测试人员、开发人员和需要阅读本报告的老师。

1.2项目背景

本项目为软件测试上机作业。

1.3术语

等价类划分:把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。

1.4参考资料

软件测试(第二版) (美)Ron Patton著 张小松 王钰 曹跃译 机械工业出版社

测试报告模板 原创作者:jerry

2、 测试概要

2.1测试程序源代码

#include

using namespace std;

void NextDate(int year,int month,int day);

void main()

{

int year=0,month=0,day=0;

NextDate(year,month,day);

}

void NextDate(int year,int month,int day)

{

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)) //检查闰年;

{

int i=0;

i=day-29;

while(month==2&&i>0)

{

cout<<"本月是闰月,请在1-29之间从新输入日期"<

cin>>day;

}

if(month==2&&day==29)

{

month=3;

day=1;

}

else day++;

}

else day++;

//月底计算;

switch(month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

if (day==32)

{

month++;

day=1;

cout<<"明天是:"<

}

break;

case 2:

if(day==29)

{

month=3;

day=1;

cout<<"明天是:"<

}

break;

case 4:

case 6:

case 9:

case 11:

if(day==31)

{

month++;

day=1;

cout<<"明天是:"<

}

break;

case 12:

if(day==32)

{

year++;

month=1;

day=1;

cout<<"明天是:"<

}

break;

}

cout<<"明天是:"<

}

2.2测试用例设计

利用等价类划分法设计测试用例

输入条件 编号 有效等价类 编号 无效等价类

输入年份 ⑴ 1812<=年<=2012 ⑺ 年<1812

⑻ 年>2012

输入月份 ⑵ 1<=月份<=12

⑼ 月<1

⑽ 月>12

输入日期 ⑶ 1<=日期<=31 ⑾ 日期<1

⑿ 日期>31

输入类型 ⑷ 输入为int型 ⒀ 除int型外的任意输入

输入为闰年 ⑸ 输入2月29日 ⒁ 输入为闰年2月30日

输入为平年 ⑹ 输入2月28日 ⒂ 输入2月29日

2.3测试环境与配置

操作系统:windows XP

Cpu:Intel(R) Core(TM)2 Duo T5470

内存:1G

2.4测试方法

手工利用黑盒测试中的等价类划分法进行测试,主要测试目标为检验函数是否符合题目所给要求。即:输入是否符合规定条件,及程序的鲁棒性。

3、 测试结果及缺陷分析

3.1测试执行情况与记录

测试用例编号 输入 输出 覆盖等价类

1 1988/2/3 1988/2/4 ⑴⑵⑶⑷

2 2000/2/29 2000/3/1 ⑸

3 2001/2/28 2001/3/1 ⑹

4 100/1/23 年份输入有误,请重新输入 ⑺

5 2300/3/2 年份输入有误,请重新输入 ⑻

6 1912/0/3 月份输入有误,请重新输入 ⑼

7 1927/90/3 月份输入有误,请重新输入 ⑽

8 1856/3/-21 日期输入有误,请重新输入 ⑾

9 1872/3/43 日期输入有误,请重新输入 ⑿

10 Dasd@#¥%asdasdasd&……%ffgwgrwgrerhsxcvxfgdfg 程序进入死循环 ⒀

11 2000/2/30 本月是闰月,请在1-29之间从新输入日期 ⒁

12 2001/2/29 2001/2/30 ⒂

3.2缺陷统计与分析

测试用例12不符合题目给定要求

分析:在正常情况下,输入日期为明年的2月29时,程序应报错。

用例质量:8.333%

缺陷密度:6.67%

测试结论与建议:应该对程序纠错性方面进行改进,如测试10情况下,程序进入死循环状态,说明程序鲁棒性不好。

4、 测试结论

测试执行只是针对部分用户进行测试,尚有未考虑充分之处。留待以后发现错误时进行纠正。

测试目标完成

测试未通过,不可进行交付。