|
|
51CTO旗下网站
|
|
移动端

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

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

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

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

因此,得到SN3={(t,t),(f,t),(t,f)},这就是谓词p1的BOR约束集。在这里,形式化地描述了例2.25中约束集是如何计算出来的。

例2.28采用算法BOR-CSET,计算谓词p2:(a+b<c)∧﹁p∨(r>s)的BOR约束集。p2的计算比前面例子中的p1要复杂一些,其抽象语法树AST(p2)如图2-18b所示。注意,运算符∧的优先级高于∨,因此, p2等价于谓词((a+b<c)∧(﹁p))∨(r>s)。

首先,我们标识叶结点N1、N2、N5的BOR约束集如下:

 
然后,自底向上、广度优先地遍历AST(p2)。应用NOT结点的规则,得到结点N3的BOR约束集如下:
 
接着,应用AND结点的规则,得到结点N4的BOR约束集如下:
 
最后,利用N4、N5的BOR约束集,应用OR结点的规则,得到结点N6的BOR约束集如下:
 

注意对于fN4,可以选择(f,f)或(t,t);此处,选择了(f,f)。针对谓词p2,满足以上4个BOR约束的测试用例如表2-7所示。

练习2.30要求读者证明:表2-7中的测试集针对BOR测试准则是充分的。

表2-7 满足例2.28中谓词p2的BOR约束的测试用例

 

2. 生成BRO约束集

回想谓词pr 的BRO充分测试集确保能够检测出pr实现中存在的所有单/多布尔运算符及关系运算符故障。关系表达式e1 relop e2的BRO约束集S={(>),(=),(<)}。如下所述,根据relop的不同,S的“真”约束集、“假”约束集的划分结果也不一样:

 

现在,修改前面介绍的用于生成谓词BOR约束集的算法BOR-CSET,以生成最小BRO约束集。修改后的算法如下:

从谓词pr的抽象语法树生成最小BRO约束集的算法BRO-CSET

输入:谓词pr的抽象语法树AST(pr)。pr只包含奇异表达式。

输出:谓词pr的BRO约束集,放置在抽象语法树AST(pr)的根结点处。

Begin of BRO-CSET

步骤1标识AST(pr)每个叶结点N的约束集SN。对于代表布尔变量的叶结点,其

 

对于代表关系表达式的叶结点,SN={(>),(=),(<)}。
【责任编辑:云霞 TEL:(010)68476606】

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

读 书 +更多

非常网管——网络应用

在网络应用越来越复杂的今天,传统的网络应用已经不能满足企业和用户的需要,这就对网络管理员、信息管理部门提出了更高的要求。本书介绍了...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