第七章 基于决策表的测试

合集下载

2.4决策表测试方法

2.4决策表测试方法

实用软件工程-软件测试
7.1 产生的原因
• 边界值测试和等价类测试未考虑输入条件的各种组合及输入条件之间的 联系,所以忽略了多个输入条件组合起来出错的情况 • 检查输入条件的组合并非易事
三 因 果 图
“学生标准化考试批阅试卷,产生成绩报告”的程序 应检查试题数与学生人数的成绩是否会超出存储容量
因果图
四 决 策 表
决策表的பைடு நூலகம்备性保证一种完备的测试
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7 决策表
• 原因 基本组成 决策表的化简 决策表的生成 测试用例的设计 讨论
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7.7 决策表的化简
• 设法合并具有相同动作、且条件项相似的规则
Y Y Y
× ×
× × × × × ×
Action 停止阅读,请休息 Stub :列出问题
规定可能采取的行动 2005年6月29日
规则
Action Entry :在条件
组合下应采取的行动 Janus Consulting
实用软件工程-软件测试
7.6 基本组成
• 如果有二叉条件,则决策表的条件部分是旋转了90度的真值表 • 从而保证考虑了所有可能的条件值组合
Endif 金额 欠款>60 发批准书、发货单和赊欠报告 <=500 Endif 欠款<=60 发批准书、发货单
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7 决策表
• 原因 基本组成 决策表的化简 决策表的生成 测试用例的设计 讨论

软件测试(第2版 慕课版)课后习题答案

软件测试(第2版 慕课版)课后习题答案

第一章软件测试基础课后习题答案1.什么是软件测试?软件测试发现一个应用从开始到结束时的错误,测试是一个过程。

(Glenford J.Myers 提出对软件测试的定义)测试是发现错误而执行的一个程序或系统的过程测试以发现故障为目的,是为了发现故障而执行程序过程2.软件测试涉及哪几个关键问题?软件测试的经济性原则谁来测试(who)测试什么(what)什么时候测试(when)怎样进行测试(how)测试的停止标准是什么(which)3.为什么说软件需求说明是软件故障的最大来源?软件需求是描述了系统有哪些功能,功能操作,性能如何等问题,是开发阶段的重要文档,也是后期软件开发的重要依据。

如果软件需求一开始就错了,在后面处理过程则会把错误放大,这样使得修复起来成本就是提升。

4.简述软件测试的复杂性和经济性。

复杂性1.完全测试是不现实的2.软件测试是有风险的3.杀虫剂现象4.缺陷的不确定性经济性软件测试是软件生命期中费用消耗最大的环节。

测试费用除了测试的直接消耗外,还包括其他的相关费用5.分析最近发生的软件质量事故,并简要分析产生的原因。

具体案例具体分子6.启动Windows计算器,输入“6,000-6=”(逗号不能少),观察计算结果,这是软件故障吗?为什么?这是软件故障中的界面缺陷。

由于无法输入逗号,无法进行输入,当做一个界面缺陷,因为不符合需求,原本是小数点变成了逗号。

7.软件测试应遵循哪些重要的原则或方针?1.完全测试程序是不可能的2.软件测试是有风险的3.测试无法找到隐藏的软件故障4.存在的故障数量与发现的故障数量成正比5.杀虫剂现象6.并非所有软件故障都能修复7.一般不要丢弃测试用例8.应避免测试自己编写的程序9.软件测试是一项复杂且具有创造性的和需要高度智慧的挑战性任务8.假定无法完全测试某一程序,那么在决定是否应该停止测试时应考虑哪些问题?在工作中,常用的停止测试标准有五类:测试超过了预定时间,停止测试执行了所有测试用例但没有发现故障,停止测试使用特定的测试用例方法作为判断测试停止的基础正面指出测试完成要求,如发现并修改70个软件故障根据单位是见查出故障数量决定是否停止测试9 . 假如星期一测试软件的某一功能时,每小时能发现一个新的软件故障,那么星期二会以什么频率发现软件故障?第一感觉就是与第一天(星期一)的一样,既然前一天发现的频率以每小时都有新的故障,说明软件的缺陷很高,所以第二天也可能有同样的频率。

5第7章基于决策表的测试

5第7章基于决策表的测试
?请建立决策表。
例:维修机器问题(续)
? (1)列出所有的条件桩和动作桩
?条件桩
?C1:功率大于 50马力吗? ?C2:维修记录不全吗? ?C3:运行超过 10年吗?
?动作桩
?A1:进行优先处理 ?A2:作其他处理
例:维修机器问题(续)
? (2)确定规则个数
?输入条件个数:3;
? 功率大于50马力吗 ? 维修记录不全吗 ? 运行超过10年吗
?根据软件规格说明
?①列出所有的条件桩和动作桩; ?②确定规则的个数;
?假如有n个条件,每个条件有两个取值( 0,1), 则有2n 种规则; ?③填入条件项; ?④填入动作项,得到初始决策表; ?⑤简化,合并相似规则(相同动作)。
例:维修机器问题
?问题描述:
?“……对于功率大于50马力的机器并 且维修记录不全,或已运行10年以上的 机器,应给予优先的维修处理……”
?每个条件的取值:“是”或“否”;
?规则个数:2*2*2 =8;
例:维修机器问题(续)
? (3)填入条件项;
1234 5 6 7 8
功率大于50马力吗? Y Y Y Y N N N N
条 维修记录不全吗? 件
运行超过 10年吗?
YYNN Y Y YNYN Y N
NN YN
动 进行优先处理 作 作其他处理
a1: 非三角形
XXX
a2: 不等边三角形
a3: 等腰三角形
a4: 等边三角形
X
X
X
XX
二、设计测试用例
用例 ID
a
b
c
DT1
4
1
2
DT2
1
4
2
DT3

