软件测试三角形问题覆盖测试.docx

上传人:b****2 文档编号:13974493 上传时间:2023-06-19 格式:DOCX 页数:11 大小:80.80KB
下载 相关 举报
软件测试三角形问题覆盖测试.docx_第1页
第1页 / 共11页
软件测试三角形问题覆盖测试.docx_第2页
第2页 / 共11页
软件测试三角形问题覆盖测试.docx_第3页
第3页 / 共11页
软件测试三角形问题覆盖测试.docx_第4页
第4页 / 共11页
软件测试三角形问题覆盖测试.docx_第5页
第5页 / 共11页
软件测试三角形问题覆盖测试.docx_第6页
第6页 / 共11页
软件测试三角形问题覆盖测试.docx_第7页
第7页 / 共11页
软件测试三角形问题覆盖测试.docx_第8页
第8页 / 共11页
软件测试三角形问题覆盖测试.docx_第9页
第9页 / 共11页
软件测试三角形问题覆盖测试.docx_第10页
第10页 / 共11页
软件测试三角形问题覆盖测试.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件测试三角形问题覆盖测试.docx

《软件测试三角形问题覆盖测试.docx》由会员分享,可在线阅读,更多相关《软件测试三角形问题覆盖测试.docx(11页珍藏版)》请在冰点文库上搜索。

软件测试三角形问题覆盖测试.docx

软件测试三角形问题覆盖测试

成绩

工程技术大学上机实验报告

课程名称

软件测试与评估

实验题目

基于覆盖测试技术

院系

软件学院

专业

软件工程

班级

软件13-9班

王朝晖

学号

1320010920

实验日期

2021.5.13

实验

目的

1.了解软件覆盖测试的相关知识。

2.能根据三角形案例分析问题。

3.掌握软件覆盖测试的根本方法。

4.针对案例,能够运用覆盖测试技术中的具体方法进展测试用例的设计。

实验

准备

1.计算机一台,有c与c++程序设计学习与实验系统的软件。

2.了解至少一门程序设计语言,并能熟练应用。

能够编写并运行有关实验的相关代码。

3.了解覆盖测试的根本方法。

主要是判定覆盖。

4.了解测试用例的方法,并进展适当的测试用例。

实验

进度

本次共有1个练习,完成1个。

实验

1.根据三角形问题进展编程,分为等腰三角形,等边三角形,普通三角形以及不能构成三角形。

2.对程序进展语句覆盖测试。

3.对程序进展判定覆盖测试。

绘制出程序流程图,分支覆盖要求测试每个判定的结果。

使得程序中的每个判定至少都获得一次真值和假值。

即要使程序中的每个取真分支和取假分支至少均经历一次。

4.对程序进展分支条件测试

5.对程序进展分支条件组合测试

6.选用基于覆盖测试的方法对三角形问题设计测试用例。

 

实验

分析

 

一.实验步骤

1.翻开c与c++程序系统平台,编写有关三角形问题的相关程序。

2.对程序进展语句覆盖测试。

3.对程序进展判定覆盖测试。

4.对程序进展分支条件测试。

5.对程序进展分支条件组合测试。

6.进展用例设计。

选择分支覆盖测试的方法进展测试。

二.程序分析

1.程序代码

1〕#include

2〕main()

