实验三黑盒实验2一、实验目的通过本次实验使学生熟悉黑盒测试的等价类、决策表测试方法。二、实验环境硬件环境:微型计算机。软件环境:Windows操作系统,MicrosoftVisualStudio2005等。三、实验内容题目一:三角形问题输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。要求输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。请用等价类划分法对三角形问题设计测试用例进行测试,并做出测试分析。题目二:日期问题用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为2004年11月29日,则该程序的输出为2004年12月1日。(1)分析各种输入情况,列出为输入变量month、day、year划分的有效等价类。(2)分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。(3)根据(1)和(2),画出简化后的决策表,并设计测试用例,做出测试分析。四、实验步骤1.三角形问题(1)首先分析题目中给出的条件和隐含的输入要求,输入条件如下:1≤a≤200;1≤b≤200;1≤c≤200,a,b,c为整数。(2)根据输入条件的要求划分等价类,列出等价类表并编号。(3)等价类输入边等腰三角形等边三角形普通三角形非三角形有效等价类Inta,b,c1≤a≤2001≤b≤2001≤c≤200a=b或b=c或a=ca=b=ca+bc,a-bc且a,b,c互不相等A+b=c,a-b=c无效等价类a1,a200b1,b200c1,c200a,b,c不符合要求a,b,c不符合要求a,b,c不符合要求a,b,c不符合要求(2)设计测试用例,覆盖上表中的等价类无效等价类序号输入数据操作步骤预计输出1a=200,b=200,c=200编译-运行等边三角行2a=1,b=200,c=199编译-运行普通三角形3a=200,b=4,c=4编译-运行等腰三角行4a=200,b=188,c=1编译-运行不能构成三角形有效等价类序号输入数据操作步骤预计输出1a=100,b=100,c=100编译-运行等边三角行2a=3,b=4,c=5编译-运行普通三角形3a=3,b=4,c=4编译-运行等腰三角行4a=200,b=188,c=1编译-运行不能构成三角形(4)分析测试结果无效等价类序号实际输出1等边三角行2普通三角形3等腰三角行4不能构成三角形有效等价类序号实际输出1等边三角行2普通三角形3等腰三角行4不能构成三角形所以可知:1、实验运行所得的结果跟预计的结果是一样的。2、根据输入的条件,a,b,c要满足给出的条件否则无法判断三角形的类型。2.日期问题(1)分析各种输入情况,列出为输入变量month、day、year划分的有效等价类和无效等价类。等价类yearmonthday有效等价类year属于int1≤month≤121≤day≤31无效等价类year属于floatmonth1day1year属于负数month12day31(2)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}year变量的有效等价类为:Y1:{year是闰年}Y2:{year不是闰年}考虑各种有效的输入情况,程序中可能采取的操作有以下七种:a1:day+2a2:day=2a3:day=1a4:month+1a5:momth=1a6:year+1a7:该日期不存在(3)分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。条件桩:C1:年份在{Y1,Y2}中之一C2:月份在{M1,M2,M3,M4}中之一C3:日期在{D1,D2,D3,D4,D5,D6}中之一动作桩A1:日期增2A2:日期复位为2号A3:日期复位为1号A4:月份增1A5:月份复位为一月A6:年份增1A7:该日期不存在条件桩123456789101112131415161718C1:年份在Y1Y2Y1Y2Y1Y2Y1Y2Y1Y2Y1Y2Y1Y2Y1Y2Y1Y2Y1Y2Y1Y2Y1Y1Y2Y1Y2Y1Y2C2:月份在M2M2M2M1M1M1M1M4M4M4M4M4M4M4M4M3M3M3C3:日期在D1D2D3D4D5D6D1D2D3D4D5D6D1D2D2D3D3D4D4D5D6D5D6D1D2D3D4D5D6动作桩A1:日期增2√√√√√A2:日期复位为2号√√√√A3:日期复位为1号√√√√√A4:月份增1A5:月份复位为一月A6:年份增1√√A7:该日期不存在√√√√(3)根据(1)(2)(3),画出简化后的决策表,并设计测试用例,做出测试分析。序号测试用例(年-月-日)实际输出12003-1-32该日期不存在22004-2-242004-2-2632005-6-31该日期不存在42008-4-162008-4-1852009-6-302009-7-262010-11-302010-12-272010-11-31该日期不存在82003-2-112003-2-13序号测试用例(年-月-日)实际输出12004-2-262004-2-2822005-2-242005-2-2632008-2-222008-2-2442007-2-282007-3-252004-4-31该日期不存在62003-2-29该日期不存在72004-2-30该日期不存在82008-12-282008-12-3092010-12-302010-1-1102009-12-32该日期不存在五、实验结果与心得通过本次实验让熟悉黑盒测试的等价类、决策表测试方法。用等价类做三角形问题时对其隐含的条件必须周全,在做测试案例的时候才能有明确的测试思路,但是有些条件过于冗余。从而做出无用的测试,。对于用表来测试的Nextday问题,相关的条件要考虑清晰,才能做出合格合理的测试。