软件测试作业谓词测试,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上的约束集合
下面的测试集T满足约束集合S以及BOR测试准则:
由于T满足BOR测试准则,从而确保能够检测出pr中存在的所有单/多布尔运算符故障。通过针对测试集T,计算pr及其经注入布尔运算符故障后得到的变体的真值,就能验证这一点。
表2-6列出了谓词pr以及经注入单/多布尔运算符故障后得到的7个故障谓词。对于每个谓词,都使用T中的3个测试用例分别进行计算。注意,对于故障谓词,至少存在一个测试用例,使其取值与pr取值不同。
表2-6例2.25中BOR充分测试集对单/多布尔运算符故障的检测能力(故障谓词与谓词pr的计算结果的差异用斜体标识)
很容易验证,如果从表2-6中删去任意一个测试用例,则至少存在一个故障谓词对于剩余的两个测试用例,其真值与谓词pr的真值相同。例如,删去t2,则故障谓词4与谓词pr对于测试用例t1、t3所得结果一致。因此,可以肯定,T是谓词pr的最小且满足BOR充分性的测试集。
练习2.28与上面的例子类似,要求验证所给的两个测试集分别是BRO充分的和BRE充分的。在下一节,将讨论生成BOR、BRO、BRE充分测试用例的算法。
【责任编辑:云霞 TEL:(010)68476606】
点赞 0
软件测试作业谓词测试,2.7.4 谓词测试准则相关推荐
- 软件测试作业垃圾分类系统,垃圾分类最强小测试,看看你能得几分?
原标题:垃圾分类最强小测试,看看你能得几分? 上海开始实行垃圾分类,身在广州的我本来悠哉游哉的看着各大网站上大家的吐槽和调侃,还因为猪很忙这个梗笑得不行. 但万万没想到广州也被列入试点了,一瞬间有点慌 ...
- 软件测试作业4:测试要素
作业4 1.选择一个测试要素 (Lec.10, slide 9),以你实现的或者熟悉的一个软件作品为例,分别讨论该要素在软件生命周期的需求.设计.编程.测试.安装.验收和维护各阶段的测试目标和内容. ...
- 软件测试作业3:软件测试的16条公理
作业3 1.综述软件测试的16条公理 (参见 Lec.8, slide 43) 答: 利益相关者公理: 测试是代表测试利益相关者执行的信息或情报收集的活动 公理1(利益相关者公理): 测试需要利益相关 ...
- 软件测试种类(一):包括功能性测试,可靠性测试,强度测试等
软件测试种类(一) 软件测试是由一系列不同的测试组成,主要目的是对以计算机为基础的系统进行充分的测试. 功能测试 功能测试是在规定的一段时间内运行软件系统的所有功能,以验证这个软件系统有无严重错误. ...
- 叮当软件测试简历,软件测试作业..doc
软件测试作业. 软件测试作业 第1题 设有一个档案管理系统,要求用户输入以年月表示的日期.假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月.现用 ...
- 东华软件测试题,东华大学软件测试作业整理.docx
东华大学软件测试作业整理 一.当测试结果与测试用例中描述的有所不同时,有哪些可能的原因呢?为什么说测试的初始状态很重要?答: 测试环境不同,测试步骤出现差异,测试系统本身bug.因为在进行测试时,需要 ...
- 东华软件测试题,东华大学软件测试作业整理
东华大学软件测试作业整理 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 一.当测试结果与测试用例中描述的有所不同时,有哪些可能的原 ...
- 软件测试需要学什么?年薪30W+的测试工程师需要掌握哪些技能?
从事任何一个行业,不论想入行的新人还是已经在职的从业人员,一定要系统化的掌握自身的学习路线和发展方向,随时对自身的优劣点掌握清楚.尤其是对于软件测试这个岗位.测试职业所涉及的技能范围比较广,测试流 ...
- 软件测试是采用(A)执行软件的活动,测试(Test)测试是一项采用测试用例执行软件的活动,在这.ppt...
测试(Test)测试是一项采用测试用例执行软件的活动,在这.ppt Beta 测试是从用户角度进行的测试.( Y ) 项目立项前测试人员不需要提交任何文档. ( Y ) 单元测试能发现大部分的软件缺陷 ...
- 软件测试作业7:构建弱健壮的等价类测试用例
软件测试作业7:构建弱健壮的等价类测试用例 1.构造下述三角形问题的弱健壮的等价类测试用例. 三角形问题:输入三个不超过100的正整数作为三角形的三条边,判断三角形是等边三角形.等腰不等边三角形.完全 ...
最新文章
- 数学 计算机工作,不过有人说先学数学,后学计算机后劲足一点,工作也可以的,这估...
- 【c语言】蓝桥杯算法提高 输出三个整数的最大数
- itextpdf中文不显示_LaTeX实时预览中文
- 用“ul+li”及css制作韩国风格菜单
- java hashtable排序_java中哈希表中有迭代器模式的实现,可以认为其是顺序表吗?...
- 神竜出击 合三为一!
- Event Logging 技术简介(转载)
- C#LeetCode刷题之#697-数组的度( Degree of an Array)
- 网络爬虫ip代理服务器【程序样例】
- php 加载慢,PHP版网站缓存加快打开速度的方法分享
- python软件下载3版本-python
- Java NIO 基础
- 你家的APS系统有这些功能吗?排程系统功能盘点
- python app逆向_python之app逆向破解data参数中的PassWord DES加密无填充
- Tomcat 7 证书配置中遇到的一个问题
- fluent加载第三方(C++,Fortan等)动态链接库
- python通过pop3方式登录邮箱(qq,新浪,网易)
- (附源码)springboot校园疫情智慧防控微信小程序 毕业设计 011133
- 段码液晶屏实现原理和需要注意的事项
- 中介兴风 深圳楼市起浪