第6章6.4基本路径法_第1页
第6章6.4基本路径法_第2页
第6章6.4基本路径法_第3页
第6章6.4基本路径法_第4页
第6章6.4基本路径法_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件测试与质量保证软件测试与质量保证课件课件 6.4 基本路径法基本路径法 软件测试与质量保证软件测试与质量保证课件课件 覆盖测试与路径测试覆盖测试与路径测试 白盒测试的两种常用技术:白盒测试的两种常用技术: v覆盖测试:在测试过程中,以覆盖某些程序元素为测试目标覆盖测试:在测试过程中,以覆盖某些程序元素为测试目标 的测试。的测试。 v路径测试:从流程图上讲,程序的一次执行对应于从入口到路径测试:从流程图上讲,程序的一次执行对应于从入口到 出口的一条路径,针对路径的测试即为路径测试。从广义的出口的一条路径,针对路径的测试即为路径测试。从广义的 角度讲,任何有关路径分析的测试都可以被称为路径测试

2、。角度讲,任何有关路径分析的测试都可以被称为路径测试。 软件测试与质量保证软件测试与质量保证课件课件 基本路径测试基本路径测试 v完成路径测试的理想情况是做到路径覆盖,但对于复杂性完成路径测试的理想情况是做到路径覆盖,但对于复杂性 大的程序要做到所有路径覆盖(测试所有可执行路径)是大的程序要做到所有路径覆盖(测试所有可执行路径)是 不可能的。不可能的。 v在不能做到所有路径覆盖的前提下,如果某一程序的每一在不能做到所有路径覆盖的前提下,如果某一程序的每一 个独立路径都被测试过,那么可以认为程序中的每个语句个独立路径都被测试过,那么可以认为程序中的每个语句 都已经检验过了,即达到了语句覆盖。这种

3、测试方法就是都已经检验过了,即达到了语句覆盖。这种测试方法就是 通常所说的基本路径测试方法。通常所说的基本路径测试方法。 软件测试与质量保证软件测试与质量保证课件课件 1、控制流图、控制流图 v控制流图(可简称流图)是对程序流程图进行简化后得到控制流图(可简称流图)是对程序流程图进行简化后得到 的,它可以更加突出的表示程序控制流的结构。的,它可以更加突出的表示程序控制流的结构。 v控制流图中包括两种图形符号:节点和控制流线。控制流图中包括两种图形符号:节点和控制流线。 节点由带标号的圆圈表示,可代表一个或多个语句、一个节点由带标号的圆圈表示,可代表一个或多个语句、一个 处理框序列和一个条件判定

4、框。处理框序列和一个条件判定框。 控制流线由带箭头的弧或线表示,可称为边。它代表程序控制流线由带箭头的弧或线表示,可称为边。它代表程序 中的控制流。中的控制流。 软件测试与质量保证软件测试与质量保证课件课件 常见结构的流程图与控制流图常见结构的流程图与控制流图 软件测试与质量保证软件测试与质量保证课件课件 控制流图实例控制流图实例 其中,包含条件的节点被称 为判定节点判定节点(也叫谓词节点 ),由判定节点发出的边必 须终止于某一个节点,由边 和节点所限定的范围被称为 区域区域。 1 7 6 3 8 9 10 11 4,5 节点 边 区域 2 软件测试与质量保证软件测试与质量保证课件课件 如何根

5、据流程图得到控制流图?如何根据流程图得到控制流图? 1 3 6 2 5 8 (a)程序流程图)程序流程图(b)控制流图)控制流图 2 5 8 3 6 软件测试与质量保证软件测试与质量保证课件课件 如何根据流程图得到控制流图?(续)如何根据流程图得到控制流图?(续) (a) (b) 软件测试与质量保证软件测试与质量保证课件课件 关于关于复合条件的处理复合条件的处理 如何画复合条件的控制流图如何画复合条件的控制流图 ? 软件测试与质量保证软件测试与质量保证课件课件 如何由源程序直接得到控制流图?如何由源程序直接得到控制流图? 1main () 2 3 int num1=0, num2=0, sco

