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

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

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

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

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

其中,约束(+ε)表示满足条件0<e1- e2≤+ε,约束(-ε)表示满足条件-ε≤e1- e2<0。

生成谓词最小BRE约束集的算法与前面介绍的算法BRO-CSET相似,只是叶结点约束集构造的方法不一样:

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

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

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

Begin of BRE-CSET

步骤1标识AST(pr)每个叶结点N的约束集SN。对于代表布尔变量的叶结点,其SN ={t,f},StN=t,SfN=f;对于代表关系表达式的叶结点

 


步骤2以自底向上的方式遍历AST(pr)的每个非叶结点(内部结点)。如果结点N是一个AND结点或OR结点,设N1、N2是其直接后继。如果结点N是一个NOT结点,设N1是其直接后继。SN1、SN2分别代表结点N1、N2的BRE约束集。对每个非叶结点N,计算SN如下:

2.1N是OR结点:

 
2.2N是AND结点:
 
2.3N是NOT结点:
 

步骤3AST(pr)根结点的BRE约束集就是谓词pr的BRE约束集。

End of BRO-CSET

例2.30考虑谓词pr:(a+b<c)∧﹁p∨(r>s)。pr的抽象语法树AST(pr)如图2-20所示,各结点已标识相应的BRE约束集。采用算法BRE-CSET,看看这些BRE约束集是如何计算出来的。

 
图2-20 谓词(a+b<c)∧﹁p∨(r>s)的BRE约束集
首先,根据各叶结点的类型标识其BRE约束集如下:
 

然后,自底向上、广度优先地遍历AST(pr),从其直接后继结点的BRE约束集计算各非叶结点的BRE约束集如下:

 
 

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

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

读 书 +更多

数据库加密——最后的防线

本书是关于如何使用已有的密码技术和算法对数据库中存储的信息进行保护的书,书中所关注的内容主要是如何设计、建立(或者挑选、集成)一套...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