基于代码的测试软件静态测试.docx

上传人:b****1 文档编号:2366227 上传时间:2023-05-03 格式:DOCX 页数:11 大小:88.62KB
下载 相关 举报
基于代码的测试软件静态测试.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

实验日期

2016.5.12

实验

目的

1.初步了解软件测试的根本知识。

2.应用根本知识进展简单的测试。

3.掌握代码测试技术的根本方法。

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

实验

准备

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

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

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

3.了解程序数据流分析的方法并能应用方法分析程序。

4.了解程序控制流分析的方法并能应用。

实验

进度

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

实验

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

2.对程序进展数据流分析。

3.画出程序的控制流图。

计算程序的环形复杂度,导出程序根本路径集中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界;

4.导出根本路径集,确定程序的独立路径;

5.根据独立路径,设计测试用例的输入数据和预期输出。

 

实验

分析

 

一.实验步骤

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

2.对程序进展数据流分析。

3.对程序进展程序控制流分析。

4.计算环形复杂度。

5.给出程序的独立路径集合。

6.进展用例设计。

7.总结归纳。

二.程序分析

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,构成一个三角形判定三角形的类型为等边三角形、等腰三角形、普通三角形还是构成不了三角形。

要求输入的三个整数都是正数且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,输出“该三角形是等腰三角形!

〞。

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

〞。

三.数据流分析

数据流测试是以静态测试技术来发现缺陷的手段与方法。

数据流测试是关注变量的赋值与使用位置的结构性测试方法。

定义du-path。

如果路径集合中的某个路径,定义两个节点,分别为该路径的起始节点和该路径的终止节点,该路径就为定义-使用路径。

定义dc-path,如果某个定义-使用路径,除了起始节点之外没有其他定义节点,那么该路径有定义-去除路径。

数据流覆盖指标层次结构图描述数据“定义-使用〞对,找出所有变量的定义-使用路径,考察测试用例对这些路径的覆盖程度,就可作为衡量测试效果的分析参考。

由代码可得出节点4为定义a,b,c。

节点7,9,12为使用a,b,c。

根据数据流测试数据流覆盖指标,拉普斯-韦约克层次结构图来描述程序的数据“定义-使用〞对,并找出所有变量的定义-使用路径,可得到程序图G〔P〕,如图1。

使用路径du-path与去除路径dc-path,定义/使用节点和定义/使用路径,如表1,表2。

 

图1G〔P〕

表1定义/使用路径

变量

路径〔开场、完毕〕节点

是定义去除吗

a

4,7

4,9

4,12

b

4,7

4,9

4,12

c

4,7

4,9

4,12

表2定义/使用节点

变量

定义节点

使用1

a

4

7,9,12

b

4

7,9,12

c

4

7,9,12

四.程序控制流分析

1.根据代码得出程序流程图

程序流程图是人们对解决问题的方法、思路或算法的一种描述。

程序流程图有有采用简单规的符号,画法简单;结构清晰,逻辑性强;便于描述,容易理解的优点。

 

图2程序流程图

2.根据程序流程图,将程序流程图转换为控制流图:

(1)将程序流程图中的每个分支转换为一个独立的节点。

(2)在分支前的顺序块合并入节点。

(3)对所有的节点与程序控制的流向进展编号。

如图3.

 

图3程序控制图

3.计算环形复杂度V〔G〕

环形复杂度度量主要用于计算程序的根本独立路径数目,并以此来设计接下来的测试用例。

主要根据程序的控制流图。

(1)V(G)=控制流图中的封闭区域的数量+1=1+3=4

(2)V(G)=流图中边的数量-流图中节点的数量+2=11-9+2=4

(3)V(G)=流图中判定节点的数量+1=3+1=4

故此程序的控制流图的环形复杂度为4

五.独立路径集合

根据上面的计算结果,可导出根本路径集,列出程序的独立路径〔用代码给出的语句编号表示〕,可得出程序段的根本路径集中有四条独立路径,每条独立路径为一个独立的测试用例。

路径如下。

路径1:

7-9-12-15-22

路径2:

7-9-12-13-22

路径3:

7-9-10-22

路径4:

7-17-20

