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

• 条目部分中的一列就是一条规则。 条目部分中的一列就是一条规则。 • 规则指示在规则的条件部分中指示的条件环境下要采取什么 行动。 行动。 • “—”叫“不关心”:条件无关或条件不适用。 不关心” 条件无关或条件不适用。
表示方法
• 使用决策表标识测试用例,则把条件 解释为输入,行动解释为输出。 • 有时条件最终引用输入的等价类,行 为引用被测试软件的主要功能处理部 分,规则则解释为测试用例。
NextDate函数的精简决策表(7-15) 函数的精简决策表( 函数的精简决策表 )
c 1 : 月份在 c 2 : 日期在 c 3 : 年在 行为 a 1 : 不可能 日期增1 a 2 : 日期增 1 a 3 : 日期复位 月份增1 a 4 : 月份增 1 a 5 : 月份复位 年增1 a 6 : 年增 1 1~3 6~9 4 5 10 M1 M1 M1 M2 M2 D1,D2,D3 D4 D5 D1,D2,D3,D4 D5 — — — — — X X X X X X X
3 M1 D3 —
4 M1 D4 —
5 M1 D5 — X
6 M2 D1 —
7 M2 D2 —
8 M2 D3 —
9 M2 D4 —
10 M2 D5 —
X
X X X
X
X
X
X X X
续……
此月是12月 此月是 月 此月是2月 此月是 月 年是闰年
c 1 : 月份在 c 2 : 日期在 c 3 : 年在 行为 a 1 : 不可能 日期增1 a 2 : 日期增 1 a 3 : 日期复位 月份增1 a 4 : 月份增 1 a 5 : 月份复位 年增1 a 6 : 年增 1
第二次尝试
• 第二次尝试使用的条件
测试理论笔试题及答案

测试理论笔试题及答案一、选择题1.测试的目的是什么?– A. 验证软件是否满足需求– B. 提高软件的可靠性和稳定性– C. 发现软件中的错误和缺陷– D. 以上皆是答案:D2.以下哪项不是测试活动的一部分?– A. 用例设计– B. 编码实现– C. 缺陷跟踪– D. 缺陷修复答案:B3.下面哪种测试用于评估系统的功能完整性以及系统与外部组件之间的交互是否正常?– A. 单元测试– B. 集成测试– C. 系统测试– D. 验收测试答案:C4.以下哪项不属于测试用例编写的原则?– A. 测试用例应该覆盖所有的场景和情况– B. 测试用例应该易于理解和执行– C. 测试用例应该遵循固定的格式– D. 测试用例应该具有独立性和可重复性答案:C5.什么是回归测试?– A. 重新执行已经通过的测试用例– B. 执行一组特定的测试用例来检查修改是否引入了新的错误– C. 重复执行已经失败的测试用例– D. 执行全面的测试以验证软件是否完全符合要求答案:B二、填空题1.测试用例应包括测试的________,输入数据和预期的________。
答案:步骤,结果2.________导致了软件发生错误或不符合规格要求的行为,被称为缺陷。
答案:程序或设计的错误3.为了有效跟踪缺陷,通常使用________系统来记录和管理缺陷。
答案:缺陷跟踪4.接口测试是一种测试类型,用于检查不同组件之间的________是否正常。
答案:交互5.________测试是一种测试方法,通过模拟用户的操作和输入来评估软件的易用性和用户体验。
答案:用户界面三、简答题1.请说明测试驱动开发(Test-Driven Development,TDD)的基本原则及流程。
答案:测试驱动开发是一种软件开发方法论,其基本原则是在编写功能代码之前先编写测试代码。
流程如下:–编写测试:根据需求编写测试,定义输入、预期输出和测试方法。
–运行测试:运行测试代码,确认测试失败。
决策树决策表练习题与参考答案

