白盒测试基本技术

机构:南昌测试空间 时间:2016-08-24 点击:1010

  1.词法和语法分析

  (1)获取信息

  l 可以获取软件组成的重要基本因数,如变量标识符、过程标识符、常量等

  l 组合获取的基本因数,可以得到软件的基本信息,如:

  v 标号交叉引用表:列出各模块中出现的全部标号及标号的属性,模块以外的全局、计算标号

  v 变量交叉引用表:列出变量定义及引用信息,变量的属性,变量类型(全局、局部)

  v 子程序、宏和函数表:列出各个子程序、宏及函数的属性,输入、输出参数信息

  v 等价表:列出在等价语句和等值语句中出现的全部变量和标号

  v 常数表:列出全部数字常数和字符常数

  (2)作用

  l 直接从表中查出说明/使用错误,如标号交叉引用表、变量交叉引用表

  l 为用户提供辅助信息,如子程序、宏和函数表、等价表、常数表

  l 用来做错误预测和程序复杂度计算,如操作符和操作数的统计表

  2.静态错误分析

  用于确定在源程序中是否有某类错误或‘危险’结构,包括以下几种:

  (1) 类型和单位分析

  对源程序的类型进行检查,为了强化检查效果,扩充一些新的数据类型,进行静态预处理程序,分析程序中的类型错误

  (2) 引用分析

  l 对程序中变量的引用进行检查,发现引用异常错误(如变量在定义前被引用,变量定义后未被引用)。

  l 采用深度优选的方法遍历程序流图的每一条路径

  l 建立引用异常的探测工具,包括变量定义表和变量引用表

  (3) 表达式分析

  对表达式进行分析,以发现和纠正在表达式出现的错误,如:

  l 在表达式中不正确的使用了括号造成错误

  l 数组下标越界错误

  l 除数为零

  l 浮点数计算的误差(最复杂)

  (4) 接口分析

  接口一致性是程序的静态错误分析和设计分析共同研究的题目,接口分析主要对下内容时进行一致性的分析:

  l 各模块之间接口一致性

  l 模块与外部数据库的接口一致性

  l 形参与实参在类型,数量,顺序,维数,使用上的一致性

  l 全局变量和公共数据区在使用上的一致性

  3.程序插桩技术

  (1) 概述

  在动态测试中,是一种基本的测试手段,有广泛的应用

  主要借助向程序中插入操作,来实现测试目的的方法(即向源程序中添加一些语句(也称探测器),实现对程序语句的执行、变量的变化等情况进行检查)

  (2) 设计时考虑的问题

  l 明确要探测哪些信息

  l 在程序的什么部位设置探测点

  l 需要设计多少个探测点

  (3) 探测点设置位置(以Fortran为例)

  l 程序块的第一个可执行语句之前

  l entry语句的前后

  l 有标号的可执行语句处

  l 循环语句之后

  l 条件语句之后

  l logical if语句之后

  l call语句之后

  l go to语句之后

  (4) 断言语句

  在程序中的特定部位插入某些用以判断变量特性的语句,使得程序执行中这些语句得以证实,从而使程序的运行特性得到证实,我们把这些插入的语句称为断言语句。

  更多资讯,请访问南昌软件测试培训学校

下一篇:软件测试的定义
返回顶部