资源描述:
《《基于切片的测试》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、结构性测试—基于程序切片的测试苏州大学计算机科学与技术学院234语句与变量的关系定义:输入定义赋值定义使用:谓词使用计算使用输出使用56假设程序片S(V,n)是一个变量的程序片,即集合V由单一变量v组成。语句片段n是v的定义结点,则n包含在该片中语句片段n是v的使用结点,则n不包含在该片中其他变量的谓词使用和计算使用影响到v的取值,则该语句包含在该片中。78静态切片和动态切片静态切片包含了所有可能影响兴趣变量的语句,考虑了程序所有可能的执行路径。动态切片是在某一特定的输入下,由所有可能影响一兴趣点处某个兴趣
2、变量的所有语句组成.它只考虑程序的某一条执行路径。9程序切片实例scanf(“%d”,&n);sum=0;product=1;while(n>0){sum=sum+n;product=product*n;n=n-1;}在第8行处关于变量sum的切片为:scanf(“%d”,&n);sum=0;while(n>0){sum=sum+n;n=n-1;}当输入n=0时,在第8行处关于变量sum的动态切片scanf(“%d”,&n);sum=0;while(n>0){}1011结点6为结点5的后向必经结点12控制依
3、赖语句p是否执行,决定了q是否执行.q控制依赖于p数据依赖语句p和q,存在一个变量v在p中定义,而在q中使用且沿着p到q路径上其它位置在没有重定义v,则称q数据依赖于p.程序依赖图PDG程序依赖图G=(N,E)为一个有向图:N={n
4、n为程序的语句},E={(m,n)
5、n控制依赖于或数据依赖于m}书上例子1314151617181920inword=0;nl=0;nw=0;c=getchar();while(c!=EOF){if(c==‘’)nl=nl+1;if(c==‘‘
6、
7、c==‘t’)inwor
8、d=0;elseif(inword==0){inword=1;nw=nw+1;}c=getchar();}printf(“%d”,nl);printf(“%d”,nw);练习:计算Slic(17,nw)21inword=0;nl=0;nw=0;c=getchar();while(c!=EOF){if(c==‘’)nl=nl+1;if(c==‘‘
9、
10、c==‘t’)inword=0;elseif(inword==0){inword=1;nw=nw+1;}c=getchar();}printf(“%
11、d”,nl);printf(“%d”,nw);Slic(17,nw)={17,3,12,10,1,9,11,8,4,5,14,13,15}程序的程序依赖图(PDG)141761109716825312411entry22P112练习给出sales和commission的格23sales的格27sales=lockSales+stockSales+barrelSalesS(sales,27)={7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25,26,27}S(s
12、ales,28)={28}+S(sales,27)S(sales,29)={29}+S(sales,27)S(sales,33)={33,29}+S(sales,27)S(sales,34)={29,34}+S(sales,27)S(sales,37)={37,29,34}+S(sales,27)S(sales,38)={38,29,34}+S(sales,27)24commission的格S31:S(commission,31)={31}+S(sales,29)={29,31}+S(sales,27)S3
13、2:S(commission,32)={32,31}+S(sales,29)={29,32,31}+S(sales,27)S33:S(commission,33)={33,32,31}+S(sales,29)+S(sales,33)={33,32,31,29}+S(sales,29)={33,32,31,29}+S(sales,27)S34:S(commission,36)={36}+S(sales,29)+S(sales,34)={36,29,34}+S(sales,27)S35:S(commission
14、,37)={37,36}+S(sales,29)+S(sales,34)+S(sales,37)={37,36}+S(sales,34)={37,36,29,34}+S(sales,27)S36:S(commission,38)={38}+S(sales,29)+S(sales,34)+S(sales,38)={38}+S(sales,38)={38,29,34}+S(sales,27)25commission的