1.某厂对一部分职工重新分配工作,分配原则是:
⑴年龄不满20岁,文化程度是小学者脱产学习,文化程度是中学者当电工;
⑵年龄满20岁但不足50岁,文化程度是小学或中学者,男性当钳工,女性当车工;文化程度是大专者,当技术员。
⑶年龄满50岁及50岁以上,文化程度是小学或中学者当材料员,文化程度是大专者当技术员。
优化后的决策表如下:
2、试画出某企业库存量监控处理的判断树。
若库存量≤0,按缺货处理;若库存量≤库存下限,按下限报警处理;若库存量>库存下限,而又≤储备定额,则按订货处理;若库存量>库存下限,而又>储备定额,则按正常处理;若库存量≥库存上限,又>储备定额,则按上限报警处理。
3某货运站收费标准如下:
若收件地点在本省,则快件6元/公斤,慢件4元/公斤;
若收件地点在外省,则在25公斤以内(包括25公斤),快件8元/公斤,慢件6元/公斤;而超过25公斤时,快件10元/公斤,慢件8元/公斤;
画出决策表和决策树:
决策表:
优化后的结果如下所示:决策树:
收费
本省
外省快件
慢件
快件
慢件
≤25斤
>25斤
≤25斤
>25斤
6元
4元
8元
10元
6元
8元
地点规格重量收费金额
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求。
决策表

0
0
━
1
0
━
━
0
P
P
P
练习
根据输入3条边(a,b,c)边长的值来判 断是否构成一个构成一个三角形,如果 是三角形,继续判断是一般三角形、等 腰三角形还是等边三角形。假定a、b、c 只能输入大于零的数,不考虑a、b、c为 负数和取零的情况。
试构造其决策表
NextDate函数的决策表测试用例设计
根据所执行的操作,可列出NextDate函数的动 作桩:
a1: 不可能; a2: day加1; a3: day复位; a4: month加1; a5: month复位; a6: year加1
考虑到决策表的规模,条件使用month、day、 year变量的等价类,在以下等价类集合上建立决策 表: 对于month变量的取值:
解法如下:
确定规则的个数。对于本题有2个条件(销售、库存),每 个条件可以有两个取值,故有22=4种规则。
列出所有的条件桩和动作桩。
填入条件项。
填入动作项,得到初始决策表
规则
选项
1
2
3
4
条件:
C1:销售好?
T
T
F
F
C2:库存低?
T
F
T
F
动作:
a1:增加生产
√
a2:继续生产
√
√
a3:停止生产
适用于使用决策表设计测试用例的条件
规格说明以决策表形式给出,或较容易转换为决 策表。
条件的排列顺序不会也不应影响执行的操作。 规则的排列顺序不会也不应影响执行的操作。
当某一规则的条件已经满足,并确定要执行的操 作后,不必检验别的规则。
7(1) 基于决策表的测试

—
— — —
—
F
T
T T T
T
T T F
T
T F T
T
T F F
T
F T T
T
F T F
T
F F T
T
F F F X
— — — — — —
A1:非三角形
A2:不等边 A3:等腰 A4:等边 A5:不可能
X
X
X
X X X X X X X
安徽工程大学——计算机与信息学院
条件 C1:月份在M1中? C2:月份在M2中? C3:月份在M3中? 规则1 T — — 规则2 — T — 规则3 — — T
规则条数统计
A1
4
4
4
安徽工程大学——计算机与信息学院
13
第七章
基于决策表的测试
决策表使用技巧
在如下决策表中,有 3个条件,则应该有 8条规则。而实际上 有 12 条规则,显然有问题。为了找出问题所在,我们扩展三 条规则,用T或F代替“—”。
7
第七章
基于决策表的测试
练习:
以下列问题为例给出构造决策表的具体过程。
如果某产品销售好,且库存低,则增加该产品的生产; 如果该产品销售好,但库存量不低,则继续生产; 若该产品销售不好,但库存量低,则继续生产; 若该产品销售不好,且库存量不低,则
安徽工程大学——计算机与信息学院
14
第七章
基于决策表的测试
决策表使用技巧
在上图的所有条目中,所有条目都是T的规则有三条:规则1.1、 2.1和3.1;条目是T、T、F的规则有两条:规则1.2和2.2;类似 地,规则 1.3 和 3.2、规则 2.3和 3.3也是一样的。如果去掉这种 重复,最后可得到7条规则, 缺少所有条件都是假的规则。
软件测试(14)--黑盒测试案例设计技术--基于决策表的测试

