黑盒测试方法---决策表法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 类似地,有31天的月份day类D1、D2、D3和 D4也可合并,2月的D4和D5也可合并。
简化后的NextDate函数决策表
测试用例表
决策表测试的适用范围
• if-else逻辑突出;
–恒等: IF A THEN B –非: IF (NOT A) THEN B –或: IF (A OR B) THEN C –与:IF (A AND B) THEN C
a3; • 在c1为真c2为假条件下规则中的c3条目叫做
“不关心(条件无关或条件不适用)”条目 。 • 将任何一个条件组合的特定取值及相应要执 行的动作称为一条规则,在决策表中贯穿条 件项和动作项的一列就是一条规则。
决策表的生成----构造决策表的5个
步骤:
(1) 确定规则的个数。 有n个条件的决策表有2n个规则(每个条件取真、假值)。 (2) 列出所有的条件桩和动作桩。 (3) 填入条件项。 (4) 填入动作项,得到初始决策表。 (5) 简化决策表,合并相似规则。 若表中有两条以上规则具有相同的动作,并且在条件项之
案例分析
• month变量的有效等价类:
M1: {month=4,6,9,11}
M2: {month=1,3,5,7,8,10}
M3: {month=12}
M4: {month=2}
• day变量的有效等价类:
D1: {1≤day≤27}
D2: {day=28}
D3: {day=29}
D4: {day=30}
• 输入变量之间存在逻辑关系; • 涉及输入变量子集的计算; • 输入与输出之间存在因果关系;
适用于使用决策表设计测试用例:
• 规格说明以决策表形式给出,或较容易转换 为决策表;
• 条件的排列顺序不会也不应影响执行的操作; • 规则的排列顺序不会也不应影响执行的操作; • 当某一规则的条件已经满足,并确定要执行
D5: {day=31}
• ቤተ መጻሕፍቲ ባይዱear变量的有效等价类:
Y1: {year是闰年}
Y2: {year不是闰年}
• 程序中可能采取的操作有以下六种:
a1: 不可能
a2: day+1
a3:
day=1
a4: month+1
a5: month=1
a6: year+1
简化NextDate函数决策表
• 规则1、2、3都涉及有30天的月份day类D1 、D2和D3,并且它们的动作项都是day加1 ,因此可以将规则1、2、3合并。
√√

将“阅读指南”决策表简化
热热身吧
• 三角形问题决策表法设计测试用例。要求: a) 能判断其是否为三角形,非等边三角形,
等腰三角形,等边三角形。 b) 画出决策表,并简化。
三角形问题决策表
1. 1.确定规则个数。(有4个条件,每个条件两 个取值,故有24=16种规则)
1. 2.列出所有的条件桩和动作桩 2. 3.填入输入项 3. 4.填入动作项,得到初始决策表 4. 5.化简。(合并相似规则)
决策表的优点:
• 能够将复杂的问题按照各种可能的情况全 部列举出来,简明并避免遗漏。因此,利 用决策表能够设计出完整的测试用例集合。
• 最为严格,最具逻辑性的测试方法。
决策表的组成
• 决策表通常由以下4部分组成: 条件桩—列出问题的所有条件 条件项—针对条件桩给出的条件列出所有可能的取值 动作桩—列出问题规定的可能采取的操作 动作项—指出在条件项的各组取值情况下应采取的动作
请建立该需求的决策表,并绘制出化简(合并规 则)后的决策表。
• 2.某厂对一部分职工重新分配工作,分配原则是 :
(1)年龄不满20岁,文化程度是小学者 脱产学习,文化程度是中学者当电工;
(2)年龄满20岁但不足50岁,文化程度 是小学或中学者,男性当钳工,女性当车工;文 化程度是大学者技术员;
间存在极为相似的关系,便可以合并。 合并后的条件项用符号“-”表示,说明执行的动作与该条
件的取值无关,称为无关条件。
决策表的简化
• 简化是以合并相似规则为目标;
• 若表中有两条以上规则具有相同的动作, 并且在条件项之间存在极为相似的关系, 便可以合并。
YY
Y
NN
N
YN

√√

YY
Y
-N

NN
N
条件桩 条件项 动作桩 动作项
将任何一个条件组合的 特定取值及相应要执行 的动作称为一条规则。 在决策表中贯穿条件项 规 和动作项的一列就是一 则 条规则。
条件桩 决策表示例
条件项
动作桩
动作项
决策表的生成
• 若c1、c2、c3都为真,则采取动作a1和a2; • 若c1、c2都为真,c3为假,则采取动作a1和
三角形问题决策表
测试用例
决策表应用
• 决策表最突出的优点是,能够将复杂的问题 按照各种可能的情况全部列举出来,简明并 避免遗漏。
• 利用决策表能够设计出完整的测试用例集合。 • 运用决策表设计测试用例可以将条件理解为
输入,将动作理解为输出
NextDate函数的决策表测试用例设计
• M1:{month:month有30天} • M2:{month:month有31天,12月除外} • M3:{month:month是12月} • M4:{month:month是2月} • D1:{day:1≤day≤27} • D2:{day:day=28} • D3:{day:day=29} • D4:{day:day=30} • D5:{day:day=31} • Y1:{year:year是闰年} • Y2:{year:year不是闰年}
的操作后,不必检验别的规则;
• 如果某一规则的条件要执行多个操作任务, 这些操作的执行顺序无关紧要。
习题
1、某软件的一个模块的需求规格说明书中描述: “……对于功率大于50马力的机器或者维修记录
不全的或已经运行10年以上的机器应予以优先的维修处理 ……”。
这里假定“维修记录不全”和“优先维修处理”有严格 的定义。
软件测试
第3章 黑盒测试方法
——决策表法
目录
1
决策表法思想
2
决策表的生成
3 决策表法设计测试用例
4
决策表的简化
5
决策表应用
1 决策表法思想
• 决策表的概念:决策表是分析和表达多逻 辑条件下执行不同操作情况的工具。
决策表实例
• 在一些数据处理问题当中,某些操作的实 施依赖于多个逻辑条件的组合,即:针对 不同逻辑条件的组合值,分别执行不同的 操作。决策表很适合于处理这类问题。
相关文档
最新文档