资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,软件工程,Software Engineering,第七章 软件测试,成都信息工程学院,计算机学院,软件工程,Software Engineering,成都信息工程学院,计算机系,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Click to edit Title Slide,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,软件工程,Software Engineering,成都信息工程学院,计算机系,1,软件工程,Software Engineering,2,基本路径测试方法把覆盖的路径数压缩到一定限度内,使得,程序中的循环体最多只执行一次,。,它是在程序控制流程图的基础上,,分析控制构造的环路复杂性,,,导出基本可执行路径集合,,,设计测试用例的,方法。设计出的测试用例要保证在测试中,程序的,每一个可执行语句至少要执行一次,。,基本路径测试,白盒测试用例设计之二,基本路径测试,步骤,:,1.,绘制程序的控制流图,2.,由环路复杂性得到基本路径集,3.,导出测试用例,3,1.,绘制程序的控制流程图,(复习),基本路径测试,(,续,1),2,1,3,6,8,7,5,4,9,10,11,1,2,3,4,5,11,10,9,8,7,6,4,2.,程序环路复杂性、基本路径集,程序的环路复杂性给出了,程序基本路径集中的独立路径条数,。,从控制流程图来看,,一条独立路径,是,至少包含有一条在其它独立路径中从未有过的边的路径,。,基本路径测试,(,续,2),5,环路复杂性度量,V(G),(,复习,),环路复杂性度量,V(G),的意义,:,等于程序中独立路径的条数。,三种计算方法:,V(G),控制流程图中区域的个数,V(G),m-n+2p,(,m,和,n,分别是控制流程图中的边数和节点数,p,为强连通分量),V(G),P+1,(,P,是控制流程图中的谓词节点数),谓词结点:代表条件判断的结点,基本路径测试,(,续,3),1,2,3,4,5,11,10,9,8,7,6,6,例如,在图示的控制流图中,一组独立的路径是,path1,:,1 11,path2,:,1-2-3-4-5-10-1 11,path3,:,1-2-3-6-8-9-10-1 11,path4,:,1-2-3-6-7-9-10-1-11,路径,path1,,,path2,,,path3,,,path4,组成了控制流图的一个基本路径集。,2,3,4,5,11,10,9,8,7,6,1,基本路径测试,(,续,4),7,3.,导出测试用例,导出测试用例,,确保基本路径集中的每一条路径的执行,。,根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到,用逻辑覆盖方法,。,每个,测试用例执行之后,,,与预期结果进行比较,。,基本路径测试,(,续,5),8,从小到大排序,:,Void SelectSort(datalist&list),for(int i=0;ilist.n-1;i+),int k=i;,for(int j=i+1;jlist.n;j+),if(list.Vj.getKey()list.Vk.getKey()k=j;,if(k!=i)Swap(list.Vi,list.Vk);,举例:基本路径测试,(1),9,程序流程图中,:list.Vj.getKey,简写为,Vj;list.n,简写为,n.,下同,.,环路复杂性,5,举例:基本路径测试,(2),10,基本路径集,:,Path1:,1,2,3,Path2:,1,2,4,5,9,10,11,2,3,Path3:,12,4,5,9,11,2,3,Path4:,12,4,5,6,7,8,5,9,10,11,2,3,(,或12,4,5,6,7,8,5,9,11,2,3),Path5:,12,4,5,6,8,5,9,10,11,2,3,(,或,1-2-4-5-6-8-5-9-11-2-3),举例:基本路径测试,(3),11,举例:基本路径测试,(4),测试用例,Path1:,1,2,3,取,n=1,Path2:,12,4,5,9,10,11,2,3,取,n=2,预期结果:路径,5-9-10-11-2-3,不可达,Path3:,12,4,5,9,11-2-3,取,n=2,预期结果:路径,5-9-11-2-3,不可达,12,举例:基本路径测试,(5),Path4,路径,A:1-2-4-5-6-7-8-5-9-10-11-2-3,取,n=2,,,V0=2,V1=1,预期结果,:,k=1,V0=1,V1=2,13,举例:基本路径测试,(6),Path4:,路径,B:,1-2-4-5-6-7-8-5-9-11-2-3,取,n=2,,,V0=2,V1=1,预期结果,:,k=1,路径,9-11-3,不可到达,14,举例:基本路径测试,(7),Path5,:,路径,A:1-2-4-5-6-8-5-9-10-11-2-3,取,n=2,,,V0=1,V1=2,预期结果,:k=,0,路径,9-10-11-2-3,不可到达,路径,B:1-2-4-5-6-8-5-9-11-2-3,取,n=2,,,V0=1,V1=2,预期结果,:k=0,V0=1,V1=2,15,作业,1.,从小到大排序,:,Void SelectSort(datalist&list),for(int i=0;ilist.n-1;i+),int k=i;,for(int j=i+1;jlist.n;j+),if(list.Vj.getKey()R0)Rj+1=Rj;j=j,1;Rj+1=R0;,(1),试画出它的程序流程图,(2),并计算它的环路复杂性;,(3),用基本路径覆盖法给出测试路径。,(4),为各测试路径设计测试用例,(,循环次数限定为,0,次、,1,次,),。,
展开阅读全文