数据流分析

上一篇 / 下一篇  2012-04-05 21:27:11

 

读书笔记,《软件测试第三版》 数据流分析

大多数程序的功能都是通过数据来表现的。表示数据的变量接收值,并用来计算其他变量的值。

数据流测试通常集中在定义/引用异常故障分析上。

1,变量已定义,但从未使用

2,使用未定义的变量

3,变量在使用之前被重复定义

以上都是常见程序错误的表现形式,如错拼名字,名字混淆或是丢失了语句。

先从最简单开始,首先程序每一条语句的行数称之为节点,变量被赋值称之为定义变量,变量使用时称之为使用变量。

假设有下面这段程序,非常简单只是举例说明

1  public class NumMax {
2  public static void main(String[]args){
3   int x,y,z,k;
4   
5   x = 1;
6   y = 2;
7   k = 3;
8   if( x > y ) {
9       z = x;
10       System.out.println(z);
11   }else{
12       z = y;
13       System.out.println(z);
14   }  
15  }
16 }

该程序有16行,16个节点,那么就可以生成如下图标

变量        定义变量的节点         使用变量的节点

x             5                     8,9

y             6                     8,12

z             9,12                  10,13

k             7                      无

这样通过表格的方式,我们就能够较为清晰的看到程序中每个变量什么时候定义,什么时候使用。如果一个变量只有定义但是没有使用,或者没有定义就直接使用,这样的问题就很容易发现,就像例子中的变量k,只有定义但是没有使用。

数据流分析还有很多指标,上面只是最粗浅的知识。


TAG:

 

评分:0

我来说两句

Open Toolbar