软件测试(14)--黑盒测试案例设计技术--基于决策表的测试决策表,也叫判定表。
在所有的功能性测试方法中,基于决策表的测试方法被认为是最严格的,因为决策表具有逻辑严格性。
人们使用两种密切关联的方法:因果图法和决策表格法。
与决策表相比,这两种方法使用起来更麻烦,并且全冗余。
决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。
在程序设计发展的初期,决策表就已被用作编写程序的辅助工具了。
它可以把复杂的逻辑关系和多种条件组合的情况表达得比较明确。
1、决策表的组成决策表通常由4个部分组成,如下图:●条件桩(condition stub):列出了问题的所有条件。
通常认为列出的条件的次序无关紧要。
●动作桩(action stub):列出了问题规定可能采取的操作。
这些操作的排列顺序没有约束。
●条件项(condition entry):列出针对它所列条件的取值,在所有可能情况下的真假值。
●动作项(action entry):列出在条件项的各种取值情况下应该采取的动作。
●规则:任何一个条件组合的特定取值及其相应要执行的操作。
在决策表中贯穿条件项和动作项的一列就是一条规则。
显然,决策表中列出多少组条件取值,也就有多少规则,条件项和动作项就有多少列。
2、决策表建立决策表的建立应该根据软件规格说明,步骤如下:①确定规则的个数。
假如有n个条件,每个条件有两个取值(0,1),故有2n种规则。
②列出所有的条件桩和动作桩。
③输入条件项。
④填入动作项。
制定初始决策表。
⑤简化。
合并相似规则或者相同动作。
Beizer(《Software Testing Techniques》的作者)指出了适合使用决策表设计测试用例的条件:①规格说明以决策表的形式给出,或很容易转换成决策表。
②条件的排列顺序不影响执行哪些操作。
③规则的排列顺序不影响执行哪些操作。
④当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
⑤如果某一规则要执行多个操作,这些操作的执行顺序无关紧要。
软件测试中的决策表技术

