数据流测试
1、数据流分析
从数据流视角:程序是一个程序元素对数据访问的过程;
数据流关系:数据的【定义——使用】对;
出发点:对数据的不正确处理;
使用程序图来描述数据【定义——使用】对。
数据流测试:指关注变量接受值的点 和使用(或引用)这些值的点 的 结构性测试形式。
2、数据流测试
数据流测试按照程序中的变量定义和使用的位置来选择程序的测试路径;
数据流测试关注变量接收值的点和使用这些值的点;
一种简单的数据流测试策略是要求覆盖每个定义-使用路径一次;
数据流测试用做路径测试的“真实性检查”。
数据流分析—程序控制流图
G(P ) :程序图
构造方式同前,语句片段代表节点,边代表节点序列
单入口,单出口,且不允许从某个节点到其自身的边
P:程序
V:一组程序变量
DD-路径
DD路径:决策对决策路径(Miller)。从决策语句的“出路”开始,到下一个决策语句的“入路”结束。
DD链:有向图中一条起始和终止节点不同点路径。
由一个节点组成,内度=0;
由一个节点组成,外度=0;
由一个节点组成,内度〉=2或外度〉=2;
由一个节点组成,内度=1并且外度=1;
长度〉=1的最大练
DD-路径图
DD-Path graph是一张带有标签的有向图,图中的节点表示程序图的DD路径,而边表示路径的控制流。
对于给定的程序,可以构造多种不同的程序图,所有这些程序图,都可以简化为唯一的DD-路径图。
对100行以内的程序生成DD路径是可行的,如果超过这个规模,一般需要有分析工具的支持。
控制流图最简化也就是DD路径了。可以理解为 DD属于控制流图。
按照当时老师讲的:n3分别到n5、n14、n15的路径集合就是U的全覆盖。
我:
全使用准则
集合T满足程序P的全使用准则,当且仅当所有变量 ,T包含从v的每个定义节点到v的所有使用以及到所有USE(v,n)后续节点的定义清除路径。
相关内容可以参考这位大佬的博客。很清楚。
另外,学了这么多,感觉脉络有点杂乱,最后会整理一下。
THE END
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!