1、洛阳理工学院软件测试技术综合练习题 软件测试技术综合练习题1、 根据下面给出的三角形的需求编写程序:(20分) 输入条件:(1)a+bc; (2)a+cb; (3)b+ca; (4)0a200; (5)0b200; (6)0c200;(7)a=b; (8)a=c; (9)b=c; (10)a2+b2=c2;(11)a2+ c2= b2;(12)c2+b2= a2输出结果:(1)不能组成三角形;(2)等边三角形;(3)等腰三角形;(4)直角三角形;(5)一般三角形;(6)某些边不满足限制具体的函数的调用关系图: 复杂模块triangleType的流程图:代码:using System;using
2、 System.Collections.Generic;using System.Linq;using System.Text;namespace Tester class Program static void Main(string args) int a, b, c; Console.WriteLine(请输入三角形的三条边,都是整数:); bool succ = int.TryParse(Console.ReadLine(), out a); succ = int.TryParse(Console.ReadLine(), out b); succ = int.TryParse(Cons
3、ole.ReadLine(), out c); Triangle triagle = new Triangle(); int type=triagle.triangleType(a, b, c); switch (type) case 1: Console.WriteLine(1不能组成三角形); break; case 2: Console.WriteLine(2是等边三角形); break; case 3: Console.WriteLine(3是等腰三角形); break; case 4: Console.WriteLine(4是直角三角形); break; case 5: Consol
4、e.WriteLine(5是一般三角形); break; case 6: Console.WriteLine(6某些边不满足限制); break; /TriangleFunction(a,b,c); Console.ReadLine(); public static void TriangleFunction(int a,int b, int c) if (0 a & a 200 & 0 b & b 200 & 0 c & c c & a + c b & c + b a) if (a = b & b = c & a = c) /这里可以省掉一个判断 Console.WriteLine(2是等边
5、三角形); else if (a = b | b = c | a = c) Console.WriteLine(3是等腰三角形); else if (a * a + b * b = c * c | a * a + c * c = b * b | b * b + c * c = a * a) Console.WriteLine(4是直角三角形); else Console.WriteLine(5是一般三角形); else Console.WriteLine(1不能组成三角形); else Console.WriteLine(6某些边不满足限制); / / 三角形类型判断类 / class Tri
6、angle / / 判断一个整数是否在(min, max)区间内 / / 三角形的一条边 / 返回值:true-否; false-是 public bool isOutOfRange(int i,int min,int max) if (min i & i max) return false; else return true; / / 判断三条边是否合法(即:判断三条边都在合法的范围内) / / / / / 返回值:true-是; false-否 public bool isLegal(int a, int b, int c) if (isOutOfRange(a,0,200) | isOu
7、tOfRange(b,0,200) | isOutOfRange(c,0,200) return false; return true; / / 判断两条边之和是否大于第三边 / / / / / 返回值:true-是; false-否 public bool isSumBiger(int a, int b, int c) if (a + b c) return true; return false; / / 判断三条边是否能够组成三角形 / / / / / 返回值:true-是; false-否 public bool isTriangle(int a, int b, int c) if (i
8、sSumBiger(a, b, c) & isSumBiger(a, c, b) & isSumBiger(b, c, a) return true; return false; / / 判断两条边是否相等 / / / / 返回值:true-是; false-否 public bool isEquals(int a, int b) if (a = b) return true; return false; / / 求三角形有几条边相等 / / / / / 返回值:相等边的数量,1:没有边相等 2:只有两条边相等 3:三条边相等 public int howManyEquals(int a, i
9、nt b, int c) int count = 1; if (isEquals(a, b) count+; if (isEquals(b, c) count+; if (isEquals(a, c) count+; if (count 3) /如果三条边都相等,则count多加了一次 count = 3; return count; / / 判断是否满足两边平方之和是否等于第三边的平方 / / / / / 返回值:true-是; false-否 public bool isPowerSumEquals(int a, int b, int c) if (a * a + b * b = c *
10、c) return true; return false; / / 判断第一个数是否比第二个数大 / / / / 返回值:true-是; false-否 public bool isGreaterThan(int a, int b) if (a b) return true; return false; / / 判断是否是直角三角形 / / / / / 返回值:true-是; false-否 public bool isRightRriangle(int a, int b, int c) int max = 0; if (isGreaterThan(a, b) max = a; a = b;
11、b = max; if (isGreaterThan(b, c) max = b; b = c; c = max; return isPowerSumEquals(a, b, c); / / 判断三角形的类型 / / / / / 返回值:1、不能组成三角形; 2、等边三角形 ;3、等腰三角形 ;4、直角三角形 ;5、一般三角形; 6、某些边不满足限制 public int triangleType(int a, int b, int c) int type = 0; if (isLegal(a, b, c) if (isTriangle(a, b, c) int num = howManyEq
12、uals(a, b, c); if (3 = num) type = 2; else if (2 = num) type = 3; else if (isRightRriangle(a, b, c) type = 4; else type = 5; else type = 1; else type = 6; return type; 2、 根据第一题,使用白盒测试方法设计测试案例 (40分)根据实验一的内容使用语句覆盖方法设计triangleType方法的测试用例;使用判定覆盖方法设计isOutOfRange方法的测试用例;使用条件覆盖方法设计isLegal方法的测试用例;使用判定-条件覆盖方
13、法设计isTriangle方法的测试用例;使用条件组合覆盖方法设计isTriangle方法的测试用例;使用路径覆盖方法设计triangleType方法的测试用例。测试用例:(1) 语句覆盖方法设计triangleType方法测试案设计:测试用例具体取值条件判定条件通过路径输入:a=-10 or a=300 or b=0 or b=201 c=-1 or c=250输出:6.某些边不满足限制a=200,b=200c=200A=.F.P1(1-2-12)输入:a=10,b=20,c=25输出:1、不能组成三角形a+b=c or b+c=aor a+c=bA=.T.B=.F.P2(1-3-4-12)
14、输入:a=50,b=50,c=50输出:2、等边三角形a=b and a=cA=.T.B=.T.C=.T.P3(1-3-5-6-12)输入:a=50,b=50,c=80输出:3、等腰三角形a=b or b=c or a=cA=.T.B=.T.C=.F.D=.T.P4(1-3-5-7-8-12)输入:a=3,b=4,c=5输出:4、直角三角形a*a+b*b=c*cA=.T.B=.T.C=.F.D=.F.E=.T.P5(1-3-5-7-9-10-12)输入:a=12,b=13,c=20输出:5、一般三角形其他情形A=.T.B=.T.C=.F.D=.F.E=.F.P6(1-3-5-7-9-11-12
15、)测试用例具体取值条件判定条件通过路径输入:a=10,b=10,c=25输出:1、不能组成三角形0a2000b2000c200A=.T.P1(1-3-4-12)输入:a=-10 or a=300 or b=0 or b=201 c=-1 or c=250输出:6.某些边不满足限制a=200b=200c=200A=.F.P2(1-2-4-12)(2) 判定覆盖方法设计isOutOfRange方法测试用例具体取值条件判定条件通过路径输入:a=10,b=10,c=25输出:1、不能组成三角形0a2000b2000c200A=.T.P1(1-3-4-12)输入:a=-10 or a=300 or b=
16、0 or b=201 c=-1 or c=250输出:6.某些边不满足限制a=200b=200c=200A=.F.P2(1-2-4-12)(3)条件覆盖方法设计isLegal方法 A 1 4 F 2 T B F8 3 T F 5 6 7 测试用例:.条件0a200:取真时为T1,取假时为F1;.条件0b200:取真时为T2,取假时为F2;.条件0ca:取真时为T5,取假时为F5;.条件a+cb:取真时为T6,取假时为F6;测试用例取值条件具体取值条件判定条件通过路径输入:a=12,b=13,c=20输出:5、一般三角形T1、T2、T3、T4 、T5、 T60a2000b2000cc, a+cb
17、, b+caA=.T.B=.T.P1(1-2-3-5-6)输入:a=10,b=10,c=25输出:1、不能组成三角形T1、T2、T3、F4 、F5 、F60a2000b2000c200a+bc, a+caA=.T.B=.F.P1(1-2-8-7)输入:a=-10 or a=300 or b=0 or b=201 c=-1 or c=250输出:6.某些边不满足限制F1、F2、F3、T4 、T5 、T6a=200b=200c=200a+bc, a+cb, b+caA=.F.B=.T.P2(1-4-7)(4)判定-条件覆盖方法设计isTriangle方法 1 P 2 F 3 T M 4 F 7 5
18、 T 68本测试用例覆盖了两个判定:P(0 a 200 & 0 b 200 & 0 c c & a + c b & c + b a)六个条件:A=0 a 200;B=0 b 200C=0 c c;E= a + c b;F= c + b a测试用例具体取值条件取值条件判定条件通过路径输入:a=13,b=24,c=35输出:5、一般三角形0a2000b2000c ca + c bc + b aA=.T.B=.T.C=.T.D=.T.E=.T.F=.T.P=.T.M=.T.P1(1-3-5)输入:a=-10 or a=300 or b=0 or b=201 c=-1 or c=250输出:6.某些边
19、不满足限制a=200b=200c=200a + b ca + c bc + b aA=.F.B=.F.C=.F.D=.F.E=.F.F=.F.P=.F.M=.F.P2(1-2-7-8)(5)条件组合覆盖方法设计isTriangle方法测试用例具体取值条件取值条件判定条件通过路径输入:a=13,b=24,c=35输出:5、一般三角形0a2000b2000c ca + c b c + b aA=.T.B=.T.C=.T.D=.T.E=.T.F=.T.P=.T.M=.T.P1(1-3-5)输入:a=-10 or a=300 or b=0 or b=201 c=-1 or c=250输出:6.某些边不
20、满足限制a=200b=200c=200a + b ca + c b c + b aA=.F.B=.F.C=.F.D=.F.E=.F.F=.F.P=.F.M=.F.P2(1-2-7-8)输入:a=1;b=3 c=6输出:1、不能组成三角形0a2000b2000c200a + b ca + c b c + b aA=.T.B=.T.C=.T.D=.F.E=.F.F=.FP=.T.M=.F.P(1-3-4-6-8)(6)路径覆盖方法设计triangleType方法测试用例具体取值条件覆盖条件覆盖路径输入:a=-10 or a=300 or b=0 or b=201 c=-1 or c=250输出:6
21、.某些边不满足限制a=200,b=200c=200A=.F.P1(1-2-12)输入:a=10,b=20,c=25输出:1、不能组成三角形a+b=c or b+c=aor a+c=bA=.T.B=.F.P2(1-3-4-12)输入:a=50,b=50,c=50输出:2、等边三角形a=b and a=cA=.T.B=.T.C=.T.P3(1-3-5-6-12)输入:a=50,b=50,c=80输出:3、等腰三角形a=b or b=c or a=cA=.T.B=.T.C=.F.D=.T.P4(1-3-5-7-8-12)输入:a=3,b=4,c=5输出:4、直角三角形a*a+b*b=c*cA=.T.
22、B=.T.C=.F.D=.F.E=.T.P5(1-3-5-7-9-10-12)输入:a=12,b=13,c=20输出:5、一般三角形其他情形A=.T.B=.T.C=.F.D=.F.E=.F.P6(1-3-5-7-9-11-12)三,根据第一题,使用黑盒测试方法设计测试案例 (40分)根据实验一的内容使用等价类划分法设计isOutOfRange方法的测试用例;使用边界值分析法设计isOutOfRange方法的测试用例;使用判定表方法设计isTriangle方法的测试用例;使用因果图法设计howManyEquals方法的测试用例。测试用例(1)等价类划分法设计isOutOfRange方法的测试用例测试用例输入/出条件有效等价类无效等价类输入:a
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2