软件测试中的决策表技术

软件测试中的决策表技术

软件测试中的决策表技术在软件测试中,决策表技术是一种被广泛应用的测试方法。

决策表是一种以表格形式呈现的测试设计工具,能够清晰地表达系统的规则和条件,并帮助测试人员针对不同情况进行测试。

决策表技术的基本原理是,将系统的输入条件、输出结果以及各种规则和约束整理成一张表格,每一行代表一个测试用例,利用这些测试用例来检查系统的正确性。

以下是决策表技术的一般步骤:1. 确定系统的输入条件和输出结果:在进行软件测试之前,首先需要明确系统的输入条件和输出结果。

这些输入条件和输出结果可以是系统的功能需求、运行环境、用户需求等。

2. 列举所有可能的情况:根据系统的输入条件,列出所有可能的情况,并将它们归类。

每一列代表一种情况,每一行代表一种组合。

3. 确定规则和约束:在决策表中,每一列代表一种情况,每一行代表一种组合。

在表格中,可以使用逻辑运算符如AND、OR等来表示各种条件之间的关系,并用“是”和“否”来表示每一种情况下的输出结果。

4. 生成测试用例:根据决策表中的各种组合,生成相应的测试用例。

每一个测试用例都可以通过对应的行和列确定,并包含了系统的输入条件和预期的输出结果。

5. 执行测试用例:根据生成的测试用例,执行测试过程,并记录实际的输出结果。

6. 比较实际结果和预期结果:对于每一种情况,比较实际的输出结果和预期的输出结果。

如果两者一致,则说明系统在这种情况下的行为是正确的;如果不一致,则说明系统在这种情况下存在问题。

通过使用决策表技术,可以减少测试用例的数量,并覆盖系统中的各种情况。

同时,决策表技术还能够提高测试的可读性和可维护性,便于测试人员对测试用例的管理和维护。

然而,决策表技术也存在一些限制。

首先,对于复杂的系统,决策表可能会变得非常庞大,导致难以管理和维护。

其次,决策表技术只能检查系统是否符合规则,但不能检查是否存在其他不可预测的问题。

此外,决策表技术还需要测试人员具备一定的领域知识和逻辑思维能力,以确保生成的决策表正确和完整。

的决策表

的决策表


决策表
➢ 条件项—针对条件桩给出的条件列出所有可能的取值 ➢ 动作桩—列出问题规定的可能采取的操作 ➢ 动作项—指出在条件项的各组取值情况下应采取的动作 ➢规则:任何一个条件组合的特定取值及其相应要执行的操作称为 规则
决策表生成
决策表化简
简化是以合并相似规则为目标 若表中有两条以上规则具有相同的动作,并
对于year变量的取值: Y1:{year:year是闰年}; Y2: {year:year不是闰年}
3、决策表的适用范围
决策表测试法适用于具有以下特征的应 用程序:
if-then-else逻辑突出; 输入变量之间存在逻辑关系; 涉及输入变量子集的计算; 输入与输出之间存在因果关系。
解法如下:
确定规则的个数。对于本题有2个条件(销售、库存),每 个条件可以有两个取值,故有22=4种规则。
列出所有的条件桩和动作桩。
填入条件项。
填入动作项,得到初始决策表
规则
选项
1
2
3
4
条件:
C1:销售好?
T
T
F
F
C2:库存低?
T
F
T
F
动作:
a1:增加生产

a2:继续生产


a3:停止生产
为了获得下一个日期,NextDate函数执行 如下操作
如果输入日期不是当月最后一天,则把day变量 的值加1;
如果输入日期是1~11月份中某月的最后一天, 则把day变量的值复位为1,month变量的值加1;
如果输入日期是12月的最后一天,则day变量和 month变量的值都复位为1,year变量的值加1
(1)列出所有的条件桩和动作桩。 (2) 确定规则的个数。 有n个条件的决策表有2n个规则(每个条件取真、 假值)。 (3) 填入条件项。 (4) 填入动作项,得到初始决策表。 (5) 简化决策表,合并相似规则。

第7章基于决策表的测试

第7章基于决策表的测试

