《程序分析技术》PPT课件.ppt
《《程序分析技术》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《程序分析技术》PPT课件.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-程序分析技术程序分析技术软件测试方法和技术软件测试方法和技术由安博测试空间技术中心由安博测试空间技术中心http:/ y是由程是由程序在输入序在输入x x处阻塞而产生的输出处阻塞而产生的输出。用输入用输入x x执行执行程序和观察它的输出程序和观察它的输出(如果有的话如果有的话)是一种分析是一种分析技术技术,该技术提供了程序在给定输入上的直接该技术提供了程序在给定输入上的直接证据。证据。计算流视角计算流视角 一一个个程程序序可可以以被被看看成成一一个个有有限限 计计算算集集 的的表表示示。一一个个计计算算是是当当程程序序执执行行特特定定输输入入时时产产生生的的数数据据状状态态的的轨轨迹迹。通通
2、过过一一次次执执行行来来促促使使一一个个程程序序的的计计算算流流被被完完整整分分析析,可可以以服服务务于于估估计计在在代代码码中中遗遗留留缺缺陷陷的的数数量量、测测试试数数据据捕捕捉捉缺缺陷陷的的能能力和程序隐藏缺陷的可能性。力和程序隐藏缺陷的可能性。变体分析变体分析变体分析变体分析(变异分析变异分析)使用故障插使用故障插入入来分析测来分析测试数据的属性试数据的属性。带有插入错误的程序称为一个带有插入错误的程序称为一个变体或变异。变体或变异。变变体分析在程序体分析在程序测试测试中的中的应应用是相当广泛的用是相当广泛的,并并且是一个相当重要的技且是一个相当重要的技术术,可以用于可以用于验证测试验
3、证测试的的充分性充分性。To be continue变体分析变体分析故障插入是一个统计的方法故障插入是一个统计的方法,用于评价遗留在用于评价遗留在一个程序中的故障数量和种类一个程序中的故障数量和种类。首先首先,故障被插入到一个程序中故障被插入到一个程序中,然后然后,程序被程序被测试测试,并且发现故障的数量可用来估计还没有并且发现故障的数量可用来估计还没有被发现故障的数量。被发现故障的数量。主要目的是为了评价系统的哪些模块、哪些代主要目的是为了评价系统的哪些模块、哪些代码是危险模块、危险代码码是危险模块、危险代码,容易出问题容易出问题,从而从而评价系统的容错能力。评价系统的容错能力。控制流分析控
4、制流分析程序流程图:程序流程图:程程序序流流程程图图是是一一种种程程序序控控制制结结构构的的图图形形表表示示方方式式。在在程程序序流流程程图图上上的的处处理理框框内内常常常常标标明明了了处处理要求或条件理要求或条件。To be continue控制流分析控制流图:控制流图:为为了了更更加加突突出出控控制制流流的的结结构构,需需要要对对程程序序流流程程图图做做些些简简化化,这这种种简简化化了了的的流流程程图图称称为为控控制制流流图,即流图。图,即流图。To be continue控制流分析控制流图中的符号:控制流图中的符号:节节点点:以以标标有有编编号号的的圆圆圈圈表表示示,代代表表程程序序流流
5、程程图图中中矩矩形形框框所所表表示示的的处处理理、菱菱形形表表示示的的分支及多选择结构点。分支及多选择结构点。控控制制流流线线:以以带带箭箭头头的的直直线线或或弧弧表表示示,与与程程序序流流程程图图中中的的数数据据流流线线是是一一致致的的,表表明明了了控控制制的的顺顺序序。控控制制流流线线通通常常标标有有名名字字,如如图图中中所所标标的的a、b、c等。等。To be continue控制流分析控制流分析为为便便于于表表示示和和处处理理控控制制流流图图,可可以以把把控控制制流流图图表表示示成成矩矩阵阵的的形形式式,称为控制流图矩阵。称为控制流图矩阵。控制流矩阵:控制流矩阵:nxn,nxn,n n
6、为控制流图中节点数量。为控制流图中节点数量。To be continue控制流分析控制流分析控制流图矩阵控制流图矩阵数据流分析数据流分析数数据据流流分分析析最最初初是是随随着着编编译译系系统统要要生生成成有有效效的的目目标标码码而而出出现现的的,这这类类方方法法主主要要用用于于代代码码优化。优化。数数据据流流分分析析方方法法在在确确认认系系统统中中也也得得到到成成功功的的运运用用,用用以以查查找找如如引引用用未未定定义义变变量量等等程程序序错错误误,以以及及用用来来查查找找对对未未曾曾使使用用的的变变量量再再次次赋赋值等数据流异常的情况。值等数据流异常的情况。数据流分析重要性数据流分析重要性在
7、在程程序序测测试试中中,找找出出这这些些错错误误是是很很重重要要的的。因因为为这这常常常常是是常常见见程程序序错错误误的的表表现现形形式式,如如错错拼拼名名字字、名名字字混淆或是丢失了语句。混淆或是丢失了语句。数据流分析的两个概念数据流分析的两个概念变变量量定定义义:如如果果程程序序中中某某一一语语句句执执行行时时能能够够改改变变某某个个变变量量V V的的值值,则则称称V V是是被被该该语句定义的。语句定义的。变变量量引引用用:如如果果程程序序中中某某一一语语句句的的执执行行引引用用了了内内存存中中变变量量V V的的值值,则则说说该该语语句句引用变量引用变量V V。数据流分析案例数据流分析案例
8、例如例如:1.1.语句语句 X X:Y Y十十Z Z定义了定义了X X,引用了,引用了Y Y和和Z Z;2.2.语句语句 if Y if YZ then Z then goto exit goto exit引用了引用了Y Y和和Z Z。3.3.输入语句输入语句 READ X READ X定义了定义了X X。4.4.输出语句输出语句 WRITE X WRITE X 引用了引用了X X。To be continue数据流分析案例每个语句定义和引用的变量的列表。每个语句定义和引用的变量的列表。To be continue数据流分析数据流分析程序中有两个错误:程序中有两个错误:语语句句2 2使使用用了
9、了变变量量W W,而而在在此此之之前前并并末末对对其定义。其定义。语语句句5 5、6 6使使用用变变量量V V,这这在在第第一一次次执执行行循环时也未对其定义过。循环时也未对其定义过。程序中还包含两个异常:程序中还包含两个异常:语句语句6 6对对Z Z的定义从未使用过。的定义从未使用过。语句语句8 8对对W W的定义也从未使用过。的定义也从未使用过。程序切片程序切片对于给定的一个程序行为的子集对于给定的一个程序行为的子集,通过切片技通过切片技术把程序减小到一个最小化形式术把程序减小到一个最小化形式,并且并且 仍旧能仍旧能产生给定的行为。这个简化后的程序就称为切产生给定的行为。这个简化后的程序就
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序分析技术 程序 分析 技术 PPT 课件
限制150内