软件测试中的决策表技术在软件测试中,决策表技术是一种被广泛应用的测试方法。
决策表是一种以表格形式呈现的测试设计工具,能够清晰地表达系统的规则和条件,并帮助测试人员针对不同情况进行测试。
决策表技术的基本原理是,将系统的输入条件、输出结果以及各种规则和约束整理成一张表格,每一行代表一个测试用例,利用这些测试用例来检查系统的正确性。
以下是决策表技术的一般步骤:1. 确定系统的输入条件和输出结果:在进行软件测试之前,首先需要明确系统的输入条件和输出结果。
这些输入条件和输出结果可以是系统的功能需求、运行环境、用户需求等。
2. 列举所有可能的情况:根据系统的输入条件,列出所有可能的情况,并将它们归类。
每一列代表一种情况,每一行代表一种组合。
3. 确定规则和约束:在决策表中,每一列代表一种情况,每一行代表一种组合。
在表格中,可以使用逻辑运算符如AND、OR等来表示各种条件之间的关系,并用“是”和“否”来表示每一种情况下的输出结果。
4. 生成测试用例:根据决策表中的各种组合,生成相应的测试用例。
每一个测试用例都可以通过对应的行和列确定,并包含了系统的输入条件和预期的输出结果。
5. 执行测试用例:根据生成的测试用例,执行测试过程,并记录实际的输出结果。
6. 比较实际结果和预期结果:对于每一种情况,比较实际的输出结果和预期的输出结果。
如果两者一致,则说明系统在这种情况下的行为是正确的;如果不一致,则说明系统在这种情况下存在问题。
通过使用决策表技术,可以减少测试用例的数量,并覆盖系统中的各种情况。
同时,决策表技术还能够提高测试的可读性和可维护性,便于测试人员对测试用例的管理和维护。
然而,决策表技术也存在一些限制。
首先,对于复杂的系统,决策表可能会变得非常庞大,导致难以管理和维护。
其次,决策表技术只能检查系统是否符合规则,但不能检查是否存在其他不可预测的问题。
此外,决策表技术还需要测试人员具备一定的领域知识和逻辑思维能力,以确保生成的决策表正确和完整。
第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、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
问 题 建 议
功率大于50马力吗? 维修记录不全吗? 运行10年以上吗? 进行优先的维修处理 做其它处理
1 Y Y Y
2 Y Y N
6 N Y N
7 N N Y
8 N N N
× × ×
×
×
×
×
×
19
软件测试—功能性测试
4.4 决策表的生成
检查发货单
If( 发货单金额超过$500 )
四 决 策 表
发货单金额 赊欠情况 不发批准书 操 发出批准书 作 发出发货单 发出赊欠报告 条 件
17
软件测试—功能性测试
4.4 决策表的生成
四 决 策 表
根据软件规格说明,确定规则个数 列出所有条件桩 填入条件项Condition Entry 填入动作项Action Entry 产生决策表并化简
决策表的产生可能需要迭代进行 注意完备性、无冗余性和一致性。
18
软件测试—功能性测试
4.4 决策表的生成
11
N ×
Y N ×
Y Y N ×
Y Y Y Y Y Y
Y Y Y Y Y N
Y Y Y Y N Y
Y Y Y Y N N
Y Y Y N Y Y
Y Y Y N Y N
Y Y Y N N Y
Y Y Y N N N ×
×
×
×
软件测试—功能性测试
决策表的各种表示方法
增加一行规则条数统计
四 决 策 表
C1:a<b+c? C2:b<a+c? C3:c<a+b? C4:a=b吗? C5:a=c吗? C6:b=c吗? 规则条数统计 规则条数统计 A1:非三角形 A2:不等边三角形 A3:等腰三角形 A4:等边三角形 A5:不可能 N 32 × Y N 16 × Y Y N 8 × Y Y Y Y Y Y 1 Y Y Y Y Y N 1 Y Y Y Y N Y 1 Y Y Y Y N N 1 Y Y Y N Y Y 1 Y Y Y N Y N 1 Y Y Y N N Y 1 Y Y Y N N N 1 × × × ×
条件取值,给出真假值 决策表的各个部分例
桩
四 决 策 表
c1 条
c2 c3 a1
Y Y
Y N
N -
Y Y
Y N
N -
件
行 动
a2
a3
× ×
×
Action a4 Stub :列出问题规
定可能采取的行动
规则 if × then ×
× ×
×
组合下应采取的行动
Action × Entry :在条件 7
软件测试—功能性测试
四 决 策 表
若问题要求:“…对功率大于50马力的机器、维修记录 不全或已运行10年以上的机器,应给予优先的维修处 条件: 1. 功率大于50马力 采取的措施: 理…”
2. 维修记录不全 3. 运行10年以上 1. 进行优先的维修处理 2. 做其它处理 3 Y N Y 4 Y N N 5 N Y Y
14
-
Y -
Y
4
4
4
软件测试—功能性测试
4.3 决策表的化简
原因 基本组成 决策表的化简 决策表的生成 测试用例的设计 讨论
15
软件测试—功能性测试
4.3 决策表的化简
设法合并具有相同动作、且条件项相似的规则
1 2 Y
Y N
3 Y
N Y
4
5 N
Y Y
6 N
Y N
7 N
8
四 决 策 表
你觉得疲倦吗?
26
Y Y Y Y Y Y 1
Y Y Y Y Y N 1
Y Y Y Y N Y 1
Y Y Y Y N N 1
Y Y Y N Y Y 1
Y Y Y N Y N 1
Y Y Y N N Y 1
Y Y Y N N N 1
×
×
软件测试—功能性测试
4.5 测试用例的设计
改进的三角形问题的测试用例
四 决 策 表
Condition Stub:列出问题
的所有条件
4.2 基本组成
读书指南决策表
1 2 Y Y N 3 Y N Y 4 Y N N Y Y Y
Condition Entry :针对左列
5 N Y Y 6 N Y N 7 N N Y 8 N N N
条件取值,给出真假值
四 决 策 表
你觉得疲倦吗? 问 你对内容感兴趣吗? 书中的内容使你糊涂? 请回到本章开头重读 建 议 继续读下去 跳到下一章去读
问 你对内容感兴趣吗?
Y
Y Y
题 书中的内容使你糊涂吗? 请回到本章开头重读 建 继续读下去 跳到下一章去读 停止阅读,请休息
Y N -
Y
N N
NN N NN Y -N
不关心条 目 ×
×
× × ×× × ×××
16
议
软件测试—功能性测试
4 决策表
原因 基本组成 决策表的化简 决策表的生成 测试用例的设计 讨论
软件测试—功能性测试
软件测试
1
软件测试—功能性测试
功能性测试
边界值测试 等价类测试 基于决策表的测试 功能性测试的回顾
2
软件测试—功能性测试
4 决策表
原因 基本组成 决策表的化简 决策表的生成 测试用例的设计 讨论
3
软件测试—功能性测试
4.1 产生的原因
四 决 策 表
决策表方法是功能性测试方法 中最严格的。 决策表方法可以适用各种情况, 不必要求 数据的独立性
4.5 测试用例的设计
A4:等边三角形
A5:不可能
×
× ×
25
软件测试—功能性测试
4.5 测试用例的设计
改进的三角形问题的决策表
规则总数: 64个
四 决 策 表
对于有限条目决策表:若有n个条件,须有( 2n)条规则。若存在 不关心项,则规则中每出现一个不关心项,规则数乘1次 2。
C1:a<b+c? C2:b<a+c? C3:c<a+b? C4:a=b吗? C5:a=c吗? C6:b=c吗? 规则条数统计 A1:非三角形 A2:不等边三角形 A3:等腰三角形 A4:等边三角形 A5:不可能 N 32 × Y N 16 × Y Y N 8 × × × × × × ×
决策表的完备性保证一种完备的测试
4
软件测试—功能性测试
4 决策表
原因 基本组成 决策表的化简 决策表的生成 测试用例的设计 讨论
5
软件测试—功能性测试
Condition Stub:列出问题
的所有条件
4.2 基本组成
Condition Entry :针对左列
条件取值,给出真假值 决策表的各个部分
四 决 策 表
28
-
Y -Y4源自44软件测试—功能性测试
4.5 测试用例的设计
题
× ×
× × × × 规则 Action × If × Entry :在条件 8 then 组合下应采取的行动
Action 停止阅读,请休息 Stub :列出问题规
定可能采取的行动
软件测试—功能性测试
4.2 基本组成
决策表的特点
四 决 策 表
如果条件条目具有二值逻辑,则决策表 的条件部分是旋转了90度的真值表 保证覆盖所有可能的条件值组合
1 2 3 4 >500 >500 <=500 <=500 >60 <=60 >60 <=60
If ( 欠款超过60天 )
在偿还欠款前不予批准 Else 发批准书及发货单
×
× × × × × × ×
Endif Else If( 欠款超过60天) 发批准书、发货单及赊欠报告
检查 发货单
不发批准书 金额 欠款>60 >500 欠款<=60 发批准书、发货单
用决策表表示测试用例,则输入即为条 件,输出即为行动,有时,条件最终引 用输入的等价类,行动则引用软件的主 要功能处理部分 决策表可机械地强制为完备的,故可得 到测试用例的完整集合
22
软件测试—功能性测试
4.5 测试用例的设计
三角形问题
三角形类型? 四 决 策 表
输出的等价类
R1={<a,b,c>|有三条边a,b,c的等边三角形}
× × × × × × ×
24
× ×
软件测试—功能性测试
不关心条目对完整决策树 的识别有微妙影响。 改进的三角形问题的决策表 四 决 策 表
C1:a<b+c? C2:b<a+c? C3:c<a+b? C4:a=b吗? C5:a=c吗? C6:b=c吗? A1:非三角形 A2:不等边三角形 A3:等腰三角形 × × × × N × Y N × Y Y N × Y Y Y Y Y Y Y Y Y Y Y N Y Y Y Y N Y Y Y Y Y N N Y Y Y N Y Y Y Y Y N Y N Y Y Y N N Y Y Y Y N N N ×
12
×
×
× ×
软件测试—功能性测试
决策表的各种表示方法
有限条目决策表——所有条件都是二叉条件 四 决 策 表
若有n个条件,必须有( 2n)条规则,每条规则对应一个测试用例。 若存在不关心项,则规则中每出现一个不关心项,规则数乘一次 2。
扩展条目决策表——条件可以有多个值 条件的顺序没有要求
通过条件选择,可大大扩展决策表的规模
若条件引用了等价类,则“—”的实际含义为:“必须失 败” 13