软件测试 数据流测试
数据流测试用于分析程序中的数据流。它是收集有关变量如何在程序中流动数据的过程。它试图获得过程中每个特定点的特定信息。
数据流测试是一组测试策略,用于检查程序的控制流程,以便根据事件的顺序探索变量的顺序。它主要关注分配给变量的值和通过集中在两个点上使用这些值的点,可以测试数据流。
数据流测试使用控制流图来检测可能中断数据流的不合逻辑的事物。由于以下原因,在值和变量之间的关联时检测到数据流中的异常:
- 如果使用变量而没有初始化。
- 如果初始化变量至少未使用一次。
让我们通过一个例子来理解:
在这段代码中,总共有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)
更多建议: