静态分析工具和动态
一、静态分析工具
静态分析程序不需要执行所测试的程序,它扫描所测试程序的正文,对程序的数据流和控制流进行分析。然后送出测试 告。通常,它具有以下几类功能:
(1)对模块中的所有变量,检查其是否都已定义,是否引用了未定义的变量,是否有已赋过值但从未使用的变量。实现方法是建立变量的交叉引用表。
(2)检查模块接口的一致性。主要检查子程序调用时形式参数与实际参数的个数、类型是否一致,输入输出参数的定义/使用是否匹配、数组参数的维数、下标变量的范围是否正确,各子程序中使用的公用区(或外部变量、全局变量)定义是否一致等等。
(3)检查在逻辑上可能有错误的结构以及多余的不可达的程序段。如交叉转入转出的循环语句,为循环控制变量赋值,存取其他模块的局部数据等。
(4)建立“变量/语句交叉引用表”、“子程序调用顺序表”、“公用区/子程序交叉引用表”等。利用它们找出变量错误可能影响到哪些语句,影响到哪些其他变量等。
(5)检查所测程序违反编程标准的错误。例如,模块大小、模块结构、注释的约定、某些语句形式的使用,以及文档编制的约定等。
(6)对一些静态特性的统计功能:各种类型源语句的出现次数,标识符使用的交叉索引,标识符在每个语句中使用的情况,函数与过程引用情况,任何输入数据都执行不到的孤立代码段,未经定义的或未曾使用过的变量,违背编码标准之处,公共变量与局部变量的各种统计。
静态分析工具的结构一般由四部分组成:语言程序的预处理器、
二、动态测试工具
动态测试就是通过选择适当的
4)除了覆盖分析这个最重要的特性外,下列动态特性也经常作为测试的结果予以分析
1)调节分析:确定所测程序哪些部分执行次数最多,哪些部分执行次数最少,甚至未执行过。
2)成本
论坛精华帖
相关资源:DZ论坛回帖软件DZ论坛回帖v1.2-其它代码类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!