白盒测试静态分析参考共4页共4页

上传人:新** 文档编号:465851370 上传时间:2023-06-09 格式:DOC 页数:4 大小:304.51KB
返回 下载 相关 举报
白盒测试静态分析参考共4页共4页_第1页
第1页 / 共4页
白盒测试静态分析参考共4页共4页_第2页
第2页 / 共4页
白盒测试静态分析参考共4页共4页_第3页
第3页 / 共4页
白盒测试静态分析参考共4页共4页_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《白盒测试静态分析参考共4页共4页》由会员分享,可在线阅读,更多相关《白盒测试静态分析参考共4页共4页(4页珍藏版)》请在金锄头文库上搜索。

1、白盒测试一般会用到静态分析和动态分析两类技术。常用的有: 静态分析:控制流分析、数据流分析、信息流分析等 动态分析:逻辑覆盖测试(分支测试、路径测试等)、程序插装等控制流以下是几个相关概念 程序元素:一个程序元素通常是一个条件,一个简单的语句或者一块语句(多个连续语句) 控制流关系:一个程序的控制流关系(Control Flow Relation)叙述了程序元素和它们执行的次序之间的联系 控制流图:对应于控制流关系的图被称为控制流图 控制流矩阵:由控制流图得到,反映相邻程序元素之间的先后顺序关系控制流分析步骤 确定所有程序元素 根据程序元素之间的相互关系得到控制流图 将控制流图转换成控制流矩阵

2、 通过数据结构的形式把控制流矩阵表示出来 借助算法对控制流进行分析,找出存在的问题控制流矩阵:1:语句有先后顺序关系,0:语句无先后顺序关系1234562131411516171二维数组:A66A00= A11= A22= A33=A44=A35=A52=1,其他为0控制流分析能发现的问题通过对控制流信息进行分析,确保写出的程序不应包含: 转向并不存在的标号; 没有用的语句标号; 从程序入口进入后无法达到的语句; 不能达到停机语句的语句。数据流数据流分析最初是随着编译系统要生成有效的目标码而出现的,这类方法主要用于代码优化。数据流分析法关键是数据的定义和引用。 数据的定义:如果程序中某一语句执

3、行时能改变某程序变量V的值,则称V是被该语句定义的。 数据的引用:如果一语句的执行引用了内存中变量V的值,则说该语句引用变量V。数据流分析步骤 根据代码得到数据流表 分析数据流表找到以下两种错误: 1、变量未定义但被引用 2、变量定义但未被引用 根据分析结果对代码进行修正和优化9123101165784节点被定义变量被引用变量1X,Y,Z2XW,X3X,Y4Y,Z5YV,Y6ZV,Z7VX8WY9ZV10ZZ11Z问题:节点2:W未定义被引用节点5:V第一次未定义被引用节点6:V第一次未定义被引用,Z定义未被引用节点8:W定义未被引用信息流分析 信息流分析可以导出程序的信息流关系,为软件开发和

4、确认提供了十分有益的工具。信息流分析法可以通过三个关系表给出,这三个关系为: 输入变量和语句关系:输入变量直接或间接影响语句的执行 语句和输出变量关系:语句执行直接或间接影响变量的输出 输入和输出变量关系:输入变量直接或间接影响输出变量信息流分析步骤 根据代码得到三个关系表:输入变量和语句关系表、语句和输出变量关系表、输入和输出变量关系表 分析输入变量和语句关系表,查看对未定义的变量所有可能的引用,根据语句的执行情况来判断是哪个输入变量未定义 分析语句和输出变量关系表,查看所有可能会影响输出变量取值的语句,根据语句的执行情况来判断是哪句语句导致输出变量错误 分析输入和输出变量关系表,查看所有可能影响输出变量取值的输入变量,判断输出变量会不会由一些非法的变量导出12345beginQ: = 0; R: = M;while R=N do beginQ: = Q+1;R: = R -N endend整除算法 整除算法中输入值、语句与输出值的关系 QR12345QRMNMN12345(a)(b)(c)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号