5.黑盒测试与白盒测试
黑盒测试 白盒测试
不涉及程序结构 考查程序逻辑结构
用软件规格说明书生成测试用例 用程序结构信息生成测试用例
可适用于从单元测试到系统联调 适用于单元测试和集成测试
某些代码段得不到测试 对所有逻辑路径进行测试
二、白盒测试基本技术
1.词法和语法分析
(1)获取信息
● 可以获取软件组成的重要基本因数,如变量标识符、过程标识符、常量等
● 组合获取的基本因数,可以得到软件的基本信息,如:
v 标号交叉引用表:列出各模块中出现的全部标号及标号的属性,模块以外的全局、计算标号
v 变量交叉引用表:列出变量定义及引用信息,变量的属性,变量类型(全局、局部)
v 子程序、宏和函数表:列出各个子程序、宏及函数的属性,输入、输出参数信息
v 等价表:列出在等价语句和等值语句中出现的全部变量和标号
v 常数表:列出全部数字常数和字符常数
(2)作用
● 直接从表中查出说明/使用错误,如标号交叉引用表、变量交叉引用表
● 为用户提供辅助信息,如子程序、宏和函数表、等价表、常数表
● 用来做错误预测和程序复杂度计算,如操作符和操作数的统计表
2.静态错误分析
用于确定在源程序中是否有某类错误或‘危险’结构,包括以下几种:
(1)类型和单位分析
对源程序的类型进行检查,为了强化检查效果,扩充一些新的数据类型,进行静态预处理程序,分析程序中的类型错误
(2)引用分析
● 对程序中变量的引用进行检查,发现引用异常错误(如变量在定义前被引用,变量定义后未被引用)。
● 采用深度优选的方法遍历程序流图的每一条路径
● 建立引用异常的探测工具,包括变量定义表和变量引用表