实验二、黑盒测试技术(二)
黑盒测试技术实验报告(最终5篇)

黑盒测试技术实验报告(最终5篇)第一篇:黑盒测试技术实验报告黑盒测试技术—三角形问题实验报告一、问题描述输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型并输出(等边三角形、等腰三角形、一般三角形),如果不构成三角形输出不能构成三角形。
要求:(1)输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。
(2)容错处理:输入空值的提示;输入的值满足类型的提示;(3)不限制开发环境,不限制开发语言;(4)尽可能不对自己的程序进行测试设计。
(5)请分别采用边界值分析法、等价类分析法、决策表分析法、基于场景分析法设计测试用例;(6)正文格式(除源代码用小五号单倍行距),其他行距固定值 20,字号小四。
二、程序主要源代码(标注:测试的源代码是哪位同学(学号姓名)编写的。
)三、程序界面(截图)四、设计测试用例1.用边界值测试方法设计测试用例用边界值分析法设计测试用例,按照下列步骤进行:((1)分析各变量取值三角形三条边的取值范围都是1-200,所以边长A 的边界点为 1 和 200,边长 B的边界点为 1 和 200,边长 C 的边界点为 1 和 200。
((2)测试用例数输入条件边界值测试数据 A 1,200 0,1,2,199,200,201 B 1,200 0,1,2,199,200,201 C 1,200 0,1,2,199,200,201设计测试用例(给出所有测试用例)三角形问题的测试用例测试用例编号输入数据预期输出测试结果 a b c 1 0 100 100 边长 A 不合法边长 A 不合法1 100 100 等腰三角形等腰三角形 3 2 100 100 等腰三角形等腰三角形 4 199 100 100 等腰三角形等腰三角形 5 200 100 100 不是三角形不是三角形 6 201 100 100 边长 A 不合法边长 A 不合法100 0 100 边长 B 不合法边长 B 不合法100 1 100 等腰三角形等腰三角形 9 100 2 100 等腰三角形等腰三角形 10 100 199 100 等腰三角形等腰三角形 11 100 200 100 不是三角形不是三角形 12 100 201 100 边长 B 不合法边长 B 不合法100 100 0 边长 C 不合法边长 C 不合法100 100 1 等腰三角形等腰三角形 15 100 100 2 等腰三角形等腰三角形 16 100 100 199 等腰三角形等腰三角形 17 100 100 200 不是三角形不是三角形181****0201边长 C 不合法边长 C 不合法2.用等价类测试方法设计测试用例((1)首先分析题目中给出的条件和隐含的输入要求,输入条件如下:条件:1<=边长 A<=200,1<=边长 B<=200,1<=边长 C<=200 隐含条件:A输入条件有效等价类无效等价类是否是三角形1.1<=A<=2002.1<=B<=2003.1<=C<=2004.A200 8.B<1 || B>200 9.C<1 ||C>200 10.A>=B+C 11.B>=A+C 12.C>=A+B 等腰三角形13.A=B&&B!=C 14.A=C&&C!=B 15.B=C&&C!=A 16.A!=B&&A!=C&&B!=C 等边三角形17.A=B=C 18.A!=B 19.A!=C 20.B!=C(3)设计测试用例,覆盖上表中的等价类,如表1-3 表所示。
黑盒测试经典例题(精选8篇)

黑盒测试经典例题(精选8篇)【篇一】黑盒测试经典例题实验一黑盒测试(一)实验目的1.掌握用边界值方法设计测试用例和执行测试的过程;2.掌握用等价划分方法设计测试用例和执行测试的过程;3.掌握用决策表方法设计测试用例和执行测试的过程。
(二)实验内容测试“Ne某tDate”函数。
Ne某tDate返回输入日期后面的那个日期。
变量年、月、日都具有整数值,且满足如下条件:C1:1912≤年份≤2050C2:1≤月份≤12C3:1≤日期≤31(三)实验步骤用熟悉的语言(如C语言)编写实现该函数的功能,并用如下方法设计测试用例,进行黑盒测试。
参考源代码:#includeintne某tDate(intyear,intmonth,intday);voidmain(){/intyear,month,day;ne某tDate(2051,12,30);}intne某tDate(intyear,intmonth,intday) {/某如果还有明天,返回1;如果输入不合法,返回-1;某/witch(month){cae1:cae3:cae5:cae7:cae8:cae10:if(day==31){day=1;month=month+1;}eleday=day+1;break;cae4:cae6:cae9:cae11: if(day==30){day=1;month=month+1;}eleday=day+1;break;cae12:if(day==31){day=1;month=1;year=year+1;if(year==2022)printf("2022iover");}eleif(day=1912&&year12||month31||day【篇二】黑盒测试经典例题常用黑盒测试的方法黑盒测试(Black-bo某Teting,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。
利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
实验二黑盒测试

实验二黑盒测试实验二黑盒测试实验目的1、掌握黑盒测试的基础知识,了解黑盒测试又叫功能性测试,它检查软件的功能是否符合规格说明;2、掌握黑盒测试的检查内容及测试目的;3、掌握黑盒测试的2种基本测试方法:等价类划分方法、边界值分析方法;预习与实验要求1、预习实验指导书及教材的有关内容,理解黑盒测试;2、掌握等价类划分、边界值分析方法,并能设计出测试用例;3、对具体软件,能分别使用等价类划分、边界值测试方法设计测试用例,并实施测试、分析测试结果。
4、实验过程中服从安排,与小组成员合作完成实验。
实验设备与器材1、硬件:P4以上计算机,512M内存以上,2G以上空闲硬盘空间2、软件:Windows操作系统、c或java程序设计软件、office 系列软件实验原理1、黑盒测试的目的和检查内容;2、等价类划分方法和边界值分析方法;3、根据黑盒测试方法设计测试用例及实施测试。
实验内容1、三角形问题接受三个整数a、b、c作为输入,用做三角形的边。
整数a、b、c 必须满足以下条件:C1: 1≤a≤200 C4: a<b+cC2: 1≤b≤200 C5: b<a+cC3: 1≤c≤200 C6: c<a+b程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。
如果输入值没有满足这些条件中的任何一个,则程序会通过输出信息来进行通知,例如,“b的取值不在允许取值的范围内。
”如果a、b和c 取值满足c1、c2和c3,则给出以下四种相互排斥输出中的一个:1、如果三角形等边,则程序的输出是等边三角形。
2、如果恰好有两条边相等,则程序的输出是等腰三角形。
3、如果没有两条边相等,则程序输出的是不等边三角形。
4、如果c4、c5和c6中有一个条件不满足,则程序输出的是非三角形。
对该软件进行以下测试工作:1)按照弱一般等价类测试方法设计测试用例,实施测试并分析测试结果2)按照强一般等价类测试方法设计测试用例,实施测试并分析测试结果;3)按照弱健壮等价类测试方法设计测试用例,实施测试并分析测试结果;4)按照强健壮等价类测试方法设计测试用例,实施测试并分析测试结果;2、使用NextDate函数进行边界值分析方法测试。
黑盒测试实验报告