6、re=100; 4 int i; 5 char str; 6 scanf (“%d, %cn”, 7 while (i 0 ) 5 6 If ( iType=0 ) 7x=y+2;break; 8 else 9 If ( iType=1 ) 10 x=y+10; 11 else 12 x=y+20; 13 14 软件测试与质量保证软件测试与质量保证课件课件 基本路径测试案例基本路径测试案例1(续)(续) v画出控制流图:画出控制流图: 4 6 79 1012 1314 void Sort ( int iRecordNum, int iType ) 1 2 int x=0; 3 int y=0;

7、 4 while ( iRecordNum- 0 ) 5 6 If ( iType=0 ) 7x=y+2;break; 8 else 9 If ( iType=1 ) 10 x=y+10; 11 else 12 x=y+20; 13 14 软件测试与质量保证软件测试与质量保证课件课件 基本路径测试案例基本路径测试案例1(续)(续) v计算环形复杂度:计算环形复杂度: 10(条边)(条边)- 8(个节点)(个节点)+ 2 = 4 v导出独立路径(用语句编号表示)导出独立路径(用语句编号表示) 路径路径1:414 路径路径2:46714 路径路径3:46910134 路径路径4:46912134

8、注注:“”:“”表示后面剩下的路径是可表示后面剩下的路径是可 以选择的。以选择的。原因在于存在循环结原因在于存在循环结 构。构。 4 6 79 1012 1314 软件测试与质量保证软件测试与质量保证课件课件 基本路径测试案例基本路径测试案例1 (续)(续) 输入数据输入数据预期输出预期输出 测试用例测试用例1 irecordnum = 0 itype = 0 x = 0 y = 0 测试用例测试用例2 irecordnum = 1 itype = 0 x = 0 y = 0 测试用例测试用例3 irecordnum = 1 itype = 1 x = 10 y = 0 测试用例测试用例4 i

9、recordnum = 1 itype = 2 x = 0 y = 20 设计测试用例:设计测试用例: 软件测试与质量保证软件测试与质量保证课件课件 案例案例2 下例程序流程图描述了最多输入下例程序流程图描述了最多输入50个值(以个值(以1作为作为 输入结束标志),计算其中有效的学生分数的个数、总输入结束标志),计算其中有效的学生分数的个数、总 分数和平均值。分数和平均值。 软件测试与质量保证软件测试与质量保证课件课件 开始 i =1,n1=n2=0,sum=0 Score i -1 AND n20 AND scorei0 average=sum/n1average= 1 返回 F F F T

10、 T T 1 2和3 4 5和6 7 8 9 1011 12 软件测试与质量保证软件测试与质量保证课件课件 1 2 3 4 5 6 7 8 9 11 10 12 R1 R2 R3 R4 R5 R6 开始 i =1,n1=n2=0,sum=0 Score i -1 AND n20 AND scorei0 average=sum/n1average= 1 返回 F F F T T T 1 2和3 4 5和6 7 8 9 1011 12 步骤1:导出程序的流图。 软件测试与质量保证软件测试与质量保证课件课件 步骤步骤2:2:确定环形复杂性度量确定环形复杂性度量V(G)V(G): 1 1)V(G)=

11、6 V(G)= 6 (个区域)(个区域) 2 2)V(G)=EN+2=1612+2=6V(G)=EN+2=1612+2=6 其中其中E E为流图中的边数,为流图中的边数,N N为结点数;为结点数; 3 3)V(G)=P+1=5+1=6V(G)=P+1=5+1=6 其中其中P P为谓词结点的个数。在流为谓词结点的个数。在流 图中,结点图中,结点2 2、3 3、5 5、6 6、9 9是谓是谓 词结点。词结点。 1 2 3 4 5 6 7 8 9 11 10 12 R1 R2 R3 R4 R5 R6 软件测试与质量保证软件测试与质量保证课件课件 步骤步骤3 3:确定基本路径集合(即独:确定基本路径集

12、合(即独 立路径集合)。于是可确定立路径集合)。于是可确定6 6条条 独立的路径:独立的路径: 路径路径1 1:1-2-9-10-121-2-9-10-12 路径路径2 2:1-2-9-11-121-2-9-11-12 路径路径3 3:1-2-3-9-10-121-2-3-9-10-12 路径路径4 4:1-2-3-4-5-8-21-2-3-4-5-8-2 路径路径5 5:1-2-3-4-5-6-8-21-2-3-4-5-6-8-2 路径路径6 6:1-2-3-4-5-6-7-8-21-2-3-4-5-6-7-8-2 注:注: “ “”表示后面剩下的路径表示后面剩下的路径 是可以选择的。是可以

13、选择的。原因在于存在原因在于存在 循环结构。循环结构。 1 2 3 4 5 6 7 8 9 11 10 12 R1 R2 R3 R4 R5 R6 软件测试与质量保证软件测试与质量保证课件课件 步骤步骤4 4:为每一条独立路径:为每一条独立路径 各设计一组测试用例,各设计一组测试用例, 以便强迫程序沿着该路以便强迫程序沿着该路 径至少执行一次。径至少执行一次。 1 1)路径)路径1(1-2-9-10-12)1(1-2-9-10-12)的的 测试用例:不满足条件测试用例:不满足条件2 2, 满足条件满足条件9 9 score1=60 score1=60; s c o r e 2 = 1 s c o

