白盒测试 词法分析与桌面走查
来源:互联网 发布:吴亦凡在美国人气知乎 编辑:程序博客网 时间:2024/06/06 17:33
6.1.1 词法分析与语法分析
通过词法分析与语法分析可以获取软件组成的重要基本因数,例如:变量标识符、过程标识符、常量等,组合这些基本因数可以得到软件的基本信息。如:
l
l
l
l
l
按功能分类,引用表的作用有以下3种。
l
l
l
6.1.2静态错误分析
静态错误分析用于确定在源程序中是否有某类错误或“危险”结构。它有以下几种。
1.类型和单位分析
为了强化对源程序中数据类型的检查,在程序设计语言中扩充一些新的数据类型,例如,仅能在数组中使用的“下标”类型及在循环语句中当作控制变量使用的“计数器”类型。这样就可以静态预处理程序,分析程序中的类型错误。
2.引用分析
在静态错误分析中,最广泛使用的技术就是发现引用异常。如果沿着程序的控制路径,变量在赋值以前被引用,或变量在赋值以后未被引用,这时就发生了引用异常。
为了检测引用异常,需要检查通过程序的每一条路径。通常采用类似深度优先的方法遍历程序流图的每一条路径,也可以建立引用异常的探测工具,这种工具包括两个表:定义表和未引用表。每张表中都包含一组变量表。未引用表中包括已被赋值但还未被引用的一些变量。
当扫描抵达一个出度大于1的节点V时,深度优先探测算法要求先检查最左分支的那一部分程序流图,然后再检查其他分支。在最左分支检查完之前,应把定义表与未引用表的当前内容用一个栈暂时存储起来,当最左分支检查完之后,算法控制返回到节点V,从栈中恢复该节点的定义表和未引用表的老的副表,然后再去遍历该节点的下一个分支,这个过程要继续到全部分支检查完为止。
3.表达式分析
对表达式进行分析,以发现和纠正在表达式中出现的错误。包括:
l
l
l
l
最复杂的一类表达式分析是对浮点数计算的误差进行检查。由于使用二进制数不精确地表示十进制浮点数,常常使计算结果出乎意料。
4.接口分析
接口一致性是程序的静态错误分析和设计分析共同研究的题目。接口一致性的设计可以分析检查模块之间接口的一致性和模块与外部数据库之间接口的一致性。
程序关于接口的静态错误分析检查过程与实参在类型、函数过程之间接口的一致性,因此要检查形参与实参在类型、数量、维数、顺序、使用上的一致性;检查全局变量和公共数据区在使用上的一致性。
- 白盒测试 词法分析与桌面走查
- 软件测试技术---代码检查,走查与评审
- 词法分析(NFA与DFA)
- 测试人员代码走查基础要点
- 词法分析:程序美与逻辑美
- 词法分析 与 LL(1)语法分析
- JAVA 与CPP的词法分析
- yacc语法分析与lex词法分析相结合
- Python的词法分析与语法分析
- 词法分析与正则表达式 (一)
- 词法分析与正则文法(二)
- 词法分析与正则表达式(三)
- 简述 JavaScript 作用域与词法分析
- 代码检查、走查与评审
- 代码检查、代码走查与评审
- 词法分析
- 词法分析
- 词法分析
- Shell编程中Shift的用法
- 设计模式——单例
- JS滑动门效果
- zoj2164
- eclipse 错误 Incompatible JVM
- 白盒测试 词法分析与桌面走查
- 自己扩展封装Hibernate模板DAO-之二单独使用(hibernate)
- 白盒测试 代码检查
- 产品经理的思考(二)
- rails layout and rendering
- Android短彩信数据库信息整理
- DIV层被Flash或表单遮盖的解决方法
- vim 树形目录插件NERDTree安装及简单用法
- c++学习笔记序列之经典处理程序汇总(不断更新中)