数据流分析
上一篇 /
下一篇 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: