实验一黑盒测试一、实验环境在Windows2000(SP2)或WindowsXP操作系统上,使用C++语言,VC6.0工具作为开发环境(IDE)二、实验原理1、三角形问题输入三个整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及构不成三角形。现在要求输入三个整数a、b、c,必须满足以下条件:条件11≤a≤100条件4ab+c条件21≤b≤100条件5ba+c条件31≤c≤100条件6ca+b2、等价类划分输入条件有效等价类编号无效等价类编号输入a、b、c三个整数1≤a≤1001≤b≤1001≤c≤100a<b+cb<a+cc<a+b1a、b、c中有一个不再1~100中4两边之和不大于第三边5满足1中六个条件a=b或b=c或a=c2有一边是实数6有一边是非数字7满足1中六个条件a=b=c3有一边是空值83、边界值分析法:根据题目要求可知个边的有效取值范围是[1,100],记过分析可得出:(1)边界值是:1,100。(2)次边界值是:0,101,2,99三、开发程序清单#includeiostream.hvoidmain(){while(1){inta,b,c;cout\n请输入边长a的值:;cina;while(a1||a100){couta的值超出范围,请重新输入边长a的值:;cina;}couta的值是:a\n;cout\n请输入边长b的值:;cinb;while(b1||b100){coutb的值超出范围,请重新输入边长b的值:;cinb;}coutb的值是:b\n;cout\n请输入边长c的值:;cinc;while(c1||c100){coutc的值超出范围,请重新输入边长c的值:;cinc;}coutc的值是:c\n;if(a+b=c||a+c=b||b+c=a){cout\n不能构成三角形!\n;//return;}else{if(a==b&&b==c)cout\n能构成三角形,且为等边三角形!\n;elseif(a==b||b==c||a==c)cout\n能构成三角形,且为等腰三角形!\n;elseif(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)cout\n能构成三角形,且为直角三角形\n;elsecout\n能构成一般三角形\n;}}}四、测试用例编号输入值覆盖等价类12,3,4121,100,1001,2349,50,501,241,1,11,2,3599,99,991,2,360,100,101472,100,101481,99,100590,2,994,5104,3.1,6611a,2,571220,Null,308五、测试结果编号输入值结果12,3,421,100,100349,50,5041,1,1599,99,9960,100,10172,100,10181,99,10090,2,99104,3.1,6无效11a,2,5无效1220,Null,30无效六、心得体会通过本次实验,我对黑盒测试方法中的等价类划分和边界值划分有了进一步的了解,特别是等价类划分,在我看来,等价类划分法就是把程序的输入部分划分为几块,然后从每个部分中列举出一些具有代表性的数据作为测试用例,使得这些数据在测试中等价于每个部分的其他值。由于该三角形实验并不复杂,我们能够考虑全面,如果遇到比较复杂的实验我们必须仔细分析和推敲