第7章基于决策表的测试
3rew
演讲完毕,谢谢听讲!
再见,see you again
2020/11/26
第7章基于决策表的测试
• 在决策表中有不关心条目时,规则数的 统计:
n 没有不关心条目的规则数计为1; n 规则中每出现一个不关心条目,规则数乘2。
第7章基于决策表的测试
第7章基于决策表的测试
第7章基于决策表的测试
第7章基于决策表的测试
第7章基于决策表的测试
第7章基于决策表的测试
构造决策表的步骤
• 列出所有的条件桩和动作桩 • 确定规则的个数 • 填入条件项 • 填入动作项,得到初始决策表 • 简化决策表,合并相似规则
• 在条件和动作中,不关心条目和不可能规则的 使用。(表7-2)
• 不同的条件选择方法可能会大大扩展决策表的 规模。
• 在条件中引入等价类的决策表。(表7-4) • 决策表中规则数目的统计。
第7章基于决策表的测试
第7章基于决策表的测试
第7章基于决策表的测试
第7章基于决策表的测试
规则条数
• 对有限条目决策表,如果有n个条件,则 产生2n条规则。
n 确定原因和结果之间的逻辑关系。分析软件 规格说明描述中的语义。找出原因与结果之 间,原因与原因之间对应的关系。根据这些 关系,画出因果图。
第7章基于决策表的测试
因果图方法
• 利用因果图生成测试用例的基本步骤:
n 确定因果图中的各个约束。由于语法或环境 限制,有些原因与原因之间,原因与结果之 间的组合情况不可能出现。为表明这些特殊 情况,在因果图上用一些记号表明约束或限 制条件。
n 条件无关 n 条件不适用(—或N/A)
• 有限条目决策表:所有条件都是二叉条件(两 个取值,真/假,是/否,0/1)的决策表。

决策表法设计测试用例

决策表法设计测试用例

决策表法设计测试用例
决策表法是一种测试用例设计方法,它用于解决多个因素组合的决策问题。

以下是决策表法的测试用例设计步骤:
1. 确定问题的决策表:
- 需要进行决策的因素
- 各个因素之间的条件关系
2. 列出全部可能的因素组合:
- 根据问题的决策表,列出所有可能的因素组合
3. 标记有效和无效的因素组合:
- 找出无效的因素组合,即不行的情况,可以标记为无效
4. 编写测试用例:
- 根据有效的因素组合,编写测试用例
- 每个有效的因素组合都对应一个测试用例
5. 执行测试用例:
- 执行编写的测试用例
6. 整理和分析测试结果:
- 根据测试结果,整理和分析结果
通过决策表法设计的测试用例可以涵盖不同的情况,简化测试流程,提高测试效率。

但是在实际使用中,需要考虑因素的复杂性和决策表的大小,以及测试资源的限制。

7(3)-基于决策表的测试

7(3)-基于决策表的测试
❖如果仔细研究测试用例集合,就会体会到功能性测试的基本 局限:未测试的功能漏洞和冗余测试。所有的分析支持两点 结论:功能性测试有漏洞,使用更精细的手段能够缩小这些 漏洞。
安徽工程大学——计算机与信息学院
7
功能性测试的回顾
指导方针
❖重要启示:测试不大可能存在的缺陷是没有意义的。 很好地了解最有可能发生的缺陷种类,然后选择最 有可能发现这类缺陷的测试方法,这样更为有效。
安徽工程大学——计算机与信息学院
14
功能性测试的回顾
黑盒测试技术回顾
❖节约测试工作工时; ❖可控制生成的测试用例的数量; ❖测试用例具有一定的覆盖率。
安徽工程大学——计算机与信息学院
15
功能性测试的回顾
黑盒测试技术回顾
❖决策表解决了程序函数的逻辑依赖关系。 ❖决策表保证我们考虑了所有可能的条件值组合。 ❖决策表的完备性能够保证一种完备的测试。
▪ 如果变量是独立的,可采用边界值测试和等价类测试。 ▪ 如果变量不是独立的,可采用决策表测试。 ▪ 如果可保证是单缺陷假设,可采用边界值分析和健壮性测试。
安徽工程大学——计算机与信息学院
9
功能性测试的回顾
黑盒测试技术回顾
我们学习了很多测试技术,这些方法的共同之处 就是将程序看作是将输入映射到输出的数学函数。根 据研究输入值的属性演变成基于边界值的方法,等价 类的方法和决策表的方法、因果图。
❖如果变量不是独立的,可以采用决策表测试。
❖如果可保证是单缺陷假设,可以采用边界值分析 和健壮性测试。
安徽工程大学——计算机与信息学院
24
功能性测试的回顾
黑盒测试的选择规则
❖如果可保证是多缺陷假设,可采用最坏情况测试、 健壮最坏测试和决策表测试。

decision table 例题

decision table 例题

decision table 例题讲解
决策表(Decision Table)是一种用于描述复杂业务规则和条件的表格形式。

它可以帮助清晰地表示输入条件和对应的输出动作之间的关系。

让我们通过一个简单的例子来讲解决策表。

例题:考虑一个简单的系统,根据学生成绩给予奖励。

奖励的规则如下:
-如果成绩在90 分以上,奖励A。

-如果成绩在80 到89 分之间,奖励B。

-如果成绩在70 到79 分之间,奖励C。

-如果成绩在60 到69 分之间,奖励D。

