控制结构测试.ppt

控制结构测试.ppt

ID:60759897

大小:291.00 KB

页数:24页

时间:2020-12-14

控制结构测试.ppt_第1页
控制结构测试.ppt_第2页
控制结构测试.ppt_第3页
控制结构测试.ppt_第4页
控制结构测试.ppt_第5页
资源描述:

《控制结构测试.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、控制结构测试1.基本路径测试基本路径测试是TomMcCabe提出的一种白盒测试技术。使用这种技术设计测试用例时,首先计算程序的环形复杂度,并用该复杂度为指南定义执行路径的基本集合。流图为了突出表示程序的控制流,人们通常使用流图(也称为程序图)。所谓流图实质上是“退化了的”程序流程图,它仅仅描绘程序的控制流程,完全不表现对数据的具体操作以及分支或循环的具体条件。在流图中用圆表示结点,一个圆代表一条或多条语句。程序流程图中的一个顺序的处理框序列和一个菱形判定框,可以映射成流图中的一个结点。流图中的箭头线称为边,它和程序流

2、程图中的箭头线类似,代表控制流。当过程设计中包含复合条件时,应该把复合条件分解为若干个简单条件,每个简单条件对应流图中一个结点。例子:PROCEDUREaverage;/*这个过程计算不超过100个在规定值域内的有效数字的平均值;同时计算有效数字的总和及个数。*/INTERFACERETURNSaverage,total.input,total.valid;INTERFACEACCEPTSvalue,minimum,maximum;TYPEvalue[1…100]ISSCALARARRAY;TYPEaverage,t

3、otal.input,total.valid;minimum,maximum,sumISSCALAR;TYPEiISINTEGER;1:i=1;total.input=total.valid=0;sum=0;2:DOWHILEvalue[i]<>-9993:ANDtotal.input<1004:incrementtotal.inputby1;5:IFvalue[i]>=minimum6:ANDvalue[i]<=maximum7:THENincrementtotal.validby1;sum=sum+value[i

4、];8:ENDIFincrementiby1;9:ENDDO10:IFtotal.valid>011:THENaverage=sum/total.valid;12:ELSEaverage=-999;13:ENDIFENDaverage程序流程图如右图所示使用基本路径测试技术设计测试用例的步骤如下:第一步,根据过程设计结果画出相应的流图。求平均值过程的流图第二步,计算流图的环形复杂度。环形复杂度定量度量程序的逻辑复杂性。描绘程序控制流的流图之后,可以用下述3种方法中的任何一种来计算环形复杂度。(1)流图中的区域数等于环

5、形复杂度。(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。可计算得,上例的复杂度为6。第三步,确定线性独立路径的基本集合。所谓独立路径是指至少引入程序的一个新处理语句集合或一个新条件的路径,用流图术语描述,独立路径至少包含一条在定义该路径之前不曾用过的边。使用基本路径测试用例时,程序的环形复杂度决定了程序中独立路径的数量。由该理论,图5.6中存在6条独立路径,它们分别为:1-2-10-11-131-2-10-

6、12-131-2-3-10-11-131-2-3-4-5-8-9-2-...1-2-3-4-5-6-8-9-2-...1-2-3-4-5-6-7-8-9-2-...第四步,设计可强制执行基本集合中每条路径的测试用例。应该选取测试数据使得在测试每条路径时都适当地设置好了各个判定结点的条件。一旦执行完所有测试用例,就可以确保程序中所有语句都至少被执行了一次,而且每个条件都分别取过true值和false值。2.条件测试用条件测试技术设计出的测试用例,能够检查程序模块中包含的逻辑条件。关系表达式的形式如下:E1<关系算符>E

7、2其中,E1和E2是算术表达式,而<关系算符>是下列算符之一:“<”,“≤”,“=”,“≠”,“>”或“≥”。复合条件由两个或多个简单条件、布尔算符和括弧组成。布尔算符有OR(“

8、”),AND(“&”)和NOT。不包含关系表达式的条件称为布尔表达式。条件成分的类型包括布尔算符、布尔变量、布尔括弧(括住简单条件或复合条件)、关系算符及算术表达式。aPoint.SecondPoint=="n"

9、

10、aPoint.SecondPoint=="ns"

11、

12、aPoint.SecondPoint=="nr"

13、

14、aPoint.Seco

15、ndPoint=="v"

16、

17、aPoint.SecondPoint=="vn"

18、

19、aPoint.SecondPoint=="b“intCount>1&&strSplit[i]!=strLabel(strTemp=="<"

20、

21、strTemp=="【")&&i

22、

23、strTem

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。