洛阳理工学院软件测试技术综合练习题.docx

上传人:b****1 文档编号:2920704 上传时间:2023-05-05 格式:DOCX 页数:34 大小:128.82KB
下载 相关 举报
洛阳理工学院软件测试技术综合练习题.docx_第1页
第1页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第2页
第2页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第3页
第3页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第4页
第4页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第5页
第5页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第6页
第6页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第7页
第7页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第8页
第8页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第9页
第9页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第10页
第10页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第11页
第11页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第12页
第12页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第13页
第13页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第14页
第14页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第15页
第15页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第16页
第16页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第17页
第17页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第18页
第18页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第19页
第19页 / 共34页
洛阳理工学院软件测试技术综合练习题.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

洛阳理工学院软件测试技术综合练习题.docx

《洛阳理工学院软件测试技术综合练习题.docx》由会员分享,可在线阅读,更多相关《洛阳理工学院软件测试技术综合练习题.docx(34页珍藏版)》请在冰点文库上搜索。

洛阳理工学院软件测试技术综合练习题.docx

洛阳理工学院软件测试技术综合练习题

软件测试技术综合练习题

1、根据下面给出的三角形的需求编写程序:

(20分)

输入条件:

(1)a+b>c;

(2)a+c>b;(3)b+c>a;(4)0