-如果成绩在60 分以下,没有奖励。

我们可以使用决策表来清晰地表示这些规则。

在这个决策表中,每一列代表一个可能的条件或输入,每一行代表一组条件的组合。

而每个交叉点则表示对应条件组合下的输出结果。

例如,如果学生成绩为85 分,那么该学生符合"80 ≤成绩< 90" 这个条件,因此在"奖励B" 这一列会有一个勾号。

这种形式的决策表使得业务规则更加直观、清晰,同时也便于后续的维护和修改。

在实际应用中,决策表通常会用于软件系统、规则引擎等场景,以帮助自动化决策过程。

(学生)软件测试实验-决策表

(学生)软件测试实验-决策表

软件测试实验内容任务:针对一个常用的判断三角形类型的软件做黑盒测试,利用所学的黑盒测试方法来设计测试用例,并做相应测试,给出测试方案和测试报告。

判断三角形类型填写测试用例一.简介1.1编写目的本测试项目拟对判断三角形类型的软件进行测试。

1.2项目背景题目:输入整数a、b、c,分别作为三角形的三条边,编写程序判断由三条边构成的三角形的类型为:等边三角形、等腰三角形、一般三角形,以及不能构成三角形。

1.3术语决策表法:决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。

它能够将复杂的问题按照各种可能的情况全部列举出来,简明并可避免遗漏。

因此,利用决策表能够设计出完整的测试用例集合。

1.4参考资料软件测试佟伟光主编人民邮电出版社黑盒测试用例设计示例作者: chinaitlab 来源: chinaitlab二.测试概要2.1测试程序源代码#include<stdio.h>void main(){int a,b,c;printf("请输入三角形的三条边:");scanf("%d%d%d",&a,&b,&c);if(a>0&&b>0&&c>0){if((a+b)>c&&(a+c)>b&&(b+c)>a){printf("输入的数据符合三角形要求,根据输入的数可判断出:\n");if(a==b&&b==c&&a==c){printf("输入的三角形为等边三角形");}else if(a==b||b==c||a==c){printf("输入的三角形为等腰三角形");}else{printf("输入的三角形为一般三角形");}}elseprintf("输入的数据不符合三角行要求");}}2.2测试用例设计利用决策表法设计测试用例2.3测试环境与配置操作系统:windows XPCpu:Intel(R) Core(TM)2 Duo T5470内存:1G2.4测试方法手工利用黑盒测试中的判定表方法进行测试,主要测试目标为检验函数是否符合题目所给要求。

软件测试技术知到章节答案智慧树2023年青岛滨海学院

软件测试技术知到章节答案智慧树2023年青岛滨海学院

软件测试技术知到章节测试答案智慧树2023年最新青岛滨海学院第一章测试1.测试Plan包含下面的内容()。

参考答案:确定测试范围、确定测试策略、确定测试标准、确定测试架构、确定项目管理机制、预计测试工作量、测试计划评审2.()不属于测试计划。

参考答案:测试预期输出3.Test 计划起到了()的作用。

参考答案:其他都是4.制定test plan时不需要考虑()参考答案:坚持"5W"规则5.下面对the flow of software testing 的描述,哪个是正确的?()参考答案:制定测试计划->设计测试方案及测试用例->部署实施测试->执行测试->缺陷跟踪管理->测试总结报告第二章测试1.设计framework要根据项目需求进行适当change。

()参考答案:对2.场景分析原则中的E代表()参考答案:用户体验3.性能相关问题常发生在()。

参考答案:应用层4.系统安全性作用于()。

参考答案:用户层5.功能测试类型不包括()参考答案:可维护性测试第三章测试1.为了提高软件测试的效率,应该()参考答案:选择发现错误可能性最大的数据作为测试用例2.进行软件测试的关键问题是()。

参考答案:如何选择测试用例3.编写()是确定各个项目模块的开发情况和主要负责人。

参考答案:项目开发计划4.成功的测试是指运行测试用例后()。

参考答案:发现了程序错误5.Test case编写符合公司制定的相关标准。

()参考答案:对第四章测试1.以下哪一条不属于软件缺陷的描述()参考答案:软件运行出现警告2.()存在问题,可能引起软件存在一定的problems。

参考答案:需求说明书3.Performance defects产生的原因是()。

参考答案:线程锁、资源竞争和内存问题等4.Testers不负责编写()。

参考答案:软件架构设计5.软件测试是排除defect的手段之一。

()参考答案:对第五章测试1.在软件开发几十年的实践过程中,人们总结了很多开发与测试模型,其中V模型就经典的测试模型。

软件测试-7黑盒测试决策表法

软件测试-7黑盒测试决策表法


√ √√
√√ √ √





选项 12 13 14 15 16 17 18 19 20 21 22
规则
条件:
c1:month
M3 M3 M3 M3 M4 M4 M4 M4 M4 M4 M4
c2:day c3:year
D2 D3 D4 D5 D1 D2 D2 D3 D3 D4 D5 - - - - - Y1 Y2 Y1 Y2 - -
动作:
a1:不可能
√√√
a2:day加1
√√√
√√
a3:day复位

