数据流测试用于分析程序中的数据流。它是收集有关变量如何在程序中流动数据的过程。它试图获得过程中每个特定点的特定信息。
数据流测试是一组测试策略,用于检查程序的控制流程,以便根据事件的顺序探索变量的顺序。它主要关注分配给变量的值和通过集中在两个点上使用这些值的点的点,可以测试数据流。
数据流测试使用控制流图来检测可能中断数据流的不合逻辑的事物。由于以下原因,在值和变量之间的关联时检测到数据流中的异常:
- 如果使用变量而没有初始化。
- 如果初始化变量至少未使用一次。
让我们通过一个例子来理解:
在这段代码中,总共有8
个语句,将选择一个涵盖所有8
个语句的路径。正如代码中显而易见的那样,无法覆盖单个路径中的所有语句,因为如果语句2
为真,则语句4,5,6,7未被覆盖,如果语句4
为真,则语句2和3不包括在内。
因此,采取两种方式来涵盖所有陈述。
x= 1
Path - 1, 2, 3, 8
Shell
输出结果为:
2
当首先将x
的值设置为1
时,它会在步骤1中读取并分配x的值(在路径中取1)然后来到语句2(x> 0(在路径中取2))它是真, 它来自语句3(a = x + 1(在路径中取3))最后它出现在语句8上以打印x的值(输出为2)。
对于第二条路径,取x
的值为1
-
Set x= -1
Path = 1, 2, 4, 5, 6, 5, 6, 5, 7, 8
输出结果为:
2
当将x的值设置为1,然后是第一个时,它会在步骤1中读取并分配x的值(在路径中取1)然后来到第2步,它是假的,因为x不大于0 (x> 0,x = -1)。由于错误的条件,它不会出现在语句3上并且直接跳转到语句4(在路径中取4)并且4为真(x <= 0并且它们的x小于0)然后出现在语句5(x < 1(在路径中取5))这也是真的所以它将出现在语句6(x = x + 1(在路径中取6))并且这里x增加1。
所以,
x=-1+1
x=0
x
的值变为0。现在它转到语句5(x <1
(在路径中取5))值为0且0小于1所以,它是真的。声明6(x = x + 1(在路径中取6))。
x=x+1
x= 0+1
x=1
将x变为1并再次转到语句5(x <1
(在路径中取5))现在1不小于1因此,条件为假,它将来到其他部分时语句7(a = x +,其中x的值为1)并将值赋给a(a = 2)。最后,它出现在语句8上并打印出值(输出为2)。
为代码建立关联。在关联中,我们列出了所有定义及其所有用途。
(1, (2, f), x), (1, (2, t), x), (1, 3, x), (1, (4, t), x), (1, (4, f), x), (1, (5, t), x), (1, (5, f), x), (1, 6, x), (1, 7, x), (6,(5, f)x), (6,(5,t)x), (6, 6, x), (3, 8, a), (7, 8, a)