六.设计测试用例

根据第五步的独立路径,设计测试用例输入数据和预期输出。

设计的测试用例如表3所示。

表3测试用例表

用例名称

输入数据

预期输出

测试用例1

A=5,B=6,C=7

该三角形是普通三角形!

测试用例2

A=5,B=5,C=6

该三角形是等腰三角形!

测试用例3

A=5,B=5,C=5

该三角形是等边三角形!

测试用例4

A=3,B=4,C=7

ERROR!

七.测试用例截图

1.测试用例1

输入三边,a=5,b=6,c=7,能构成一个三角形。

且任意两边不相等。

构成一个普通三角形。

输出结果为“该三角形是普通三角形!

〞。

如图4。

图4测试用例1

2.测试用例2

输入三边,a=5,b=5,c=6,能构成一个三角形。

且有两边相等。

与第三边不相等。

构成一个等腰三角形。

输出结果为“该三角形是等腰三角形!

〞。

如图5。

图5测试用例2

3.测试用例3

输入三边,a=5,b=5,c=5,能构成一个三角形。

且有任意两边相等。

构成一个等边三角形。

输出结果为“该三角形是等腰等边三角形!

〞。

如图6。

图6测试用例3

4.测试用例4

输入三边,a=3,b=4,c=7,不能构成一个三角形。

输出结果为“ERROR!

〞。

返回主函数,继续输入如图5。

图7测试用例4

心得

体会

本次实验主要是掌握软件静态测试与其用例的设计。

总结来说就是六个步骤。

先是编写有关三角形问题的相关程序。

在这个环节教师给我们一个参考程序。

只要我们在教师给的程序的根底上进展改编。

很快就能调试成功。

这次用的程序相对简单,应用根底知识就能很好地完成。

只要注意一些小细节,比方分号的书写,中括号的书写,变量是否认义。

这一步完成的很顺利。

对程序进展数据流分析。

数据流分析是我的难点。

以前没有接触到,不是很熟悉。

对其中的定义掌握的也不是很熟练。

重点是数据流覆盖指标层次结构图,数据流覆盖指标层次结构图描述数据“定义-使用〞对,找出所有变量的定义-使用路径,考察测试用例对这些路径的覆盖程度。

这个地方用了很长时间理解消化。

对程序进展程序控制流分析。

对控制流的知识有一定的了解,应用起来更加熟练。

首先先画程序流程图。

由于都是简单的语句。

得出流程图并不难。

然后根据程序流程图,将程序流程图转换为控制流图:

将程序流程图中的每个分支转换为一个独立的节点。

在分支前的顺序块合并入节点。

对所有的节点与程序控制的流向进展编号。

根据步骤也能较快的完成。

计算环形复杂度。

应用三种方法计算环形复杂度。

得出一样的结果。

证明实验没有出错。

前面的步骤成功。

根据控制流图得出四条独立路径。

最后进展测试用例。

根据四条独立路径,进展相应的测试用例。

观察是否与预期的一样。

这次的实验虽然简单容易,主要是自己的分析总结。

实验可以很快的做完。

但实验后的总结归纳才是最重要的的。

通过这次实验。

我对软件静态测试有了更加深刻的了解。

能够更好的应用这方面的知识。

能够独立自主的完成数据流的分析,画出数据流图。

能够根据程序流程图画出控制流图。

根据控制流图得到独立路径,计算环形复杂度。

并进展测试用例。

在做实验时我也有马虎的时候。

在编写程序时会出现小的语法错误。

能与时的改正。

在画数据流图时,由于对知识点的了解不到位,所以出现了很大的问题。

不知道该怎样画节点和边。

浪费了很长时间。

通过不断的理解,最后得到数据流图。

并能分析出相关容。

以后的工作就相对简单了许多。

这次的实验能够较好较快的完成。

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

防止一些因为马虎的小错误。

在做实验之前,先把应该理解的知识点弄懂弄会,防止在做实验的时候,发现不懂的地方。

这样会浪费时间,影响效率。

希望在下一次的实验中,能够更快更熟练地完成实验。

使实验的目的发挥到最大。

 

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

当前位置:首页 > 工程科技 > 能源化工

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

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