√√
a4:month加1
√√
a5:month复位

a6:year加1

简化NextDate函数决策表
规则1、2、3都涉及有30天的月份day类 D1、D2和D3,并且它们的动作项都是 day加1,因此可以将规则1、2、3合并。
类似地,有31天的月份day类D1、D2、 D3和D4也可合并,2月的D4和D5也可合 并。
不可能 17/8/2004 1/9/2001 17/12/2004 1/1/2002 17/2/2004 29/2/2004 1/3/2001 1/3/2001
不可能 不可能
决策表测试的适用范围
if-else逻辑突出;
• 恒等: IF A THEN B • 非: IF (NOT A) THEN B • 或: IF (A OR B) THEN C • 与:IF (A AND B) THEN C
后,不必检验别的规则. 如果某一规则的条件要执行多个操作任务,这些操
作的执行顺序无关紧要.
2024/6/22
24

软件测试中的决策表测试设计技术

软件测试中的决策表测试设计技术

软件测试中的决策表测试设计技术在软件开发的过程中,测试是保证软件质量的重要环节。

而测试设计是测试中的关键步骤之一。

决策表测试设计技术作为一种常用的测试设计方法,在软件测试中得到了广泛的应用。

本文将介绍决策表测试设计技术的基本原理和使用方法,并探讨其在软件测试中的优势和适用场景。

### 一、决策表测试设计技术的基本原理决策表测试设计技术是基于逻辑思维和分支覆盖的测试设计方法。

其基本原理是根据软件功能和规则,描述出一系列条件和动作,然后通过组合不同的条件取值,生成决策表,并针对决策表中的各种可能情况进行测试。

决策表由条件和动作组成,条件用于描述不同的输入和环境条件,动作用于描述系统的输出和行为。

### 二、决策表测试设计技术的使用方法1. 确定输入条件和输出动作:在进行决策表测试设计之前,首先需要明确被测试系统的功能和规则,确定需要测试的输入条件和输出动作。

2. 构建决策表:根据确定的输入条件和输出动作,构建决策表。

决策表通常采用表格的形式,每一行表示一种可能的情况,每一列表示一个条件或动作,通过填写条件和动作的取值,形成决策表。

3. 生成测试用例:根据决策表中的各种可能情况,生成相应的测试用例。

测试用例根据条件取值的组合来生成,每一种组合对应一个测试用例。

4. 执行测试用例:按照生成的测试用例,对被测试系统进行测试。

根据测试结果,判断系统的行为是否符合预期,是否满足规定的功能和规则。

5. 评估测试覆盖率:根据测试结果,评估测试的覆盖率。

决策表测试设计技术可以基于条件覆盖和动作覆盖进行评估,通过覆盖率的评估,可以判断测试用例的充分性和系统的测试质量。

### 三、决策表测试设计技术的优势决策表测试设计技术相比其他测试设计方法,具有以下几个优势:1. 覆盖全面:决策表测试设计技术可以覆盖到所有可能的情况,通过条件的组合生成测试用例,能够尽可能地覆盖所有的分支和路径。

2. 可读性强:决策表测试设计技术采用表格的形式进行设计,结构清晰,逻辑明确,易于阅读和理解。

软件测试智慧树知到课后章节答案2023年下青岛职业技术学院

软件测试智慧树知到课后章节答案2023年下青岛职业技术学院

软件测试智慧树知到课后章节答案2023年下青岛职业技术学院青岛职业技术学院第一章测试1.下列选项中,哪一项不是软件开发模型。

()答案:V模型2.下列哪一项不是软件缺陷产生的的原因。

()答案:测试用例设计不好3.现在比较流行的软件开发模型为螺旋模型。

()答案:错4.软件存在缺陷是由于开发人员水平有限引起的,一个非常优秀的程序员可以开发出零缺陷的软件。

()答案:错5.软件缺陷都存在于程序代码中。

()答案:错6.软件测试是为了证明程序无错。

()答案:对7.软件测试要投入尽可能多的精力以达到100%的覆盖率。

()答案:错8.下列软件实施活动的进入准则描述错误的是:()答案:项目阶段成果已经被基线化9.验收测试的测试用例主要根据()的结果来设计。

答案:需求分析第二章测试1.下列选项中,哪一项不是因果图输入与输入之间的关系。

()答案:恒等2.下列选项中,哪一项是因果图输出之间的约束关系。

()答案:强制3.使用边界值方法测试时,只取边界两个值即可完成边界测试。

()答案:错4.因果图考虑了程序输入、输出之间的各种组合情况。

()答案:对5.下面四种说法中正确的是()答案:健壮性等价类测试的测试用例要求在有效等价类中取值6.黑盒测试又叫功能测试或数据驱动测试。

()答案:对7.下列选项中,哪一项不是影响软件质量的因素。

()答案:使用新技术8.在黑盒测试中,着重检查输入条件组合的方法是()。

答案:因果图法9.下面()方法能够有效地检测输入条件的各种组合可能引起的错误。

答案:因果图10.功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。