(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的流程图:

 

代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

namespaceTester

{

classProgram

{

staticvoidMain(string[]args)

{

inta,b,c;

Console.WriteLine("请输入三角形的三条边,都是整数:

");

boolsucc=int.TryParse(Console.ReadLine(),outa);

succ=int.TryParse(Console.ReadLine(),outb);

succ=int.TryParse(Console.ReadLine(),outc);

Triangletriagle=newTriangle();

inttype=triagle.triangleType(a,b,c);

switch(type)

{

case1:

Console.WriteLine("1不能组成三角形");

break;

case2:

Console.WriteLine("2是等边三角形");

break;

case3:

Console.WriteLine("3是等腰三角形");

break;

case4:

Console.WriteLine("4是直角三角形");

break;

case5:

Console.WriteLine("5是一般三角形");

break;

case6:

Console.WriteLine("6某些边不满足限制");

break;

}

//TriangleFunction(a,b,c);

Console.ReadLine();

}

publicstaticvoidTriangleFunction(inta,intb,intc)

{

if(0

{

if(a+b>c&&a+c>b&&c+b>a)

{

if(a==b&&b==c&&a==c)//这里可以省掉一个判断

{

Console.WriteLine("2是等边三角形");

}

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某些边不满足限制");

}

}

}

///

///三角形类型判断类

///

classTriangle

{

///

///判断一个整数是否在(min,max)区间内

///

///三角形的一条边

///返回值:

true-否;false-是

publicboolisOutOfRange(inti,intmin,intmax)

{

if(min

{

returnfalse;

}

else

{

returntrue;

}

}

///

///判断三条边是否合法(即:

判断三条边都在合法的范围内)

///

///

///

///

///返回值:

true-是;false-否

publicboolisLegal(inta,intb,intc)

{

if(isOutOfRange(a,0,200)||isOutOfRange(b,0,200)||isOutOfRange(c,0,200))

{

returnfalse;

}

returntrue;

}

///

///判断两条边之和是否大于第三边

///

///

///

///

///返回值:

true-是;false-否

publicboolisSumBiger(inta,intb,intc)

{

if(a+b>c)

{

returntrue;

}

returnfalse;

}

///

///判断三条边是否能够组成三角形

///

///

///

///

///返回值:

true-是;false-否

publicboolisTriangle(inta,intb,intc)

{

if(isSumBiger(a,b,c)&&isSumBiger(a,c,b)&&isSumBiger(b,c,a))

{

returntrue;

}

returnfalse;

}

///

///判断两条边是否相等

///

///

///

///返回值:

true-是;false-否

publicboolisEquals(inta,intb)

{

if(a==b)

{

returntrue;

}

returnfalse;

}

///

///求三角形有几条边相等

///

///

///

///

///返回值:

相等边的数量,1:

没有边相等2:

只有两条边相等3:

三条边相等

publicinthowManyEquals(inta,intb,intc)

{

intcount=1;

if(isEquals(a,b))

{

count++;

}

if(isEquals(b,c))

{

count++;

}

if(isEquals(a,c))

{

count++;

}

if(count>3)//如果三条边都相等,则count多加了一次

{

count=3;

}

returncount;

}

///

///判断是否满足两边平方之和是否等于第三边的平方

///

///

///

///

///返回值:

true-是;false-否

publicboolisPowerSumEquals(inta,intb,intc)

{

if(a*a+b*b==c*c)

{

returntrue;

}

returnfalse;

}

///

///判断第一个数是否比第二个数大

///

///

///

///返回值:

true-是;false-否

publicboolisGreaterThan(inta,intb)

{

if(a>b)

{

returntrue;

}

returnfalse;

}

///

///判断是否是直角三角形

///

///

///

///

///返回值:

true-是;false-否

publicboolisRightRriangle(inta,intb,intc)

{

intmax=0;

if(isGreaterThan(a,b))

{

max=a;

a=b;

b=max;

}

if(isGreaterThan(b,c))

{

max=b;

b=c;

c=max;

}

returnisPowerSumEquals(a,b,c);

}

 

///

///判断三角形的类型

///

///

///

///

///返回值:

1、不能组成三角形;2、等边三角形;3、等腰三角形;4、直角三角形;5、一般三角形;6、某些边不满足限制

publicinttriangleType(inta,intb,intc)

{

inttype=0;

if(isLegal(a,b,c))

{

if(isTriangle(a,b,c))

{

intnum=howManyEquals(a,b,c);

if(3==num)

{

type=2;

}

elseif(2==num)

{

type=3;

}

elseif(isRightRriangle(a,b,c))

{

type=4;

}

else

{

type=5;

}

}

else

{

type=1;

}

}

else

{

type=6;

}

returntype;

}

}

}

 

2、根据第一题,使用白盒测试方法设计测试案例(40分)

根据实验一的内容使用语句覆盖方法设计triangleType方法的测试用例;使用判定覆盖方法设计isOutOfRange方法的测试用例;使用条件覆盖方法设计isLegal方法的测试用例;使用判定-条件覆盖方法设计isTriangle方法的测试用例;使用条件组合覆盖方法设计isTriangle方法的测试用例;使用路径覆盖方法设计triangleType方法的测试用例。

 

测试用例:

 

(1)语句覆盖方法设计triangleType方法

测试案设计:

测试用例

具体取值条件

判定条件

通过路径

输入:

{a=-10ora=300orb=0orb=201c=-1orc=250}

输出:

{6.某些边不满足限制}

a<0ora>=200,

b<0orb>=200

c<0orc>=200

A=.F.

P1(1-2-12)

输入:

{a=10,b=20,c=25}

输出:

{1、不能组成三角形}

a+b<=c

orb+c<=a

ora+c<=b

A=.T.

B=.F.

P2(1-3-4-12)

输入:

{a=50,b=50,c=50}

输出:

{2、等边三角形}

a==banda==c

A=.T.

B=.T.

C=.T.

P3(1-3-5-6-12)

输入:

{a=50,b=50,c=80}

输出:

{3、等腰三角形}

a==borb==cora==c

A=.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*c

A=.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)

 

测试用例

具体取值条件

判定条件

通过路径

输入:

{a=10,b=10,c=25}

输出:

{1、不能组成三角形}

0

0

0

A=.T.

P1(1-3-4-12)

输入:

{a=-10ora=300orb=0orb=201c=-1orc=250}

输出:

{6.某些边不满足限制}

a<=0&&a>=200

b<=0&&b>=200

c<=0&&c>=200

A=.F..

P2(1-2-4-12)

(2)判定覆盖方法设计isOutOfRange方法

 

测试用例

具体取值条件

判定条件

通过路径

输入:

{a=10,b=10,c=25}

输出:

{1、不能组成三角形}

0

0

0

A=.T.

P1(1-3-4-12)

输入:

{a=-10ora=300orb=0orb=201c=-1orc=250}

输出:

{6.某些边不满足限制}

a<=0&&a>=200

b<=0&&b>=200

c<=0&&c>=200

A=.F..

P2(1-2-4-12)

(3)条件覆盖方法设计isLegal方法

A1

4F

2T

BF8

3TF5

67

 

测试用例:

.条件0

取真时为T1,取假时为F1;

.条件0

取真时为T2,取假时为F2;

.条件0

取真时为T3,取假时为F3;

.条件c+b>a:

取真时为T5,取假时为F5;

.条件a+c>b:

取真时为T6,取假时为F6;

测试用例

取值条件

具体取值条件

判定条件

通过路径

输入:

{a=12,b=13,c=20}

输出:

{5、一般三角形}

T1、T2、T3、T4、T5、T6

0

0

0

a+b>c,a+c>b,b+c>a

A=.T.

B=.T.

P1(1-2-3-5-6)

输入:

{a=10,b=10,c=25}

输出:

{1、不能组成三角形}

T1、T2、T3、F4、F5、F6

0

0

0

a+ba

A=.T.

B=.F.

P1(1-2-8-7)

输入:

{a=-10ora=300orb=0orb=201c=-1orc=250}

输出:

{6.某些边不满足限制}

F1、F2、F3、T4、T5、T6

a<=0&&a>=200

b<=0&&b>=200

c<=0&&c>=200

a+b>c,a+c>b,b+c>a

A=.F.

B=.T.

P2(1-4-7)

 

(4)判定-条件覆盖方法设计isTriangle方法

1

P2F

3T

M4F

7

5T

6

8

本测试用例覆盖了两个判定:

P(0

M(a+b>c&&a+c>b&&c+b>a)

六个条件:

A=0

B=0

C=0

D=a+b>c;

E=a+c>b;

F=c+b>a

 

测试用例

具体取值条件

取值条件

判定条件

通过路径

输入:

{a=13,b=24,c=35}

输出:

{5、一般三角形}

0

0

0

a+b>c

a+c>b

c+b>a

A=.T.

B=.T.

C=.T.

D=.T.

E=.T.

F=.T.

P=.T.

M=.T.

P1(1-3-5)

输入:

{a=-10ora=300orb=0orb=201c=-1orc=250}

输出:

{6.某些边不满足限制}

a<=0&&a>=200

b<=0&&b>=200

c<=0&&c>=200

a+b

a+c

c+b

A=.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、一般三角形}

0

0

0

a+b>c

a+c>b

c+b>a

A=.T.

B=.T.

C=.T.

D=.T.

E=.T.

F=.T.

P=.T.

M=.T.

P1(1-3-5)

输入:

{a=-10ora=300orb=0orb=201c=-1orc=250}

输出:

{6.某些边不满足限制}

a<=0&&a>=200

b<=0&&b>=200

c<=0&&c>=200

a+b

a+c

c+b

A=.F.

B=.F.

C=.F.

D=.F.

E=.F.

F=.F.

P=.F.

M=.F.

 

P2(1-2-7-8)

输入:

{a=1;b=3c=6}

输出:

{1、不能组成三角形}

0

0

0

a+b

a+c

c+b

A=.T.

B=.T.

C=.T.

D=.F.

E=.F.

F=.F

P=.T.

M=.F.

P(1-3-4-6-8)

(6)路径覆盖方法设计triangleType方法

 

测试用例

具体取值条件

覆盖条件

覆盖路径

输入:

{a=-10ora=300orb=0orb=201c=-1orc=250}

输出:

{6.某些边不满足限制}

a<0ora>=200,

b<0orb>=200

c<0orc>=200

A=.F.

P1(1-2-12)

输入:

{a=10,b=20,c=25}

输出:

{1、不能组成三角形}

a+b<=c

orb+c<=a

ora+c<=b

A=.T.

B=.F.

P2(1-3-4-12)

输入:

{a=50,b=50,c=50}

输出:

{2、等边三角形}

a==banda==c

A=.T.

B=.T.

C=.T.

P3(1-3-5-6-12)

输入:

{a=50,b=50,c=80}

输出:

{3、等腰三角形}

a==borb==cora==c

A=.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*c

A=.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)

 

三,根据第一题,使用黑盒测试方法设计测试案例(40分)

根据实验一的内容使用等价类划分法设计isOutOfRange方法的测试用例;使用边界值分析法设计isOutOfRange方法的测试用例;使用判定表方法设计isTriangle方法的测试用例;使用因果图法设计howManyEquals方法的测试用例。

测试用例

(1)等价类划分法设计isOutOfRange方法的测试用例

测试用例

输入/出条件

有效等价类

无效等价类

输入:

{a

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2