实验二实验的目的和要求:目的:(1)掌握等价类划分方法的步骤;(2)扩宽测试思维;要求:能够用等价类划分的思想设计测试用例实验内容:问题陈述:简单版本:三角形问题接受三个整数a、b和c作为输入,用作三角形的边。程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。改进版本:三角形问题接受三个整数a、b和c作为输入,用作三角形的边。整数a、b和c必须满足以下条件:c1:1=a=200c4:ab+cc2:1=b=200c5:ba+cc3:1=c=200c6:ca+b实验步骤:一、分析问题,得出等价类列表,分析三角形问题中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边,如果a、b、c满足条件(1)~(4),则输出下列四种情况之一:如果不满足条件(5),则程序输出为“非三角形”。如果三条边相等即满足条件(7),则程序输出为“等边三角形”。如果只有两条边相等、即满足条件(6),则程序输出为“等腰三角形”。如果三条边都不相等,则程序输出为“一般三角形”。序号有效等价类无效等价类(1)整数有一边不为整数a不为整数(8)b不为整数(9)c不为整数(10)有两边不为整数a、b不为整数(11)a、c不为整数(12)b、c不为整数(13)三边均不为整数a、b、c均不为整数(14)(2)三个数只有两个数只给a和b两个(15)只给a和c两个(16)只给b和c两个(17)只有一个数只给a一个数(18)只给b一个数(19)只给c一个数(20)三个数以上给出三个数以上(21)(3)非零数一个数为零a为零(22)b为零(23)c为零(24)两个数为零a、b为零(25)a、c为零(26)b、c为零(27)三个数为零a、b、c都为零(28)(4)正数(a0,b0,c0)一个数不为正数a不为正数(29)b不为正数(30)c不为正数(31)两个数不为正数a、b不为正数(32)a、c不为正数(33)b、c不为正数(34)三个数不为正数a、b、c均不为正数(35)(5)两边之和大于第三边两边之和小于第三边a+bc(36)a+cb(37)b+ca(38)两边之和等于第三边a+c=b(39)a+b=c(40)b+c=a(41)(6)等腰ab且bc(42)(a=b,b=c,a=c)ac且cb(43)ba且ac(44)(7)等边(a=b=c)abc(45)二、设计测试用例输入数据预期结果实际结果覆盖条件3、4、5输出一般三角形输出一般三角形1、2、3、4、53、3、4输出等腰三角形输出等腰三角形1、2、3、4、5、63、3、3输出等边三角形输出等边三角形1、2、3、4、5、6、72.5、4、5输出一般三角形输出一般三角形84、2.5、5输出一般三角形输出一般三角形95、4、2.5输出一般三角形输出一般三角形102.1、2.6、3输出一般三角形输出一般三角形112.1、3、2.6输出一般三角形输出一般三角形123、2.1、2.6输出一般三角形输出一般三角形132.5、1.5、2.5输出一般三角形输出一般三角形importjava.io.*;classsanj{publicstaticinta,b,c;publicstaticvoidmain(Stringarg[])throwsIOException{try{BufferedReaderstdin=newBufferedReader(newInputStreamReader(System.in));//接收键值System.out.println(输入三边值,每个值输入后回车);System.out.println(请输入:);a=Integer.valueOf(stdin.readLine());b=Integer.valueOf(stdin.readLine());c=Integer.valueOf(stdin.readLine());}catch(IOExceptione){System.out.println(出现异常!);System.exit(0);}if(a+bc||a+cb||b+ca){System.out.println(你输入的不能构成三角形);}if(a==b||a==c||b==c){if(a==b&&b==c)System.out.println(等边三角形);elseSystem.out.println(等腰三角形);}elseSystem.out.println(一般三角形);}}