实验一:黑盒软件测试一、实验目的通过简单程序黑盒测试,熟悉测试过程,对软件测试行程初步了解,并养成良好的测试习惯。
二、实验内容背景:被测测试程序功能:计算被输入日期是星期几;程序定义:已知公元1年1月1日是星期一,只要输入年月日,能自动回复当天是星期几;测试环境:Windows 2000、Dev C++;说明:因程序简单,因此未使用测试软件,均为手工输入,得到输出进行测试。
为简单起见,不考虑公元前的日期。
程序说明:A程序思路:计算输入日期与公元1年1月1日所相差的天数,具体如下:总天数=公元1年到输入日期上一年年底天数+输入年份的1月到上月月底天数+输入日期的天数B闰年满足条件(year%4==0)&&(year%100!=0)||(year%400==0)(1)分析各种输入情况,结合程序输出结果,进行等价类划分,并给出详细测试用例;(2)根据(1)所划分的等价类,进行边界值分析,并给出具体的测试用例;(3)决策表测试法;①列出输入变量month、 day、 year的有效等价类;(条件桩)②分析程序的规格说明,给出问题规定的可能采取操作;(动作桩)③画出决策表(简化);④根据决策表,给出详细测试用例。
三、实验要求(1)根据题目要求编写测试用例(2)实现测试用例的黑盒测试(3)撰写实验测试报告(4)试验心得总结四、实验测试过程1、对测试用例进行等价类划分。
等价类划分表:2、选择测试用例,使之覆盖所有等价类情况。
测试用例表:3、对测试用例进行边界值分析。
边界值分析表(1<=year<=2050):五、实验结果及结论结果分析:原因:C1:year为闰年C2:month为1、3、5、7、8、10、12 C3:month为4、6、9、11C4:month为2C5:1<=day<=27C6:day=28C7:day=29C8:day=30C9:day=31结果:E1:输出今天是星期几E2:提示:输入不满足要求决策表:结论:程序无逻辑性等大的错误,但需要进一步完善,如对输入进行限定等。
实验二 黑盒测试(二)(教学资料)

