程序插桩的技术PPT课件_第1页
程序插桩的技术PPT课件_第2页
程序插桩的技术PPT课件_第3页
程序插桩的技术PPT课件_第4页
程序插桩的技术PPT课件_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

程序插桩技术,田洁,在软件动态测试中,程序插桩是一种基本的测试手段,有着广泛的应用。程序插桩方法:借助往被测程序中插入操作,来实现测试目的的方法,即向源程序中添加一些语句,实现对程序语句的执行、变量的变化等情况进行检查。最简单的插桩:在程序中插入打印语句printf(“”)语句。,最大公约数算法之更相减损术,在我国古代的数学著作九章算术中,就介绍了“约分术”:“可半者半之,不可半者,副之分母、子之数,以少减多,更相减损,求其等也。以等数约之。”,现代语言表述算法,第一步:任意给顶两个正整数;判断他们是否都是偶数。若是,则用2约简;若不是则执行第二步。第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。第三步:继续这个操作,直到所得的减数和差相等为止,则这个等数就是所求的最大公约数。注意:其中所说的“等数”,就是最大公约数。求“等数”的办法是“更相减损”法,即辗转相除法。例:用更相减损术求98与63的最大公约数?解:由于63不是偶数,把98和63以大数减小数,并展转相减98-63=3563-35=2835-28=728-7=1414-7=7所以,98和63的最大公约数等于7。,程序插桩技术,如果我们想要了解一个程序在某次运行中所有可执行语句被覆盖的情况,或是每个语句的实际执行次数,最好的办法是利用插桩技术。这里仅以计算整数X和整数Y的最大公约数程序为例,说明插桩方法的要点。,程序插桩技术,例:求取两个整数X和Y的最大公约数程序如下:intgsd(intX,intY)intQ=X;intR=Y;while(Q!=R)if(QR)Q=Q-R;elseR=R-Q;returnQ;,程序插桩技术,可以根据程序绘制出其流程图为了记录改程序中语句的执行次数,我们使用插桩技术插入如下语句:C(i)=C(i)+1,i=1,2,6插桩之后的流程图如下:,程序插桩技术,在程序入口处插入对计数器C(i)的初始化语句,在程序出口处加入打印语句,图中虚线框中的内容并不是源程序的内容,而是我们为了记录语句的执行次数而插入的。虚线框中的程序就是为了完成计数。形式就是C(n)=C(n)+1;n=1,2,3,n;该程序从入口开始,到出口执行结束。凡经历的计数语句都能记录下该程序点的执行次数。如果我们在程序的入口处还插入了对计数器C(i)初始化的语句,在出口处插入了打印这些计数器的语句,就构成了完整的插桩程序。它就能记录并输出在各程序点上语句的实际执行次数。,程序插桩技术,程序插桩技术,右图为插桩之后的程序,箭头所指为插入的语句。源程序的语句已略去。,设计插桩程序时需要考虑的问题包括:探测哪些信息;在程序的什么部位设置探测点;需要设置多少个探测点;程序中特定部位插入某些用以判断变量特性的语句。,第1个问题具体问题具体分析。第2个问题,在实际测试通常在下面一些部位设置探测点:程序块的第1个可执行语句之前for,do,do-while,dountil等循环语句处。if,elseif,else及endif等条件语句各分支处。输入/输出语句之后。函数、过程、子程序调用语句之后。return语句之后goto语句之后,第3个问题,需要考虑如何设置最少探测点方案。第4个问题,是

温馨提示

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

评论

0/150

提交评论