基于结构的动态测试技术2(单元测试)

基于结构的动态测试用例设计方式可分为基于控制流数据流两大类。上一篇介绍了基于控制流的测试设计,本篇将介绍基于数据流的测试设计。

1、基于数据流设计用例是通过选择的定义-使用的覆盖率来导出测试用例集,以覆盖测试项中变量定义和使用间的路径。不同的数据流覆盖准则要求执行不同定义-使用对和子路径。

2、“使用”可以进一步划分为“P-use”(谓词使用)和“C-use”(计算使用)。谓词使用是指使用变量来确定判定条件(谓词)的结果;计算使用是指一个变量作为其他变量定义或输出的计算输入。

3、在基于数据流的测试中,测试特征集都是被测的代码段,测试条件则是代码中的定义-使用对,不同的用例设计方法体现在测试覆盖项的不同上,导致后续测试用例的不同。。

下面,通过举例来演示上述不同测试覆盖标准 所对应的测试设计:

 分析代码,列出测试项中所使用的变量,并为其分配一个类别(定义、谓词使用或计算使用),如下图

 识别定义列中的每个条目到该变量的谓词使用或计算使用列的每个条目之间的路径,如下图,每个定义-使用对就是一个测试条件

 (1)全定义测试——所有变量定义都覆盖从定义到其谓词使用或计算使用的至少一个定义到任意类型使用的子路径。

 (2)全计算使用测试——所有相关变量定义都覆盖从定义到其每个计算使用的至少一个自由定义子路径。

 

 (3)全谓词使用测试——所有相关变量定义都覆盖从定义到其每个谓词使用的至少一个自由定义子路径。

 方法同全计算使用测试

(4)全使用测试——要求包括从每个变量定义到它的每个使用的至少一条子路径(不包括变量的中间定义)。

 

 

 (5)全定义-使用路径测试——要求包括从每个变量定义到它的每个使用的所有子路径(不包括变量的中间定义)。

全定义-使用路径测试不同于全使用测试,后者只需要从每个变量定义到其使用的一条路径进行测试。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值