南京信息工程大学软件质量控制和测试实验(实习)报告实验(实习)名称黑盒测试(一)实验(实习)日期 2011-11-28 得分指导老师徐旦华系计算机与软件学院专业软件工程班级 1班姓名刘荣静学号 20091344007 一、实验目的理解黑盒测试的基本方法,掌握用判定表、因果图法测试用例的设计方法。
二、实验时间2学时三、实验准备PC 机一套,要求安装windows 操作系统和Office等工具软件;四、实验内容1.题目一:某软件的一个模块的需求规格说明书中描述:a)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。
b)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。
请绘制出因果图和判定表,并给出相应的测试用例。
2.题目二:有一个处理单价为2.5元的盒装饮料的自动售货机软件。
若投入2.5元硬币,按“可乐”、“啤酒”、或“奶茶”按钮,相应的饮料就送出来。
若投入的是3元硬币,在送出饮料的同时退还5角硬币。
请绘制出因果图和判定表,并给出相应的测试用例。
五、题目一(1)题目一的因果图原因结果C1:年薪制员工E1:扣除年终风险金的4%C2:严重过失C1:年薪制员工E2: 扣除年终风险金的2%C3:过失C4:非年薪制员工E3:扣除当月月薪资的8%C2:严重过失C4:非年薪制员工E4:扣除当月月薪资的4%C3:过失画出因果图:∧∧E E∧∧(2)题目一的判定表1、列出所有的条件桩和动作桩条件桩:C1:是否为年薪制员工?C2:是否为严重过失?C3:是否为过失?动作桩:A1:扣除年终风险金的4%A2:扣除年终风险金的2%A3:扣除当月月薪资的8%A4:扣除当月月薪资的4%A5:无扣除A6:不可能2、确定规则的个数●输入条件个数:3●每个条件的取值:“是”或“否”●规则个数:2*2*2=81 2 3 4 5 6 7 8条件是否为年薪制员工?Y Y Y Y N N N N是否为严重过失?Y Y N N Y Y N N是否为过失?Y N Y N Y N Y NC1C2C4C3E1 E2E3 E4动作扣除年终风险金的4%√扣除年终风险金的2%√扣除当月月薪资的8%√扣除当月月薪资的4%√无扣除√√不可能√√1 2 3 4 5 6条件是否为年薪制员工?—Y Y —N N是否为严重过失?Y Y N N Y N是否为过失?Y N Y N N Y动作扣除年终风险金的4%√扣除年终风险金的2%√扣除当月月薪资的8%√扣除当月月薪资的4%√无扣除√不可能√测试用例编号输入数据预期输出1 年薪制职员犯有严重过扣除年终风险金的4%失2 年薪制职员犯有过失 扣除年终风险金的2%3 职员没有犯任何过失 无扣除4 非年薪制职员犯有严重过失扣除当月月薪资的8% 5非年薪制职员犯有过失扣除当月月薪资的4%六、 题目二(1) 题目二的因果图原因 中间状态 结果C1:投入2.5元的硬币 1、已投币 E1:退还5角硬币C2:投入3元的硬币 2、已按钮 E2:送出“可乐”饮料 C3:按“可乐”按钮 E3:送出“啤酒”饮料 C4:按“啤酒”按钮 E4:送出“奶茶”饮料 C5:按“奶茶”按钮∨E∧∧ ∧∨E∧(21 2 3 4 5 6 7 8 9 10 11 输投入2.5元硬币1111C1C4C3 C2C5 E1 E2E3E41 2入投入3元硬币0 0 0 0 1 1 1 1 0 0 0 按可乐按钮 1 0 0 0 1 0 0 0 1 0 0 按啤酒按钮0 1 1 0 0 1 1 0 0 1 0 按奶茶按钮0 0 1 0 0 0 1 0 0 0 1中间已投币 1 1 1 1 1 1 1 1 0 0 0 已按钮 1 1 1 0 1 1 1 0 1 1 1输出退还5角0 0 0 0 1 1 1 0 0 0 0 送出可乐 1 0 0 0 1 0 0 0 0 0 0 送出啤酒0 1 0 0 0 1 0 0 0 0 0 送出奶茶0 0 1 0 0 0 1 0 0 0 0 退回投进去的钱0 0 0 1 0 0 0 1 0 0 0 给出提示信息0 0 0 1 0 0 0 1 1 1 1用例编号输入数据预期结果1 2.5元、可乐按钮送出可乐2 2.5元、啤酒按钮送出啤酒3 2.5元、奶茶按钮送出奶茶4 2.5元给出提示信息,找回2.5元5 3元、可乐按钮找回0.5元,送出可乐6 3元、啤酒按钮找回0.5元,送出啤酒7 3元、奶茶按钮找回0.5元,送出奶茶8 3元给出提示信息,找回3元9 可乐按钮给出提示信息10 啤酒按钮给出提示信息11 奶茶按钮给出提示信息七、实验体会通过两次实验理解了黑盒测试的基本方法,并掌握了用判定表、因果图法测试用例的设计方法。
软件测试实验报告黑盒测试判定表

广西师范大学计信学院《软件测试技术》课程实验实验报告题目:黑盒测试法--判定表法班级:学号:姓名:完成日期:实验二黑盒测试法——判定表法实验目的:1.掌握因果图、判定表的方法2.掌握按判定表设计测试用例实验时间:4学时实验内容:1、题目一:隔一天日期问题功能描述:输入年份、月、日;输出:输入日期在日历上的隔一天日期。
如输入1912年12月15日,应输出1912年12月17日。
要求:(1) 读源码并分析程序,给出问题规定的可能采取的操作(即列出所有的动作桩)。
(2) 画出简化后的决策表,设计测试用例。
(3) 执行测试用例,进行测试记录和缺陷统计,给出缺陷报告。
2.程序设计及测试(以下任选一个),要求撰写测试报告(格式参照实验一)。
(1)请自己设计象棋走马问题程序,要求给出需求说明书,采用因果图法或综合采用所学黑盒测试法设计测试用例,并执行测试用例,进行缺陷统计和分析,并修正Bug。
(2)请设计实现简单的计算器功能,要求给出需求说明书,综合采用所学黑盒测试方法设计测试用例集合,并执行测试用例,进行缺陷统计和分析,并修正Bug。
实验过程:实验1:(1)动作桩:A1:day+2 A2:day=2 A3:day=1 A4:month+1 A5:moth=1 A6:year+1 A7:不可能有效等价类:Year:Y1{year是闰年} Y2{year不是闰年}Month:M1{month=4、6、9、11} M2:{month=1、3、5、7、8、10}M3{month=12} M4{month=2}Day:D1{1<=day<=26} D2{day=27} D3{day=28} D4{day=29} D5{day=30}D6{day=31}缺陷:当结果日期需要跳至下一个月时,结果会显示两次。
实验2:条件桩:1、棋子落在棋盘外2、落点未与起点构成日字型3、落点处有己方棋子4、落点处的临近交叉点5、落点处无棋子6、落点处对方棋子不是老将M:1、2、3、4动作桩:1、不移动棋子2、移动棋子3、除去对方棋子4、提示战胜对方,游戏结束#include <iostream>using namespace std;void main(){cout<<"象棋走马问题,根据情况选择回答0、是或1、否"<<endl;cout<<"“马”的落点处是否在棋盘外"<<endl;int a,b,c,d;cin>>a;cout<<"“马”的落点与起点是否不成“日”字型"<<endl;cin>>b;cout<<"“马”的落点处是否有其他己方棋子"<<endl;cin>>c;cout<<"“马”的落点临近交叉点是否有棋子"<<endl;cin>>d;int x,y;cout<<"“马”的落点处是否有棋子"<<endl;cin>>x;cout<<"“马”的落点出的棋子是否为老将"<<endl;cin>>y;if(a==0&&b==0&&c==0&&d==0)cout<<"不移动棋子"<<endl;if(a==1&&b==1&&c==1&&d==1&&x==1)cout<<"移动棋子"<<endl;if(a==1&&b==1&&c==1&&d==1&&x==0&&y==1)cout<<"移动棋子并出去对方棋子"<<endl;if(a==1&&b==1&&c==1&&d==1&&x==0&&y==0)cout<<"移动棋子并提示战胜对方,游戏结束"<<endl;if(a>1||b>1||c>1||d>1||x>1||y>1)cout<<"输入不规范"<<endl;}程序缺陷:每次运行程序,即使中途就出现输入不规范,但是仍要到最后才能提示出来。
软件质量保证与测试实验报告

无效等价类 3. 以 0 开头的含有非数字字符的串 4. 以 0 开头的小于 3 位的数串 5. 以 0 开头的大于 4 位的数串 6. 以非 0 开头的数串
电话号码
9. 以 0 开头的数串
7. 以非 0、非 1 开头的 7 位数 10. 以 1 开头的数串
串
11. 以非 0、非 1 开头的含有非法字符 7 或
8. 以非 0、非 1 开头的 8 位数 者 8 位数串 12. 以非 0、非 1 开头的小
串
于 7 位数串以非 0、非 1 开头的大于 8
位数串
其次:为有效等价类设计测试用例
测试数据
期望结果
010
显示有效输入
023 2234567
显示有效输入
0554 6863670
显示有效输入
覆盖范围 1、8 1、7 2、7
Factorial qjc= new Factorial(); " 您所求 " +y+" 的阶乘为 :" +(y)); break ; } case 2:{ DataSum dataSum1= new DataSum(100); "1--100 的和为 :" +(100)); break ; } } }
8
j=j%3;
9
}
10 }
说明:程序段每行开头的数字( 1~10)是对每条语句的编号。
( 1)画出程序的控制流程图(图自己完成,下图仅 供参考 )。
( 2)分别以语句覆盖、判定覆盖、测试用例的执行路径(用题中给出的语句编号表示) 。
语句覆盖:选用的测试用例是: case1
测试用例
a
b
c
黑盒测试实验报告

