1
第3章白盒测试
目·录
白盒测试基本概念
控制流分析
数据流分析
其他白盒分析方法
数据流分析
控制流测试是面向程序的结构;
数据流测试是面向程序中的变量。
程序中变量的两种作用:
(将数据存储)
(将存储的数据取出)
4
一、基本概念
变量的定义性出现:若一个变量在程序中的某处出现使数据与该变量相绑定,则称该出现是定义性出现。
变量的引用性出现:若一个变量在程序中的某处出现使与该变量相绑定的数据被引用,则称该出现是引用性出现。
计算性引用:用于计算新的数据。
谓词性引用:判断控制转移方向的谓词引用。
如x:=y+z,表示将“=”右边的计算结果存放在该变
量x所对应的存储空间内,即将数据与变量绑定
5
数据流测试思路
测试程序中数据的定义与使用是否正确,即,运行程序中从数据被绑定给一个变量之处到这个数据被引用之处的路径,即测试这样的路径,通过它把一个变量的定义性出现传递到该变量的一个引用性出现。
优势:用数据流测试方法更能有效地发现软件缺陷。
劣势:在度量测试覆盖率和选择测试路径的时候,数据流测试很困难。
6
二、数据流覆盖准则
定义覆盖测试准则(P58 )
引用覆盖测试准则(P59 )
定义-引用覆盖测试准则(P59 )
7
定义—引用覆盖准则
引用覆盖准则
定义覆盖准则
其他白盒测试方法
程序插装
程序变异
代码审查
9
程序插装
什么是程序插装?
程序插装方法简单地说是借助在被测程序中插入检查点的方法,来实现白盒测试的目的。
程序插装的目的:
通过测试这些检查点的信息,可以了解执行过程中程序的一些动态特性。如程序的实际执行路径,或是特定变量在特定时刻的取值。
通过程序插装技术我们可以了解一个程序在某次运行中所有可执行语句被覆盖(或称被经历)的情况,或是每个语句的实际执行次数。
10
以计算整数X和整数Y的最大公约数程序为例。
第三章 白盒测试(2) 来自淘豆网www.taodocs.com转载请标明出处.