()答案:对第三章测试1.下列选项中,哪一项不属于逻辑覆盖。

()答案:判定-语句覆盖2.关于逻辑覆盖,下列说法中错误的是。

()答案:在逻辑覆盖中,条件组合覆盖是覆盖率最大的测试方法。

3.决策表法是由因果图演变而来的。

()答案:对4.语句覆盖无法考虑分支组合情况。

()答案:对5.语句覆盖可以测试程序中的逻辑错误。

7-黑盒-因果图

7-黑盒-因果图
11为中间节点;考虑到原因1和原因2不可能同 时为1,因此在因果图上施加E约束。
基于决策表的测试

3)根据因果图建立判定表。
表中8种情况的左面两列情况中,原因①和原因②同时为1, 这是不可能出现的,故应排除这两种情况。
基于决策表的测试

2.有一个处理单价为5角钱的饮料的自动售 货机软件测试用例的设计。其规格说明如 下:

1) 分析这一段说明,列出原因和结果
原因: 1.售货机有零钱找 2.投入1元硬币
3.投入5角硬币 4.押下橙汁按钮 5.押下啤酒按钮 结果: 21.售货机〖零钱找完〗灯亮 22.退还1元硬币 23.退还5角硬币 24.送出橙汁饮料 25.送出啤酒饮料
基于决策表的测试
2)

约束
输入状态或输出状态之间的依赖关系,称为约束。
基于决策表的测试

A.输入条件的约束有以下4类:

E约束(异):a和b中至多有一个可能为1,即a和b 不能同时为1。 ② I约束(或):a、b和c中至少有一个必须是1,即 a、 b 和c不能同时为0。 ③ O约束(唯一);a和b必须有一个,且仅有1个为1。 ④R约束(要求):a是1时,b必须是1,即不可能a是 1时b是0。当a为0时,b值不定。
基于决策表的测试

1) 根据题意,原因、结果和中间结点如下: 原因: 1——第一个字符是A; 2——第一个字符是B; 3——第二个字符是一数字。 结果: 21——修改文件; 22 ——给出信息L; 23——给出信息M。 中间节点: 11 —— 第一个字符正确基于决策表的测试源自2) 其对应的因果图如下:


3)由于语法或环境限制, 有些原因与原因之间,原因与结果 之间的组合情况不可能出现,为表明这些特殊情况, 在因 果图上用一些记号表明约束或限制条件。 4)把因果图转换为判定表。

第七章-基于决策表的测试

第七章-基于决策表的测试

东北大学软件学院
13
NextDate函数测试用例-第一次尝试
M1 = {月份:每月有30天} M2 = {月份:每月有31天} M3 = {月份:此月是2月} D1 = {日期:1≤日期≤28} D2 = {日期:日期=29} D3 = {日期:日期=30} D4 = {日期:日期=31} Y1 = {年:年是闰年} Y2 = {年:年是平年}
?
×
?
a6:年增1
?
2021/5/18
16
第三次尝试
M1 = {月份:每月有30天} M2 = {月份:每月有31天,12月除外} M3 = {月份:此月是12月} M4 = {月份:此月是2月} D1 = {日期:1≤日期≤27} D2 = {日期:日期=28} D3 = {日期:日期=29} D4 = {日期:日期=30} D5 = {日期:日期=31} Y1 = {年:年是闰年} Y2 = {年:年是平年}
2021/5/18
东北大学软件学院
21
指导方针与观察
1.决策表技术适用于具有以下特征的应用程序: if-then-else逻辑很突出。 输入变量之间存在逻辑关系。 涉及输入变量子集的计算。 输入与输出之间存在因果关系。 很高的圈(McCabe)复杂度(请参阅第9章)。
2.决策表不能很好地伸缩(有n个条件的有限条目决策表有 2n个规则)。有多种方法可以解决这个问题——使用扩展条 目决策表、代数简化表,将大表“分解”为小表,查找条件 条目的重复模式。 3.与其他技术一样,迭代会有所帮助。第一次标识的条件 和行动可能不那么令人满意。把第一次得到的结果作为铺路 石,逐渐改进,直到得到满意的决策表。
东北大学软件学院
1
决策表
决策表的四个组成部分:

基于决策表的测试三角形问题

基于决策表的测试三角形问题

基于决策表的测试三角形问题基于决策表的测试(三角形问题)2010-06-25 01:49决策表,也叫判定表。

在所有的功能性测试方法中,基于决策表的测试方法被认为是最严格的,因为决策表具有逻辑严格性。

人们使用两种密切关联的方法:因果图法和决策表格法。

与决策表相比,这两种方法使用起来更麻烦,并且全冗余。

决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。

在程序设计发展的初期,决策表就已被用作编写程序的辅助工具了。

它可以把复杂的逻辑关系和多种条件组合的情况表达得比较明确。

1、决策表的组成决策表通常由4个部分组成,如下图:●条件桩(condition stub):列出了问题的所有条件。

通常认为列出的条件的次序无关紧要。

●动作桩(action stub):列出了问题规定可能采取的操作。

这些操作的排列顺序没有约束。

