【软件测试-方法与技术】06-白盒测试-数据流测试

一、定义节点

①输入: (input( Y ))
②赋值: ( Y := 17)
③函数的输出 ( DOIT (X:IN, Y :OUT ))

二、使用节点

①赋值语句右边( Y := X +17)
②调用函数的输入(Y := SQRT( X ))
③条件(if X >0 then ...)

三、谓词使用(p-use)、计算使用(c-use)

类似if X>0 then中的X,为谓词使用,其余都属于计算使用。

四、du-pairs

(d,u): d为一个定义v的节点,u为v的使用节点或者边。

关于变量 v 的定义使用对(“du-pair”)的严谨版本定义:

        (d,u):使得 d 是程序流图中定义 v 的节点,u 是使用 v 的节点或边,并且有一个关于 v 从 d 到 u 的 def-clear 路径。

五、简单路径和无循环路径(simple/loop-free path)

如果路径中的所有边都不同,则路径(部分或完整)是简单的。(可以有1个环路)

如果路径中的所有节点都是不同的,则该路径是无循环的。

pathsimple?loop-free?
<1,3,4,2>
<1,2,3,2>×
<1,2,3,1,2>××
<1,2,3,2,4>×

六、paths

定义清除路径:如果路径中没有重新定义 v,则路径相对于变量 v 的定义是清晰的(“def-clear”)。        

例一 :变量为A

例二:变量为x

七、du-path

若路径 <n1,n2,...,nj,nk> 是相对于变量 v 的 du-path,必须满足以下其中的一点:

①如果在节点 n1 处定义了 v,并且在节点 NK 处有一个 V 的 C 使用,<n1,n2,...,nj,nk> 是一个简单路径

②在边缘 <NJ,NK> 处P使用 V,<N1,N2,...NJ> 是一个无环路路径。

八、全定义

对于每个程序变量 v,必须涵盖从 v 的每个定义到至少一个 c 使用 或 v 的一个 p 使用的至少一个 def-clear 路径。

All-defs: 

        由于 <1,2,3,4,5> 涵盖了从 A/B 的每个定义到至少一个 A/B 的 c 使用 或 p 使用的 def-clear 路径,因此实现了 All-Defs 覆盖。 

九、全使用

        对于每个程序变量 v,必须涵盖从 v 的每个定义到每个 c 使用和 v 的每个 p 使用至少一条 def-clear 路径。

十、All-du-paths

对于每个程序变量 v,必须涵盖从 v 的每个定义到每个c使用和每个p使用的每个du-path。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值