程序分析技术教学ppt课件

程序分析技术教学ppt课件

ID:33467248

大小:510.01 KB

页数:38页

时间:2018-05-25

程序分析技术教学ppt课件_第1页
程序分析技术教学ppt课件_第2页
程序分析技术教学ppt课件_第3页
程序分析技术教学ppt课件_第4页
程序分析技术教学ppt课件_第5页
资源描述:

《程序分析技术教学ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、--程序分析技术软件测试方法和技术由安博测试空间技术中心http://www.btestingsky.com/提供软件测试方法和技术董瑞志http://10.28.177.8/~nature_dongEmail:hello_u@eyou.comMSN:nature_dong@hotmail.com联系电话:13913688630内容提要程序分析的视角文本视角句法视角功能视角计算流视角程序分析技术故障插入变体分析数据流分析控制流分析程序切片程序插装文本视角从文本的视角来看,一个程序被看作是字符或记号的序列。文本视角提供的信息是物理的、基本

2、的。它一般不对文本内容的语法和语义进行分析,而只对文本本身的基本内容进行分析。例如,分析文本的规模、行数、词汇数、词汇频度等内容。文本视角是其他视角分析的基础。句法视角一个程序可以被看成一个分层结构,它可以被分解到子程序,再被分解到语句组,然后被分解到语句等等,直到符号层。在这个分解中,每个最基本的元素以及元素间的组合关系是由程序语言的语法决定的。这种视角被称为句法视角。功能视角程序可以被看成是一个功能集,功能被认为是对一个有序对(x,y)集合的指示。其中y是由程序在输入x处阻塞而产生的输出。用输入x执行程序和观察它的输出(如果有的话)

3、是一种分析技术,该技术提供了程序在给定输入上的直接证据。计算流视角一个程序可以被看成一个有限"计算集"的表示。一个"计算"是当程序执行特定输入时产生的数据状态的轨迹。通过一次执行来促使一个程序的计算流被完整分析,可以服务于估计在代码中遗留缺陷的数量、测试数据捕捉缺陷的能力和程序隐藏缺陷的可能性。变体分析变体分析(变异分析)使用故障插入来分析测试数据的属性。带有插入错误的程序称为一个变体或变异。变体分析在程序测试中的应用是相当广泛的,并且是一个相当重要的技术,可以用于验证测试的充分性。Tobecontinue……变体分析故障插入是一个统计

4、的方法,用于评价遗留在一个程序中的故障数量和种类。首先,故障被插入到一个程序中,然后,程序被测试,并且发现故障的数量可用来估计还没有被发现故障的数量。主要目的是为了评价系统的哪些模块、哪些代码是危险模块、危险代码,容易出问题,从而评价系统的容错能力。控制流分析程序流程图:程序流程图是一种程序控制结构的图形表示方式。在程序流程图上的处理框内常常标明了处理要求或条件。Tobecontinue……控制流分析控制流图:为了更加突出控制流的结构,需要对程序流程图做些简化,这种简化了的流程图称为控制流图,即流图。Tobecontinue……控制流分

5、析控制流图中的符号:①节点:以标有编号的圆圈表示,代表程序流程图中矩形框所表示的处理、菱形表示的分支及多选择结构点。②控制流线:以带箭头的直线或弧表示,与程序流程图中的数据流线是一致的,表明了控制的顺序。控制流线通常标有名字,如图中所标的a、b、c等。Tobecontinue……控制流分析为便于表示和处理控制流图,可以把控制流图表示成矩阵的形式,称为控制流图矩阵。控制流矩阵:nxn,n为控制流图中节点数量。Tobecontinue……控制流分析控制流图矩阵数据流分析数据流分析最初是随着编译系统要生成有效的目标码而出现的,这类方法主要用于

6、代码优化。数据流分析方法在确认系统中也得到成功的运用,用以查找如引用未定义变量等程序错误,以及用来查找对未曾使用的变量再次赋值等数据流异常的情况。数据流分析重要性在程序测试中,找出这些错误是很重要的。因为这常常是常见程序错误的表现形式,如错拼名字、名字混淆或是丢失了语句。数据流分析的两个概念变量定义:如果程序中某一语句执行时能够改变某个变量V的值,则称V是被该语句定义的。变量引用:如果程序中某一语句的执行引用了内存中变量V的值,则说该语句引用变量V。数据流分析案例例如:1.语句X:=Y十Z定义了X,引用了Y和Z;2.语句ifY>Zthe

7、ngotoexit引用了Y和Z。3.输入语句READX定义了X。4.输出语句WRITEX引用了X。Tobecontinue……数据流分析案例每个语句定义和引用的变量的列表。Tobecontinue……数据流分析程序中有两个错误:语句2使用了变量W,而在此之前并末对其定义。语句5、6使用变量V,这在第一次执行循环时也未对其定义过。程序中还包含两个异常:语句6对Z的定义从未使用过。语句8对W的定义也从未使用过。程序切片对于给定的一个程序行为的子集,通过切片技术把程序减小到一个最小化形式,并且仍旧能产生给定的行为。这个简化后的程序就称为切片。

8、Tobecontinue……程序切片对于一个中等复杂的程序来说,要进行比较完整的测试其成本是非常高的。那么使用切片技术,可以把一个规模较大且较复杂的程序转换成多个使用一定切片标准而获得的切片程序,这些切片相

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。