测试实验报告1
学号____138______ 姓名___牟平________
一、实验目的
(1)完成测试程序的编写,后续的实验将以这些程序作为测试对象用不同的测试方法来进行测试。
(2)进行初步的测试用例设计
二、实验要求
(1)用C或C++、JAVA语言开发程序
(2)保证程序功能的正确
(3)初步设计测试用例
一、 尝试编写测试用例集,预期能找到常见的缺陷。填写以下表格。(行数可以自己增加)
序号 |
测试者的行为和数据 |
期待结果 |
1 |
2000 2 28 |
2000 2 29 |
2 |
2000 2 29 |
2000 3 31 |
3 |
2005 2 29 |
您的输入错误 |
4 |
2005 2 28 |
2005 3 1 |
5 |
2050 12 31 |
2051 1 1 |
6 |
2051 1 1 |
您的输入错误 |
7 |
1900 2 3 |
您的输入错误 |
|
|
|
|
|
|
二、 执行测试
测试小结:整体运行情况说明。
缺陷列表:
缺陷集中在哪几个方面:关键是闰年月份的判断和年底最后一天的判断
结论什么,修改建议是什么
三、 程序调试和缺陷修复记录
调试前:有一定的错误发生,有一些bug,导致不能正常运行
调试后:能够顺利运行出来
修复前:有一定的错误发生,比如与现实生活中年月日不同
修复后:能够完全正确表示
四、 实验小结
介绍实验过程中的体会和收获。
五、 附带(测试对象题目及代码)
(2)NextDate函数问题
NextDate函数说明一种复杂的关系,即输入变量之间逻辑关系的复杂性
NextDate函数包含三个变量month、day和year,函数的输出为输入日期后一天的日期。 要求输入变量month、day和year均为整数值,并且满足下列条件:
条件1 1≤ month ≤12 否则输出,月份超出范围
条件2 1≤ day ≤31 否则输出,日期超出范围
条件3 1912≤ year ≤2050 否则输出:年份超出范围
String nextdate(int m,int d,int y)
注意返回值是字符串。
程序要求:
1)先显示“请输入日期”
2)不满足条件1,返回:“月份超出范围”;不满足条件2,返回:“日期超出范围”;不满足条件3,返回:“年份超出范围”;如果出现多个不满足,以最先出现不满足的错误返回信息。
3)条件均满足,则输出第二天的日期:格式“****年**月**日”(如果输入2050年12月31日,则正常显示2051年1月1日
// cheshizuoye1.cpp : 定¨义?控?制?台�?应畖用?程ì序ò的?入?口ú点?。£
//
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d;
printf("请?输?入?日?期ú ");
scanf("%d %d %d",&a,&b,&c );
if(b<1||b>12)
{
printf("月?份�超?出?范?围§");
system("pause");
return 0;
}
if(c<1||c>31)
{
printf("日?期ú超?出?范?围§");
system("pause");
return 0;
}
if(a<1912||a>2050)
{
printf("年ê份�超?出?范?围§");
system("pause");
return 0;
}
if(a%4==0&&a%100!=0||a%400==0) //判D断?是?否?为a闰è?年ê
{
if(b==2&&c>29)
{
printf("您ú的?输?入?错洙?误ó ");
system("pause ");
return 0;
}
if(b==2&&c==29)
{
printf("您ú输?入?的?后ó一?天�?是?""%d""年ê" "%d""月?" "1""日? ",a,++b,c);
system("pause ");
}
else
{
printf("您ú输?入?的?后ó一?天�?是?""%d""年ê" "%d""月?" "%d""日? ",a,b,++c);
system("pause ");
}
}
else
{
if(b==2&&c==29)
{
printf("您ú的?输?入?错洙?误ó ");
system("pause ");
return 0;
}
}
if(b==2&&c==28)
{
printf("您ú输?入?的?后ó一?天�?是?""%d""年ê" "%d""月?" "1""日? ",a,++b);
system("pause ");
}
if( (b==4||b==6||b==9 ||b==11 ) &&c>30)
{
printf("您ú的?输?入?错洙?误ó ");
system("pause ");
return 0;
}
if( (b==4||b==6||b==9 ||b==11 ) &&c==30)
{
printf("您ú输?入?的?后ó一?天�?是?""%d""年ê" "%d""月?" "1""日? ",a,++b,c);
system("pause ");
}
if( (b==1||b==3||b==5 ||b==7||b==8 ||b==10||b==112) &&c==31)
{
printf("您ú输?入?的?后ó一?天�?是?""%d""年ê" "%d""月?" "1""日? ",a,++b,c);
system("pause ");
}
printf("您ú输?入?的?后ó一?天�?是?""%d""年ê" "%d""月?" "%d""日? ",a,b,++c);
system("pause ");
}