收藏 分销(赏)

路径测试.ppt

上传人:丰**** 文档编号:14510012 上传时间:2026-10-03 格式:PPT 页数:21 大小:358.54KB 下载积分:10 金币
下载 相关
路径测试.ppt_第1页
第1页 / 共21页
路径测试.ppt_第2页
第2页 / 共21页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,3.2 路径测试,路径覆盖,:设计足够多的测试用例,要求覆盖程序中所有可能的路径。,程序图定义,:给定采用命令式程序设计语言编写的一段程序,其程序图是一种有向图,图中的节点表示语句片段,边表示控制流。(完整语句是“默认”的语句片段)。,程序图的重要性在于:,该程序的执行对应于从原节点到汇节点的路径。,3.2 路径测试,三,角形问题,Dim a,b,c As Integer,Dim IsATriangle As Boolean,Step 1:Get Input,4,Output(“Enter 3 integers which are sides of a triangle”),5,Input(a,b,c),6,Output(“Side A is”,a),7,Output(“Side B is”,b),8,Output(“Side C is”,c),Step 2:Is A Tiangle?,9,If(ab+c)AND(ba+c)AND(ca+b),10,Then IsATriangle=True,11,Else IsATriangle=False,12,EndIf,Step 3:Determine Triangle Type,13,If IsATriangle,14,Then If(a=b)AND(b=c),15,Then Output(“Equilateral”),16,Else If(ab)AND(ac)AND(bc),17,Then Output(“Scalene”),18,Else Output(“Isosceles”),19,EndIf,20,EndIf,21,Else Output(“Not a Triangle”),22,EndIf,23,End triangle2,McCabe的基路径算法举例:,路径A、B、C、B、C、B、C、G是线性合并2p2-p1,线性独立路径数是:V(G)=e-n+2p=10-7+2*1=5,McCabe的基路径算法举例:,17Then Output(“Scalene”),14Then If(a=b)AND(b=c),McCabe的基路径方法:,程序图定义:给定采用命令式程序设计语言编写的一段程序,其程序图是一种有向图,图中的节点表示语句片段,边表示控制流。,路径A、B、C、B、E、F、G是基和p2+p3-p1,10Then IsATriangle=True,p6:A-B-D-E-F-G-O-最后,这种方法有一定的随意性,McCabe建议选择都有尽可能多的判断节点的路径。,Ex1:A,B,C,B,E,F,G,Dim IsATriangle As Boolean,(完整语句是“默认”的语句片段)。,23 End triangle2,p1:A-B-C-E-F-H-J-K-M-N-O-最后,三角形问题应用McCabe的基路径方法,三角形程序的程序图,4,5,6,7,8,9,10,11,12,13,21,14,15,16,17,18,19,20,22,23,3.2.1,DD-,路,径,结构性测试最著名的形式以叫做,决策到决策路径(DD-路径),的结构为基础(Miller,1977)。,这个名称指语句的一种序列,按照Miller的话说,从决策语句的“出路”开始,到下一个决策语句的“入路”结束,在这种序列中没有内部分支,因此对应的节点像排列起来的一行多米诺骨牌,当第一张牌推倒后,序列中的其他牌也会倒下。,3.2.1,DD-,路,径,DD-路径与有向图的关系:,DD-路径可通过有向图中的节点路径定义,可以叫做,路径链,,其中链是一条起始和终止节点不同的路径,并且每个节点都满足内度=1和外度=1。,初始节点,终止节点,内部节点,DD-路径与有向图的关系:,11Else IsATriangle=False,这种方法有一定的随意性,McCabe建议选择都有尽可能多的判断节点的路径。,p6:A-B-D-E-F-G-O-最后,p3:A,B,E,F,G,路径A、B、C、B、E、F、G是基和p2+p3-p1,14Then If(a=b)AND(b=c),这种方法首先选择一个基线路径,应该对应某个“正常案例”程序执行。,程序图定义:给定采用命令式程序设计语言编写的一段程序,其程序图是一种有向图,图中的节点表示语句片段,边表示控制流。,三角形问题应用McCabe的方法解决方法:,Step 1:Get Input,如果仔细考虑到这个问题,可以找出两条规则:,McCabe的基路径方法:,p4:A-B-C-E-F-H-I-N-O-最后,Step 1:Get Input,3.2.1,DD-,路,径,DD-路径的定义,:,DD-路径是程序图中的一条链,使得:,情况1:由一个节点组成,内度=0。,情况2:由一个节点组成,外度=0。,情况3:由一个节点组成,内度 2或外度2。,情况4:由一个节点组成,内度=1并且外度=1。,情况5:长度1的最大链。,三角形问题的DD-路径类型,程序图节点,DD-路径名称,定义情况,4,第一,1,5-8,A,5,9,B,3,10,C,4,11,D,4,12,E,3,13,F,3,14,H,3,15,I,4,16,J,3,17,K,4,18,L,4,19,M,3,20,N,3,21,G,4,22,O,3,23,最后,2,三角形程序的DD-路径图,第一,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,最后,3.2.1,DD-,路,径,程序的DD-路径图,定义:,给定采用命令式语言编写的一段程序,其DD-路径图是有向图。其中,节点表示其程序图的DD-路径,边表示连续DD-路径之间的控制流。,3.2.1,DD-,路,径,测试,如果每条DD-路径都被遍历(C,1,指标),则我们知道每个判断分支都被执行,这要求遍历DD-路径图中的每条边。,3.2.2 基路径测试,空间中的一切都可以用基表示,并且如果一个基元素被删除,则这种覆盖特性也会丢失。,对测试的潜在意义是,如果可以把程序看做是一种向量空间,则这种空间的基就是要测试的非常有意义的元素集合。,如果基没有问题,则可以希望能够用基表述的一切都是没有问题的。,3.2.2 基路径测试,A,B,D,E,F,C,G,线性独立路径数是:V(G)=e-n+2p=10-7+2*1=5,McCabe的控制图:,3.2.2 基路径测试,线性独立环路的数量:V(G)=e-n+p=11-7+1=5,A,B,D,E,F,C,G,1,2,3,4,5,6,7,8,9,10,McCabe的强连接图:,3.2.2 基路径测试,A,B,D,E,F,C,G,1,2,3,4,5,6,7,8,9,10,p1:A,B,C,G,p2:A,B,C,B,C,G,p3:A,B,E,F,G,p4:A,D,E,F,G,p5:A,D,F,G,路径A、B、C、B、E、F、G是基和p2+p3-p1,路径A、B、C、B、C、B、C、G是线性合并2p2-p1,McCabe的基路径方法:,3.2.2 基路径测试,所经过的路径/边,1,2,3,4,5,6,7,8,9,10,p1:A,B,C,G,1,0,0,1,0,0,0,0,1,0,p2:A,B,C,B,C,G,1,0,1,2,0,0,0,0,1,0,p3:A,B,E,F,G,1,0,0,0,1,0,0,1,0,1,p4:A,D,E,F,G,0,1,0,0,0,1,0,1,0,1,p5:A,D,F,G,0,1,0,0,0,0,1,0,0,1,Ex1:,A,B,C,B,E,F,G,1,0,1,1,1,0,0,1,0,1,Ex2:,A,B,C,B,C,B,C,G,1,0,2,3,0,0,0,0,1,0,McCabe的路径/边的关联矩阵:,3.2.2 基路径测试,McCabe的基路径算法:,McCabe接下来开发了一种算法过程(叫做基线方法),用于确定基路径集合。这种方法首先选择一个基线路径,应该对应某个“正常案例”程序执行。这种方法有一定的随意性,McCabe建议选择都有尽可能多的判断节点的路径。接下来重新回溯基线路径,依次“翻转”每个判断点,即当节点的外度2时,必须取不同的边。,3.2.2 基路径测试,A、B、C、B、E、F、G,的路径为基线,A,B,D,E,F,C,G,1,2,3,4,5,6,7,8,9,10,2.A、D、E、F、G,3.A、D、F、G,4.A、B、E、F、G,5.A、B、C、G,McCabe的基路径算法举例:,三角形问题应用,McCabe,的基路径方法,第一,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,最后,原始,p1:A-B-C-E-F-H-J-K-M-N-O-最后,不等边三角形,在B处翻转p1,p2:A-B-D-E-F-H-J-K-M-N-O-最后,不可行,在F处翻转p1,p3:A-B-C-E-F-G-O-最后,不可行,在H处翻转p1,p4:A-B-C-E-F-H-I-N-O-最后,等边三角形,在J处翻转p1,p5:A-B-C-E-F-H-J-L-M-N-O-最后,等腰三角形,3.2.2 基路径测试,三角形问题应用McCabe的方法的问题:,McCabe的过程成功地标识了在拓扑结构上独立的基路径,但是如果存在矛盾的语义依赖关系,拓扑结构上可行的路径在逻辑上有可能不可行。,3.2.2 基路径测试,三角形问题应用McCabe的方法解决方法:,如果仔细考虑到这个问题,可以找出两条规则:,-如果经过节点C,则必须经过节点H。,-如果经过节点D,则必须经过节点G。,p1:A-B-C-E-F-H-J-K-M-N-O-最后,不等边三角形,p6:A-B-D-E-F-G-O-最后,非三角形,p4:A-B-C-E-F-H-I-N-O-最后,等边三角形,p5:A-B-C-E-F-H-J-L-M-N-O-最后,等腰三角形,3.2.3 路径测试总结,基路径测试给出了必须进行的测试的下限。,如果发现同一条程序路径被多个功能性测试性用例遍历,就可以怀疑这种冗余不会发现新的缺陷。,如果没有达到一定的,DD-,路径覆盖,则可以知道在功能性测试用例中存在漏洞。,
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服