14、 r e 2 = 1 期望结果:根据输入的有期望结果:根据输入的有 效分数算出正确的分数效分数算出正确的分数 个数个数n1=1n1=1、总分、总分sum=60sum=60 和平均分和平均分average=60average=60。 开始 i =1,n1=n2=0,sum=0 Score i -1 AND n20 AND scorei0 average=sum/n1average= 1 返回 F F F T T T 1 2和3 4 5和6 7 8 9 1011 12 软件测试与质量保证软件测试与质量保证课件课件 2 2)路径)路径2(1-2-9-11-2(1-2-9-11- 12)12)的测试用

15、例:不的测试用例:不 满足条件满足条件2 2,不满足,不满足 条件条件9 9 score 1 = 1 score 1 = 1 ; 期望的结果:期望的结果: average = 1 average = 1 , 其他量保持初值。其他量保持初值。 开始 i =1,n1=n2=0,sum=0 Score i -1 AND n20 AND scorei0 average=sum/n1average= 1 返回 F F F T T T 1 2和3 4 5和6 7 8 9 1011 12 软件测试与质量保证软件测试与质量保证课件课件 3 3)路径)路径3(1-2-3-9-10-12)3(1-2-3-9-10

16、-12) 的测试用例:满足条件的测试用例:满足条件2 2, 不满足条件不满足条件3 3,满足条件,满足条件 9 9 输入多于输入多于5050个有效分数,个有效分数, 即试图处理即试图处理5151个分数个分数 期望结果:期望结果:n1=50n1=50、且算出、且算出 正确的总分和平均分。正确的总分和平均分。 开始 i =1,n1=n2=0,sum=0 Score i -1 AND n20 AND scorei0 average=sum/n1average= 1 返回 F F F T T T 1 2和3 4 5和6 7 8 9 1011 12 软件测试与质量保证软件测试与质量保证课件课件 4 4)

17、路径)路径4(1-2-3-4-5-8-4(1-2-3-4-5-8- 2)2)的测试用例:满足的测试用例:满足 条件条件2 2,满足条件,满足条件3 3,不,不 满足条件满足条件5 5 s c o r e 1 = - 0 . 5 s c o r e 1 = - 0 . 5 ; s c o r e 2 = 6 0s c o r e 2 = 6 0 , score3=-1 score3=-1 ; 期望结果:根据输入的有期望结果:根据输入的有 效分数算出正确的分数效分数算出正确的分数 个数个数n1=1n1=1、总分、总分sum=60sum=60 和平均分和平均分average=60average=60

18、。 开始 i =1,n1=n2=0,sum=0 Score i -1 AND n20 AND scorei0 average=sum/n1average= 1 返回 F F F T T T 1 2和3 4 5和6 7 8 9 1011 12 软件测试与质量保证软件测试与质量保证课件课件 5 5)路径)路径5(1-2-3-4-5-6-5(1-2-3-4-5-6- 8-2)8-2)的测试用例:满的测试用例:满 足条件足条件2 2,满足条件,满足条件3 3, 满足条件满足条件5 5,不满足条,不满足条 件件6 6 score1=101 score1=101 score2=60, score2=60,

19、 score3=-1 score3=-1 ; 期望结果:根据输入的有期望结果:根据输入的有 效分数算出正确的分数效分数算出正确的分数 个数个数n1=1n1=1、总分、总分sum=60sum=60 和平均分和平均分average=60average=60。 开始 i =1,n1=n2=0,sum=0 Score i -1 AND n20 AND scorei0 average=sum/n1average= 1 返回 F F F T T T 1 2和3 4 5和6 7 8 9 1011 12 软件测试与质量保证软件测试与质量保证课件课件 6 6)路径)路径6(1-2-3-4-5-6-6(1-2-3

20、-4-5-6- 7-8-2)7-8-2)的测试用例:的测试用例: 满足条件满足条件2 2,满足条件,满足条件3 3, 满足条件满足条件5 5,满足条件,满足条件6 6 s c o r e 1 = 6 0 s c o r e 1 = 6 0 , s c o r e 2 = 6 0s c o r e 2 = 6 0 ; score3=-1 score3=-1 ; 期望结果:根据输入的有期望结果:根据输入的有 效分数算出正确的分数效分数算出正确的分数 个 数个 数 n 1 = 2n 1 = 2 、 总 分、 总 分 s u m = 1 2 0s u m = 1 2 0 和 平 均 分和 平 均 分

21、average=60average=60。 开始 i =1,n1=n2=0,sum=0 Score i -1 AND n20 AND scorei0 average=sum/n1average= 1 返回 F F F T T T 1 2和3 4 5和6 7 8 9 1011 12 软件测试与质量保证软件测试与质量保证课件课件 1main () 2 3 int num1=0, num2=0, score=100; 4int i; 5 char str; 6 scanf (“%d, %cn”, 7 while (i5) 8 9if (str=T) 10num1+; 11else if (str=F) 12 13 score=sc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论