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

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

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

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

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

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

2.1N是OR结点:

 

2.2N是AND结点:

 


2.3N是NOT结点:

 

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

End of BRO-CSET

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

 
图2-19谓词(a+b<c)∧﹁p∨(r>s)的BRO约束集。约束集放置在谓词抽象语法
树的各结点旁。注意,本节中关于将约束集划分为“真”、“假”约束集的论述
首先,根据各叶结点的类型标识其BRO约束集如下:
 
然后,自底向上、广度优先地遍历AST(pr),从其直接后继结点的BRO约束集计算各非叶结点的BRO约束集如下:
 
 

针对谓词pr,满足以上5个BRO约束的测试用例如表2-8所示。练习2.31要求读者证明:表2-8中的测试集针对BRO测试准则是充分的。

表2-8 满足例2.29中谓词pr的BRO约束的测试用例

 

3. 生成BRE约束集

现在,讨论如何生成BRE约束集。根据这些约束,可以设计出确保能够检测出谓词中存在的所有的布尔运算符故障、关系运算符故障、算术表达式故障或以上故障组合。布尔变量的BRE约束集仍然是{t,f},关系表达式e1 relop e2的BRE约束集

 

如下所述,根据relop的不同,S的“真”约束集、“假”约束集的划分结果也不一样:

 


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

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

读 书 +更多

数据库系统工程师考试全程指导

为了满足广大考生的需要,我们组织了参与过多年资格考试命题或辅导的教师,以新的考试大纲为依据,编写了《数据库系统工程师考试全程指导》...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