●条件项(condition entry):列出针对它所列条件的取值,在所有可能情况下的真假值。

●动作项(action entry):列出在条件项的各种取值情况下应该采取的动作。

●规则:任何一个条件组合的特定取值及其相应要执行的操作。

在决策表中贯穿条件项和动作项的一列就是一条规则。

显然,决策表中列出多少组条件取值,也就有多少规则,条件项和动作项就有多少列。

2、决策表建立决策表的建立应该根据软件规格说明,步骤如下:①确定规则的个数。

假如有n个条件,每个条件有两个取值(0,1),故有2n种规则。

②列出所有的条件桩和动作桩。

③输入条件项。

④填入动作项。

制定初始决策表。

⑤简化。

合并相似规则或者相同动作。

Beizer(《Software Testing Techniques》的作者)指出了适合使用决策表设计测试用例的条件:①规格说明以决策表的形式给出,或很容易转换成决策表。

②条件的排列顺序不影响执行哪些操作。

③规则的排列顺序不影响执行哪些操作。

④当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东北大学软件学院
三角形问题的测试用例
用例ID DT1 DT2 DT3 DT4 DT5 DT6 DT7 DT8 DT9 DT10 DT11 a 4 1 1 5 ? ? 2 ? 2 3 3 b 1 4 2 5 ? ? 2 ? 3 2 4 c 2 2 4 5 ? ? 3 ? 2 2 5 预期输出 非三角形 非三角形 非三角形 等边三角形 不可能 不可能 等腰三角形 不可能 等腰三角形 等腰三观察
1.决策表技术适用于具有以下特征的应用程序: 决策表技术适用于具有以下特征的应用程序: if-then-else逻辑很突出 逻辑很突出。 if-then-else逻辑很突出。 输入变量之间存在逻辑关系。 输入变量之间存在逻辑关系。 涉及输入变量子集的计算。 涉及输入变量子集的计算。 输入与输出之间存在因果关系。 输入与输出之间存在因果关系。 很高的圈(McCabe)复杂度(请参阅第9 (McCabe)复杂度 很高的圈(McCabe)复杂度(请参阅第9章)。 决策表不能很好地伸缩( 2.决策表不能很好地伸缩(有n个条件的有限条目决策表有 个规则) 有多种方法可以解决这个问题——使用扩展条 2n个规则) 。 有多种方法可以解决这个问题 使用扩展条 目决策表、代数简化表,将大表“分解”为小表, 目决策表、代数简化表,将大表“分解”为小表,查找条件 条目的重复模式。 条目的重复模式。 与其他技术一样,迭代会有所帮助。 3.与其他技术一样,迭代会有所帮助。第一次标识的条件 和行动可能不那么令人满意。 和行动可能不那么令人满意。把第一次得到的结果作为铺路 逐渐改进,直到得到满意的决策表。 石,逐渐改进,直到得到满意的决策表。 东北大学软件学院
东北大学软件学院
经过修改的三角形问题决策表
c1:a<b+c? c2:b<a+c? c3:c<b+a? c4:a=b? c5:a=c? c6:b=c? a1:非三角形 a2:不等边三角形 a3:等腰三角形 a4:等边三角形 a5:不可能 × × × × × × × F - - - - - × T F - - - - × T T F - - - × × T T T T T T T T T T T F T T T T F T T T T T F F T T T F T T T T T F T F T T T F F T T T T F F F
东北大学软件学院
带有互斥条件的决策表的规则条数统计
条件 c1:月份在M1中? c2:月份在M2中? c3:月份在M3中? 规则条数统计 a1 规则1 T - - 4 规则2 - T - 4 规则3 - - T 4
东北大学软件学院
去掉重复的决策表
条件 c1:月份在M1中? c2:月份在M2中? c3:月份在M3中? 规则条数统计 a1 条件 c1:月份在M1中? c2:月份在M2中? c3:月份在M3中? 规则条数统计 a1:不可能 1.1 T T T 1 × 1.2 T T F 1 × 1.3 T F T 1 × 1.4 T F F 1 2.3 F T T 1 × 2.4 F T F 1 3.4 F F T 1 F F F 1 × 1.1 T T T 1 1.2 T T F 1 1.3 T F T 1 1.4 T F F 1 2.1 T T T 1 2.2 T T F 1 2.3 F T T 1 2.4 F T F 1 3.1 T T T 1 3.2 T F T 1 3.3 F T T 1 3.4 F F T 1
D1, - D2 ,D3, D4, D5 - D1 ,D2, - D3,D4 D5 D1 D2 D2 D3 D3 D4 ,D5 - - Y1 Y2 Y1 Y2 - × ×
10 11-14 15 16 17 18 19 20 21-22
M2 M3 M3 M4 M4 M4 M4 M4 M4
× × × × × × ×
×
×
×
× ×
东北大学软件学院
NextDate函数的决策表测试用例 函数的决策表测试用例
用例ID 1-3 4 5 6-9 10 11-14 15 16 17 18 19 20 21-22 月份 4 4 4 1 1 12 12 2 2 2 2 2 2 日期 15 30 31 15 31 15 31 15 28 28 29 29 30 年 2001 2001 2001 2001 2001 2001 2001 2001 2004 2001 2004 2001 2001 预期输出 4/16/2001 5/1/2001 不可能 1/16/2001 2/1/2001 12/16/2001 1/1/2002 2/16/2001 2/29/2004 3/1/2001 3/1/2004 不可能 不可能
第三次尝试
M1 = {月份:每月有30天} M2 = {月份:每月有31天,12月除外} M3 = {月份:此月是12月} M4 = {月份:此月是2月} D1 = {日期:1≤日期≤27} D2 = {日期:日期=28} D3 = {日期:日期=29} D4 = {日期:日期=30} D5 = {日期:日期=31} Y1 = {年:年是闰年} Y2 = {年:年是平年} 东北大学软件学院
东北大学软件学院
佣金问题的测试用例
决策表分析不太适合佣金问题。这并不奇怪,因为在佣金问 决策表分析不太适合佣金问题。这并不奇怪, 题中只有很少的决策逻辑。 题中只有很少的决策逻辑。由于等价类中的变量是真正独立 在条件对应等价类的决策表中没有不可能规则。 的,在条件对应等价类的决策表中没有不可能规则。
东北大学软件学院
第二次尝试决策表
1 c1:月份 在 c2:日期 在 c3:年在 规则条数 统计 行为 a1:不可 能 a2:日期 增1 a3:日期 复位 a4:月份 增1 a5:月份 复位 a6:年增1 × × × × × × × × × ? ? ? ? ? ? × ? ? ? × × × × × × × M1 D1 - 3 2 M1 D2 - 3 3 M1 D3 - 3 4 M1 D4 - 3 5 M2 D1 - 3 6 M2 D2 - 3 7 M2 D3 - 3 8 M2 D4 - 3 9 M3 D1 Y1 1 10 M3 D1 Y2 1 11 M3 D1 Y3 1 12 M3 D2 Y1 1 13 M3 D2 Y2 1 14 M3 D2 Y3 1 15 M3 D3 - 3 16 M3 D3 - 3 17 M3 D4 - 3
C3:年 在: - - - - - - - - - - -
a1:不可 能
a2:日期 增1 × × ×
a3:日期 复位
a4:月份 增1
a5:月份 复位
a6:年增 1
第 三 次 尝 试 决 策 表
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
× × × × × × × × × × ×
东北大学软件学院
冗余决策表
条件 c1 c2 c3 a1 a2 a3 1-4 T - - × - × 5 F T T × × - 6 F T F × × × 7 F F T - × × 8 F F F - - × 9 T F F × - ×
东北大学软件学院
不一致的决策表
条件 c1 c2 c3 a1 a2 a3 1-4 T - - × - × 5 F T T × × - 6 F T F × × × 7 F F T - × × 8 F F F - - × 9 T F F - × -
决策表的分类
有限条目决策表:所有条件都是二叉条件的决策表。 有限条目决策表:所有条件都是二叉条件的决策表。 扩展条目决策表:条件有多个值的对应的决策表。 扩展条目决策表:条件有多个值的对应的决策表。
东北大学软件学院
三角形问题决策表
c1:a、b、c构成三角形? c2:a=b? c3:a=c? c4:c=b? a1:非三角形 a2:不等边三角形 a3:等腰三角形 a4:等边三角形 a5:不可能 × × × × × × × N - - - × × Y Y Y Y Y Y Y N Y Y N Y Y Y N N Y N Y Y Y N Y N Y N N Y Y N N N
×
×
- - Y1 Y2 Y1 Y2 - - × × × × ×
×
×
×
× ×
× ×
第三次尝试决策表精简
C1:月 份在: 1-3 4 5 6-9 M1 M1 M1 M2 C2:日 期在: C3:年 在: a1:不 可能 a2:日 期增1 × × × × × a3:日 期复位 a4:月 份增1 a5:月 份复位 a6:年 增1 D1, D2, - D3 D4 D5 - -
总结
• 决策表 • 决策表的应用
东北大学软件学院
东北大学软件学院
带有互斥条件的决策表
条件 c1:月份在M1中? c2:月份在M2中? c3:月份在M3中? a1 a2 a3 规则1 T - - 规则2 - T - 规则3 - - T
东北大学软件学院
规则条数统计
c1:a<b+c? c2:b<a+c? c3:c<b+a? c4:a=b? c5:a=c? c6:b=c? 规则条数统计 a1:非三角形 a2:不等边三角形 a3:等腰三角形 a4:等边三角形 a5:不可能 × × × × × × × F - - - - - 32 × T F F - - - 8 × T T T - - - 8 × × T T T T T T 1 T T T T T F 1 T T T T F T 1 T T T T F F 1 T T T F T T 1 T T T F T F 1 T T T F F T 1 T T T F F F 1
第七章 基于决策表的测试
东北大学软件学院
决策表
决策表的四个组成部分: 决策表的四个组成部分: • 条件桩; 条件桩; • 条件条目; 条件条目; • 行动桩; 行动桩; • 行动条目; 行动条目;
相关文档
最新文档