3〕{

4〕intA,B,C;

5〕printf("请输入三角形的三条边:

");

6〕scanf("%d%d%d",&A,&B,&C);

7〕if((A>0&&B>0&&C>0)&&((A+B)>C&&(A+C)>B&&(B+C)>A))

8〕{

9〕if(A==B&&A==C)

10〕printf("该三角形是等边三角形!

\n");

11〕else

12〕if((A==B&&B!

=C)||(B==C&&B!

=A)||(A==C&&A!

=B))

13〕printf("该三角形是等腰三角形!

\n");

14〕else

15〕printf("该三角形是普通三角形!

\n");

16〕}

17〕else

18〕{

19〕printf("ERROR!

\n");

20〕returnmain();

21〕}

22〕}

2.程序流程图

根据代码绘制程序流程图,各边编号为a,b,c,d,e,f。

如图1。

 

图1程序流程图

3.分析

程序主要是根据三个整数a,b,c,构成一个三角形判定三角形的类型为等边三角形、等腰三角形、普通三角形还是构成不了三角形。

要求输入的三个整数都是正数,三边都是大于等于1,小于等于100,且a+b>c,a+c>b,b+c>a,才能进展以后的判断。

否那么输出“ERROR!

〞,返回主程序。

重新输入三个整数a,b,c。

然后判断三角形的类型。

如果a=b且a=c,输出“该三角形是等边三角形!

〞。

如果a=b,b不等于c,或b=c,b不等于a,或a=c,a不等于b,输出“该三角形是等腰三角形!

〞。

如果不是以上这两种情况,输出“该三角形是普通三角形!

〞。

三.语句覆盖测试分析

运行假设干测试用例,使被测试的程序的每一条可执行语句至少执行一次。

根据控制流图得出测试用例。

如表1。

表1语句覆盖测试用例

测试用例

a

b

c

执行路径

预期结果

1

5

6

7

acf

普通三角形

2

5

5

6

ad

等腰三角形

3

5

5

5

ace

等边三角形

4

3

4

7

b

ERROR

四.判定测试覆盖分析

执行足够的测试用例,使得程序中每一个判定至少获得一次“真〞值和“假〞值,从而使得程序的每个分支都经历一次。

1.条件

条件11≤a≤100

条件21≤b≤100

条件31≤c≤100

条件4a

条件5b

条件6c

2.分析

如果输入值a、b、c不满足条件1、条件2和条件3,输出ERROR。

如果输入值a、b、c满足条件1、条件2和条件3:

〔1〕如果不满足条件4、条件5和条件6中的一个,那么程序输出为ERROR;

〔2〕如果三条边相等,那么程序输出为“等边三角形〞;

〔3〕如果恰好有两条边相等,那么程序输出为等腰三角形;

〔4〕如果三条边都不相等,那么程序输出为普通三角形。

3.根据以上分析及流程图得出测试用例,如表2。

表2判定覆盖测试用例

测试

用例

a

b

c

a+b>c&&b+c>a&&a+c>b

a=b&&b=c

a=b||b=c||a=c

预期

结果

1

3

4

7

-

-

ERROR

2

5

5

5

等边三角形

3

5

5

6

-

等腰三角形

4

5

6

7

普通三角形

五.分支条件测试分析

设计足够的测试用例,运行被测程序,使程序中的每个判定的每个条件的所有可能值至少执行一次,并且每个可能的判定结果也至少执行一次,即要求各个判定的所有可能的条件取值组合至少执行一次。

根据流程图得出测试用例,如表3。

表3分支条件测试用例

测试

用例

a

b

c

覆盖条件

a+b>c&&b+c>a&&a+c>b

a=b&&b=c

a=b||b=c||a=c

预期

结果

1

1

2

1

T1,T2,-T3

-

-

ERROR

2

2

1

1

T1,-T2,T3

-

-

ERROR

3

1

1

2

-T1,T2,T3

-

-

ERROR

4

5

5

5

T1,T2,T3,T4,T5,T6

等边三角形

5

5

5

6

T1,T2,T3,-T4,-T5

-

等腰三角形

6

5

6

7

T1,T2,T3,T4,T5,-T6

普通三角形

六.分支条件组合测试分析

设计的测试用例,需要将原子条件的所有true-false组合至少执行一遍。

并且满足分支条件组合测试包括语句覆盖和分支覆盖。

根据流程图得出测试用例,如表4。

表4分支条件组合测试分析

测试

用例

a

b

c

覆盖条件

a+b>c&&b+c>a&&a+c>b

a=b&&b=c

a=b||b=c||a=c

预期

结果

1

1

2

1

T1,T2,-T3

-

-

ERROR

2

2

1

1

T1,-T2,T3

-

-

ERROR

3

1

1

2

-T1,T2,T3

-

-

ERROR

4

6

6

6

T1,T2,T3,T4,T5,T6

等边三角形

5

5

5

6

T1,T2,T3,-T4,-T5

-

等腰三角形

6

5

6

7

T1,T2,T3,T4,T5,-T6

普通三角形

七.测试用例截图

使用判定覆盖进展用例测试,参见表2。

1.测试用例1,如图1。

图1测试用例1

2.测试用例2,如图2。

图2测试用例2

3.测试用例3,如图3。

图3测试用例3

4.测试用例4,如图4。

图4测试用例4

心得

体会

本次实验是关于覆盖测试方面的知识。

这方面的容很少,主要靠自己的理解。

在做实验之前,我复习了关于覆盖测试相关的容,在做实验的时候更加熟练。

有清晰的思路,使实验更简单。

在做语句覆盖的时候,觉得三角形问题没有语句覆盖,一直以为语句覆盖只能测试一次。

如果测试一次,不管怎样都不能将所有的语句都覆盖到,通过进一步的更深入的查阅资料,才明白,可以进展屡次测试使被测试的程序的每一条可执行语句至少执行一次。

判定覆盖和分支条件覆盖是很容易弄混的知识点。

刚开场学习这两种覆盖的时候,我就很难分清。

在实验之前复习之后,有了很深的印象。

判定覆盖要求测试每个判定的结果,是IF,CASE语句中的所有可能。

使得程序中的每个判定至少都获得一次真值和假值。

即要使程序中的每个取真分支和取假分支至少均经历一次。

在本次的实验中,只要测试三个IF语句就行。

分支条件测试是将IF,CASE这种语句的原子条件的所有真分支和取假分支至少均经历一次。

一个条件包含多个原子条件。

就是将分支语句分解。

较判定覆盖较麻烦,但测试的更加细致,具体。

分支条件组合测试和分支条件测试差不多。

只是在分支条件测试的根底上,参加了判定测试。

条件组合只针对同一个判断语句存在多个条件的情况,让这些条件的取值进展笛卡尔乘积组合。

 不同的判断语句的条件取值之间无需组合。

 对于但条件的判断语句,只需要满足自己的所有取值即可。

在以后的学习中,我会更加仔细认真。

在做实验之前,一定要做好复习,这次在实验之前准备的很充分,实验做的也很顺利。

在做实验的时候发现不懂的不会的,不太清楚的,不能就这样过去了。

要把模糊的知识点弄清楚,在做实验。

这样越拖越多,越欠越多,对自己的学习是一种敷衍,对以后的开展造成了阻碍。

及时进展总结归纳,将相似的问题放在一起。

找出共性。

找出不同的地方,方便记忆。

防止弄混知识点。

相信在以后的学习中,我能更好的学好每一科,为以后步入社会打下坚实的根底。

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

当前位置:首页 > 解决方案 > 其它

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

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