黑盒测试实验报告软件测试实验报告----黑盒测试一.实验内容使用黑盒测试技术设计一个自动售货机上的系统。
自定义自动售货机只卖三种饮料:可口可乐,雪碧,百事可乐,单价分别为2.5元,2.5两元,2元。
假设输入饮料类别及需要的数量,如果输入的金额数足够,直接送出饮料,退回零钱,如果输入的金额不够,有提示可以继续输入钱币。
自动售货机运行界面如下:二、黑盒测试(1)测试用例一(2)测试用例二具体操作实践如下:三代码#include void main(){int n,m,i;for(i=0;i<100;i++){cout<<"欢迎使用自动售货机系统!\" ;cout<<"请选择商品\";cout<< "1 可口可乐2.5元\";cout<< "2 雪碧2.5元\";cout<< "3 百事可乐2元\";cout<< " 4 结束购物\";cin>>n;if(n==1){cout<<"你选择的是可口可乐\";cout<<"请选择投币种类\";cout<< "1 2.5元\";cout<< "2 3元\";cout<< "3 5元\";cout<< "4 1元\";cin>>m;if(m==1){cout<<"付款金额正好,请取走商品\";}else if(m==2){cout<<"找您0.5元\";}else if(m==3){ cout<<"找您2.5元\";} else {cout<<”钱不够!”;}}if(n==2){cout<<"你选择的是雪碧\";cout<<"请选择投币种类\";cout<< "1 2.5元\";cout<< "2 3元\";cout<< "3 5元\";cout<< "4 1元\";cin>>m;if(m==1){cout<<"付款金额正好,请取走商品\";}else if(m==2){cout<<"找您0.5元\";}else if(m==3){ cout<<"找您2.5元\";} else {cout<<”钱不够!”;}}if(n==3){"你选择的是百事可乐\";cout<<"请选择投币种类\";cout<< "1 2.5元\";cout<< "2 3元\";cout<< "3 5元\";cout<< "4 1元\";cin>>m;if(m==1){cout<<"找您0.5元\\\";}else if(m==2){cout<<"找您1元\";}else if(m==3){ cout<<"找您2元\";} else {cout<<”钱不够!”;}}if(n==4)cout<<"谢谢惠顾!"<<="">}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二、黑盒测试技术(二)一、实验类型实验类型为验证型,2个学时。
二、实验目的(1)能熟练应用边界值和决策表测试技术进行测试用例设计;(2)对测试用例进行优化设计;三、背景知识(一)边界值测试1.边界值分析边界值分析是考虑边界条件而选取测试用例的一种功能测试方法。
边界值分析关注输入空间的边界,以标识测试用例,因为错误更可能出现在输入变量的极值附近。
边界值分析的基本思想是:使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值。
2.健壮性测试健壮性是指在异常情况下,软件还能正常运行的能力。
健壮性考虑的主要部分是预期输出,而不是输入。
健壮性测试是边界值分析的一种简单扩展。
除了变量的5个边界分析取值还要考虑略超过最大值(max)和略小于最小值(min)时的情况。
3.最坏情况测试最坏情况测试将意味着更大工作量,n变量函数的最坏情况测试会产生5的n次方个测试用例,而边界值分析只产生4n+1个测试用例。
(二)基于决策表的测试决策表适合描述不同条件集合下采取行动的若干组合的情况。
使用决策表标识测试用例,则把条件解释为输入,行动解释为输出。
有时条件最终引用输入的等价类,行为引用被测试软件的主要功能处理部分,规则解释为测试用例。
对于有限条目决策表,如果有n个条件,则必须有2条规则。
如果不关心条目实际地表明条件是不相关的,则没有不关心条目的规则统计为1条规则,规则中每出现一个不关心条目,该规则数乘一次2。
四、实验设备主流PC机一套,要求安装windows操作系统、Visual Studio2010或Eclipse开发工具和OFFICE工具五、实验内容NextDate函数根据下面给出的规格说明,分别利用决策表方法,给出足够的测试用例并根据用例执行测试。
NextDate函数包含三个变量:Month(月份)、day(日期)和year(年),函数的输出为输入日期后一天的日期。
例如,输入为2007年9月9日,则函数的输出为2007年9月10日。
要求输入变量month、day和year均为整数,并且满足下列条件:(1)1<=month<=12;(2)1<=day<=31;(3)1912<=year<=2050C语言程序JAV A程序界面六、实验步骤(1)首先根据题目要求编写nextday功能函数;(2)根据功能性测试技术设计测试用例,主要考虑决策表测试技术:分析条件桩和动作桩输入:-Month-Day-Year为获得下一个日期,NextDate函数需执行的操作只有如下5种:-day变量加1-day变量复位为1-month变量加1-month变量复位为1-year变量加1考虑规则个数:M1 = {月份:每月有30天}M2 = {月份:每月有31天,12月除外}M3 = {月份:此月是12月}M4 = {月份:此月是2月}D1 = {日期:1≤日期≤27}D2 = {日期:日期=28}D3 = {日期:日期=29}D4 = {日期:日期=30}D5 = {日期:日期=31}Y1 = {年:年是闰年}Y2 = {年:年是平年}七、实验报告要求(1)完成初始决策表和化简决策表,并设计测试用例,记录实验结果;(2)总结决策表设计测试用例的步骤#include <iostream>#include <string>using namespace std;int main(){string ntime;int tmp;while(1){cout<< "请输入日期,例如(0712-02-12)" << endl; loop:cin>>ntime;while(ntime.length()!=10){cout<<"您的输入有误,请重新输入日期,例如(0712-02-12)"<<endl;goto loop;}while(ntime[4]!='-'||ntime[7]!='-'){cout<<"您的输入格式有误,请重新输入日期,例如(0712-02-12)"<<endl;goto loop;}while(ntime[0]=='0'&&ntime[1]=='0'&&ntime[2]=='0'&&ntime[3]=='0'){cout<<"您的年份输入有误,请重新输入日期,例如(0712-02-12)"<<endl;goto loop;}while(ntime[5]>='2'||(ntime[5]=='1'&&ntime[6]>='3')){cout<<"您的月份输入有误,请重新输入日期,例如(0712-02-12)"<<endl;goto loop;}while(ntime[5]=='0'&&ntime[6]=='0'){cout<<"您的月份输入有误,请重新输入日期,例如(0712-02-12)"<<endl;goto loop;}while((ntime[8]=='3'&&ntime[9]>='2')){cout<<"您的天数输入有误,请重新输入日期,例如(0712-02-12)"<<endl;goto loop;}while(ntime[8]=='0'&&ntime[9]=='0'){cout<<"您的天数输入有误,请重新输入日期,例如(0712-02-12)"<<endl;goto loop;}while((((ntime[5]=='1'&&(ntime[6]=='0'||ntime[6]=='2'))||ntime[6]=='1'||ntime[6]=='3'||ntime[6]== '5'||ntime[6]=='7'||ntime[6]=='8')&&ntime[8]=='3'&&ntime[9]>='2')||(ntime[5]=='0'&&ntime[6]== '2'&&ntime[8]>='3')){cout<<"您的天数输入有误,请重新输入日期,例如(0712-02-12)"<<endl;goto loop;}while(((ntime[5]=='1'&&ntime[6]=='1')||(ntime[5]=='0'&&(ntime[6]=='4'||ntime[6]=='6'||ntime[6]=='9')))&&(ntime[8]=='3'&&ntime[9]>='1')){cout<<"您的天数输入有误,请重新输入日期,例如(0712-02-12)"<<endl;goto loop;}while(ntime[0]=='9'&&ntime[2]=='9'&&ntime[3]=='9'&&ntime[1]=='9'&&ntime[5]=='1'&&ntim e[6]=='2'&&ntime[8]=='3'&&ntime[9]=='1'){cout<<"您的输入超出范围,请重新输入日期,例如(0712-02-12)"<<endl;goto loop;}for(int i=0; i<ntime length(); i++){if((ntime[i]>='10'||ntime[i]<'0')&&ntime[i]!='-'){cout<<"您的年份输入有误1,请重新输入日期,例如(0712-02-12)"<<endl;goto loop;}}if(ntime[8]<'2'||(ntime[8]=='2'&&ntime[9]<='7')){if(ntime[9]=='9'){ntime[9]='0';ntime[8]=ntime[8]+1;}else{ntime[9]=ntime[9]+1;}cout<<"nextday为:"<<ntime<<endl;}else if(ntime[8]=='2'&&ntime[9]>='8'){if(ntime[5]=='0'&&ntime[6]=='2'){tmp=(ntime[0]-48)*1000+(ntime[1]-48)*100+(ntime[2]-48)*10+ntime[3]-48;if(tmp%400==0||(tmp%4==0&&tmp%100!=0)){if(ntime[8]=='2'&&ntime[9]=='9'){ntime[6]=ntime[6]+1;ntime[8]='0';ntime[9]='1';}else{ntime[9]=ntime[9]+1;}cout<<"nextday为:"<<ntime<<endl;}else{if(ntime[9]=='9'){cout<<"您的输入有误,这一年的2月没有29天"<<endl;cout<< "请输入日期,例如(0712-02-12)" << endl;goto loop;}else{ntime[6]=ntime[6]+1;ntime[8]='0';ntime[9]='1';cout<<"nextday为:"<<ntime<<endl;}}}}elseif((ntime[5]=='1'&&ntime[6]=='1')||(ntime[5]=='0'&&(ntime[6]=='4'||ntime[6]=='6'||ntime[6]=='9') )){ntime[9]=ntime[9]+1;if(ntime[8]=='3'&&ntime[9]=='1'){ntime[6]=ntime[6]+1;ntime[8]='0';ntime[9]='1';}cout<<"nextday为:"<<ntime<<endl;}elseif((ntime[5]=='1'&&(ntime[6]=='0'||ntime[6]=='2'))||ntime[6]=='1'||ntime[6]=='3'||ntime[6]=='5'||nti me[6]=='7'||ntime[6]=='8'){ntime[9]=ntime[9]+1;if(ntime[9]>='2'&&ntime[8]=='3'){ntime[6]=ntime[6]+1;ntime[8]='0';ntime[9]='1';}if(ntime[5]=='1'&&ntime[6]>='3'){ntime[3]=ntime[3]+1;ntime[5]='0';ntime[6]='1';ntime[8]='0';ntime[9]='1';if(ntime[3]=='10'){ntime[3]='0';ntime[2]=ntime[2]+1;}if(ntime[2]=='10'){ntime[2]='0';ntime[1]=ntime[1]+1;}if(ntime[1]=='10'){ntime[1]='0';ntime[0]=ntime[0]+1;}}cout<<"nextday为:"<<ntime<<endl;}}return 0;}。