|
|
|
|
移动端

2.7.5 生成BOR、BRO和BRE充分性测试用例(5)

《软件测试基础教程》第2章基于需求的测试生成,本章主要介绍从非形式化或形式化定义的软件需求生成测试集的技术。这些技术,有的可以自动地执行,而大部分则需测试人员付出艰辛的劳动,特别是在测试大型软件时。本章所介绍的大部分测试技术属于黑盒测试,因为生成测试集时不需参考被测软件的源代码。本节为大家介绍生成BOR、BRO和BRE充分性测试用例。

作者:王峰/郭长国/陈振华 等译来源:机械工业出版社|2011-09-18 21:15

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


2.7.5 生成BOR、BRO和BRE充分性测试用例(5)

针对谓词pr,满足以上5个BRE约束的测试用例如表2-9所示。对比图2-19、图2-20,注意图中结点的BRO约束集与BRE约束集的相似性。另外,表2-8与表2-9中的t1~ t4是一样的,只有t5不一样;表2-8中的t5不能满足约束(+ε),因为ε=1。练习2.34要求读者比较用算法BRO-CSET、BRE-CSET导出的测试用例的差异。

表2-9 满足例2.30中谓词pr的BRE约束的测试用例(ε=1)

 

4. 生成非奇异表达式的BOR约束集

前面章节描述的算法BOR-CSET、BRO-CSET、BRE-CSET为只包含奇异表达式的谓词生成约束集,以便最后生成BOR、BRO、BRE充分的测试集。然而,当谓词包含非奇异表达式,在遍历谓词的抽象语法树过程中,合并结点的约束集时可能会引起冲突(参见练习2.37)。如果对这些冲突处理得不好的话,导出的约束集不能确保能够检测出被测谓词中所有的布尔操作符故障。在本节中,将改进算法BOR-CSET,以便能为包含非奇异表达式的谓词生成约束集。

根据第2.7.1节中的解释,在一个非奇异表达式中,某个布尔变量出现了多次。例如,下表列出了一些非奇异表达式及其析取范式。注意,省略了AND运算符,用+代替OR运算符,用上划线代表字母的补。

 

注意,上表中相互奇异的组件并不完全是奇异组件。

修改后的从谓词pr生成测试集的BOR策略采用了原来的BOR-CSET算法以及新增的一个Meaning Impact算法,简称MI。在介绍BOR-MI算法之前,先介绍根据奇异或非奇异布尔表达式pr设计测试集的MI-CSET算法。应用算法MI-CSET时,pr必须是析取范式DNF;如果不是,先将pr转化为DNF,目前已有将布尔表达式转化为最小DNF的标准算法。

从可能包含非奇异表达式的谓词生成最小约束集的算法MI-CSET

输入:以最小析构范式存在的布尔表达式E=e1+e2+...+en。表达式E 包含n个积项,其中,积项ei包含li个文字,1≤i≤n,li>0。

输出:表达式E的约束集SE,确保能够检测出E的实现中存在的缺失/冗余NOT运算符故障。

Begin of MI-CSET

步骤1针对每个积项ei(1≤i≤n),构造使ei取值为真的约束集Tei。

步骤2对所有1≤i≤n置TSei=Tei-∪n j=1,j≠iTej。注意,对任何1≤i,j≤n(i≠j),TSei∩TSej=。

步骤3构造StE={ci},其中1≤i≤n,ci是TSei中的任一元素,即从每个TSei中只取一个元素。注意,对任何c∈StE,E(c)=true,即StE中的每个元素都使表达式E取值为真。

步骤4对于所有1≤i≤n,设ei=l1l2…lj-1ljlj+1…lli,即积项ei包含li个文字,其中lj为ei中的第j个文字;对于每个1≤j≤li,置eji=l1l2…lj-1ljlj+1…lli,即将所有的积项ei,从左至右,逐次将其第j个文字取补。构造约束集Feji,使得对于任何c∈Feji,eji(c)=true,即Feji中的每个元素都使积项eji取值为真;同样,对于任何c∈Feji,ei(c)=false,即Feji中的每个元素都使积项ei取值为假。

步骤5置FSeji=Feji-∪n k=1Tek,注意,对任何c∈FSeji,E(c)=false,即FSeji中的每个元素都使表达式E取值为假。

步骤6构造SfE,使其规模最小,并且覆盖每个FSeji至少一次。

步骤7构造表达式E的约束集SE=StE∪SfE。

End of MI-CSET

例2.31考虑表达式E=a(bc+bd),其中a、b、c、d是布尔变量。注意,E是非奇异的表达式,因?淞縝出现了两次。设与E等价的析取范式为E=e1+e2,其中,e1= abc,e2=abd。现在应用算法MI-CSET生成StE、SfE。

首先,构造Te1、Te2如下:

 

接着,从TSe1、TSe2中各选取一个元素组成一个覆盖E的每个积项并使E取值为真的最小约束集:

 

注意,StE存在4种可能的取值。

 

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

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网络管理员考试考前冲刺预测卷及考点解析

本书依据最新版《网络管理员考试大纲》的考核要求,深入研究了历年网络管理员考试试题的命题风格和试题结构,对考查的知识点进行了提炼,并...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