软件测试作业谓词测试,2.7.4 谓词测试准则

2.7.4 谓词测试准则

我们最关心的是如何从给定的谓词pr生成测试集T,使其满足:(a) T是最小集合;(b) T保证能够检测出pr实现中存在的符合前文所述故障模型的所有故障。为了获得这样的测试集,定义了三个准则,通常称作BOR、BRO、BRE测试准则。名称BOR、BRO、BRE分别对应于布尔运算符、布尔和关系运算符、布尔和关系表达式。三个准则的形式化定义如下:

对于复合谓词pr,如果测试集T确保能够检测出pr实现中存在的所有单/多布尔运算符故障,则T满足BOR测试准则,称T为BOR充分测试集,记为TBOR。

对于复合谓词pr,如果测试集T确保能够检测出pr实现中存在的所有单/多布尔运算符及关系运算符故障,则T满足BRO测试准则,称T为BRO充分测试集,记为TBRO。

对于复合谓词pr,如果测试集T确保能够检测出pr实现中存在的所有单/多布尔运算符、关系表达式以及算术表达式故障,则T满足BRE测试准则,称T为BRE充分测试集,记为TBRE。

注意,上文中的“单/多故障”和“确保能够检测出”需要仔细揣摩。

设Tx为从谓词pr导出的测试集,其中x∈{BOR,BRO,BRE}。设pf为通过向谓词pr注入单/多故障而得到的另一谓词,注入的故障属于三种类型之一,即布尔运算符故障、关系运算符故障、算术表达式故障。若存在t∈Tx,使得p(t)≠pf(t),则称Tx确保能够检测出pf中的故障。下面的例子说明一个BOR充分测试集示例及其故障检测效力。

例2.25考虑复合谓词pr:ad。设S为pr上的约束集合

edf236737cd12231396b6807a5b9c447.png

下面的测试集T满足约束集合S以及BOR测试准则:

d73b177330dfa829dbc8cbe6b7ec0d07.png

由于T满足BOR测试准则,从而确保能够检测出pr中存在的所有单/多布尔运算符故障。通过针对测试集T,计算pr及其经注入布尔运算符故障后得到的变体的真值,就能验证这一点。

表2-6列出了谓词pr以及经注入单/多布尔运算符故障后得到的7个故障谓词。对于每个谓词,都使用T中的3个测试用例分别进行计算。注意,对于故障谓词,至少存在一个测试用例,使其取值与pr取值不同。

表2-6例2.25中BOR充分测试集对单/多布尔运算符故障的检测能力(故障谓词与谓词pr的计算结果的差异用斜体标识)

d1ac426836bbaaf77917e94109c07a50.png

很容易验证,如果从表2-6中删去任意一个测试用例,则至少存在一个故障谓词对于剩余的两个测试用例,其真值与谓词pr的真值相同。例如,删去t2,则故障谓词4与谓词pr对于测试用例t1、t3所得结果一致。因此,可以肯定,T是谓词pr的最小且满足BOR充分性的测试集。

练习2.28与上面的例子类似,要求验证所给的两个测试集分别是BRO充分的和BRE充分的。在下一节,将讨论生成BOR、BRO、BRE充分测试用例的算法。

【责任编辑:云霞 TEL:(010)68476606】

点赞 0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值