第7章 基于决策表的测试
第7章 黑盒测试技术

g f e
a bcd
28
软件测试
强健壮等价类测试
所有等价类笛卡儿积的每个元素中获得测试用例
g f e
a bcd
29
软件测试
等价类划分法示意图
有效等价类
有效等价类
弱一般等价类测试用例 含无效等价类
强一般等价类测试用例 含无效等价类
弱健壮等价类测试用例
30
强健壮等价类测试用例
软件测试
使用等价类设计测试用例的要点
软件测试
等价类划分的测试运用(续)
程序输出是由这3条边构成的三角形类型:
➢ 等边三角形、等腰三角形、一般三角形或非三角形。
如果a、b和c满足Con1、Con2和Con3,则输出下列4种情况 之一:
① 如果不满足条件Con 4、Con 5和Con 6中有一个,则程序输 出为“非三角形”。
② 如果三条边相等,则程序输出为“等边三角形”。 ③ 如果恰好有两条边相等,则程序输出为“等腰三角形”。 ④ 如果三条边都不相等,则程序输出为“一般三角形”。
输入条件
等价类表
有效等价类
无效等价类
…
…
…
…
…
…
22
软件测试
实例
需求是:对用户输入的分数进行评级,其中90到100 为A,80-89为B,70-79为C,60-69为D,60以下为E 。输入分数要求必须是正整数或0。根据分析得出以 下等价类划分?
输入条件
有效等价类
分数 0-59
60-69
70-79
10
软件测试
黑盒测试用例设计方法包括:
➢ 等价类划分法 ➢ 边界值分析法 ➢ 因果图法 ➢ 基于决策表的测试法 ➢ 功能图法 ➢ 判定表组成法 ➢ 正交实验设计法 ➢ ......
软件质量测试试题

1.软件测试按照测试层次可以分为( c ) C.单元测试、集成测试和系统测试2、软件测试是采用( a )执行软件的活动。
A.测试用例3.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?答案:(d )1预防软件发生错误2发现程序错误3提供诊断错误信息A.只有1B.只有2C.只有3D.都是4、导致软件缺陷的最大原因是:(a )A.软件需求说明书5、测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,至少应该包括( a )A、测试输入、执行条件和预期的结果。
6、对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,这种行为属于( b )B.调试7、软件缺陷修复的代价最高的阶段为( a )A、发布阶段8、下列( b )是关于软件缺陷的描述。
B.产品的异常情况9、可作为测试停止的标准是( d )D.当达到所要求的覆盖时10、下列描述错误的是( a )A.软件发布后如果发现质量问题,那是软件测试人员的错11、如下图所示的N-S图,至少需要( b )个测试用例完成逻辑覆盖。
A.15B.16C.17D.1812、下列( c )方法设计出的测试用例发现程序错误的能力最强。
C.边界值分析法13、功能性测试是根据( a )来设计测试用例。
A、软件的规格说明14、在软件修改之后,再次运行以前为发现错误而执行程序曾用过的测试用例,这种测试称之为( c )C.回归测试15、( c )方法是根据输出对输入的依赖关系来设计测试用例的。
C.因果图法16、测试工程师的工作范围会包括检视代码、评审开发文档,这属于(b )B.静态测试软件测试的对象包括_____(44)____。
(44)A.目标程序和相关文档B.源程序、目标程序、数据及相关文档C.目标程序、操作系统和平台软件D.源程序和目标程序A● 软件测试类型按开发阶段划分是_____(45)____。
软件测试复习题含答案

一、选择题1、配置测试()(A) 是指检查软件之间是否正确交互和共享信息(B) 是交互适应性、实用性和有效性的集中体现(C) 是指使用各种硬件来测试软件操作的过程(D) 检查缺陷是否有效改正2、下列各项中______不是一个测试计划所应包含的内容()(A)测试资源、进度安排(B)测试预期输出(C)测试范围 (D)测试策略3、下列不属于正式审查的方式是________ ()(A)同事审查(B) 公开陈述(C) 检验(D) 编码标准和规范4、在没有产品说明书时使用____:()(A)探索测试(B) 功能测试(C) 动态测试(D) 静态测试5、调试是________。
()(A)发现与预先定义的规格和标准不符合的问题(B)发现软件错误征兆的过程(C)有计划的、可重复的过程(D)消除软件错误的过程6、在软件底层进行的测试称为________。
()(A) 系统测试 (B) 集成测试(C) 单元测试 (D) 功能测试7、在确定黑盒测试策略时,优先选用的方法是________。
()(A) 边界值分析法 (B) 等价类划分(C) 错误推断法 (D) 决策表方法8、下列_________不属于软件缺陷()(A) 测试人员主观认为不合理的地方(B) 软件未达到产品说明书标明的功能(C)软件出现了产品说明书指明不会出现的错误(D)软件功能超出产品说明书指明范围9、产品发布后修复软件缺陷比项目开发早期这样做的费用要高()(A)1~2倍 (B)10~20倍(C)50倍 (D)100倍或更高10、_____把黑盒子测试和白盒子测试的界限打乱了。
()(A) 灰盒子测试(B)动态测试(C)静态测试(D)失败测试11、软件测试的目的是________。
()(A)发现程序中的所有错误(B)尽可能多地发现程序中的错误(C)证明程序是正确的(D)调试程序12、下列_______不属于测试原则的内容()(A)软件测试是有风险的行为(B)完全测试程序是不可能的(C)测试无法显示潜伏的软件缺陷(D)找到的缺陷越多软件的缺陷就越少13、导致软件缺陷的最大原因是________。
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
决策表测试

行为
a 1 : 不可能 日期增1 a 2 : 日期增1 a 3 : 日期复位 月份增1 a 4 : 月份增1 a 5 : 月份复位 年增1 a 6 : 年增1
NextDate函数的决策表测试用例 函数的决策表测试用例
用例ID 月份 日期 年 1~3 4 15 2001 4 4 30 2001 5 4 31 2001 6~9 1 15 2001 10 1 31 2001 11~14 12 15 2001 15 12 31 2001 16 2 15 2001 17 2 28 2004 18 2 28 2001 19 2 29 2004 20 2 29 2001 21,22 2 30 2001 预期输出 2001年4月16日 2001年5月1日 不可能 2001年1月16日 2001年2月1日 2001年12月16日 2002年1月1日 2001年2月16日 2004年2月29日 2001年3月1日 2004年3月1日 不可能 不可能
续……
c 1 : 月份在 c 2 : 日期在 c 3 : 年在 11~14 M3 D1,D2,D3,D4 — 15 M3 D5 — 16 M4 D1 — 17 M4 D2 Y1 18 M4 D2 Y2 19 M4 D3 Y1 21, 20 21 ,22 M4 M4 D3 D4,D5 — Y2 X X X X X X X X X X X X
是否为 12月? 月
续……
9 c 1 : 月份在 M3 c 2 : 日期在 D1 c 3 : 年在 Y1 规则条数统计 1 行为 a 1 : 不可能 日期增1 a 2 : 日期增 1 X a 3 : 日期复位 月份增1 a 4 : 月份增 1 a 5 : 月份复位 年增1 a 6 : 年增 1 10 M3 D1 Y2 1 X X X X X X X 11 M3 D1 Y3 1 12 M3 D2 Y1 1 13 M3 D2 Y2 1 14 M3 D2 Y3 1 X 15 M3 D3 — 3 X 16 M3 D3 — 3 X 17 M3 D4 — 3 X
第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)的决策表。
软件测试技术知到章节答案智慧树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模型就经典的测试模型。
埃德格伦侧步测试方法与步骤

埃德格伦侧步测试方法与步骤引言:软件测试是保证软件质量的重要手段之一,而在软件测试中,侧步测试作为一种常用的测试方法,被广泛应用于软件开发过程中。
埃德格伦侧步测试方法是一种基于决策表的测试方法,本文将详细介绍埃德格伦侧步测试方法的步骤和应用场景。
一、埃德格伦侧步测试方法概述埃德格伦侧步测试方法是一种基于决策表的测试方法,它能够有效地识别和测试软件中的各种条件组合。
该方法通过对软件系统的输入和输出条件进行分析,构建决策表,并根据决策表设计测试用例,从而全面覆盖软件系统的各种可能情况,提高测试效率和测试覆盖率。
二、埃德格伦侧步测试方法的步骤1. 确定决策表的输入条件和输出条件:根据软件系统的需求规格说明书或功能规约,确定决策表的输入条件和输出条件。
输入条件是指影响软件系统行为的各种条件,输出条件是指软件系统对输入条件作出的反应或结果。
2. 构建决策表:将确定的输入条件和输出条件以表格的形式表示出来,构建决策表。
决策表的列代表输入条件,行代表输出条件,每个单元格表示特定的输入条件和输出条件的组合情况。
3. 确定决策表的覆盖策略:根据软件系统的需求和测试目标,确定决策表的覆盖策略。
常见的覆盖策略包括全覆盖、边界值覆盖、错误推测覆盖等。
4. 设计测试用例:根据确定的决策表和覆盖策略,设计测试用例。
测试用例应覆盖决策表中的各种条件组合,包括正常情况、边界情况和异常情况。
5. 执行测试用例:按照设计的测试用例,执行测试用例,并记录测试结果。
6. 分析测试结果:根据测试结果,分析软件系统的行为是否符合预期,发现和修复软件系统中的缺陷。
三、埃德格伦侧步测试方法的应用场景埃德格伦侧步测试方法适用于以下情况:1. 输入条件和输出条件较多:当软件系统的输入条件和输出条件较多时,使用埃德格伦侧步测试方法能够有效地识别和测试各种条件组合,提高测试效率。
2. 输入条件和输出条件之间存在复杂的关系:当软件系统的输入条件和输出条件之间存在复杂的关系时,使用埃德格伦侧步测试方法能够全面覆盖各种可能情况,发现潜在的问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
规则条数
对有限条目决策表,如果有n个条件,则 产生2n条规则。 在决策表中有不关心条目时,规则数的 统计:
没有不关心条目的规则数计为1; 规则中每出现一个不关心条目,规则数乘2。
构造决策表的步骤
列出所有的条件桩和动作桩 确定规则的个数 填入条件项 填入动作项,得到初始决策表 简化决策表,合并相似规则
决策表使用“不可能动作”的概念表示 条件的不可能组合,适用于处理变量之 间在输入定义域中存在逻辑依赖关系的 问题。
决策表总结
决策表的逻辑严格性,使我们开发和识 别完备决策表,解决冗余性和不一致性。 开发完备又不冗余的决策表,测试人员 必须在决策表中小心使用不关心条目!
练习
一个处理单价为5元钱的饮料自动售货机软件 测试用例的设计。规格说明如下:若投入5元 钱或10元钱,按下“橙汁”或“啤酒”的按钮, 则相应的饮料就送出来。若售货机没有零钱找, 则一个显示“零钱找完”的红灯亮,这时在投 入10元钱并按下按钮后,饮料不送出来而且10 元钱也退出来;若有零钱找,则显示“零钱找 完”的红灯灭,在送出饮料的同时退还5元钱。例。
~
(b)非
e1
因果图法的原理
a E b 异或 a R 要求 b 或 I
a b c a M 强制 图2.4 约束符号 b O
a
b 唯一
因果图的基本符号
恒等:若原因出现,则结果出现;若原因不出现, 则结果不出现。 非(~):若原因出现,则结果不出现;若原因 不出现,则结果出现。 或(V):若几个原因中有一个出现,则结果出 现;若几个原因都不出现,则结果不出现。 与(∧):若几个原因都出现,结果才出现;若 其中有一个原因不出现,则结果不出现。
决策表的化简 对于n个条件的决策表,相应有2n个 规则(每个条件分别取真、假值),当n 较大时,决策表很繁琐。实际使用决策 表时,常常先将它简化。决策表的简化 是以合并相似规则为目标。即若表中有 两条以上规则具有相同的动作,并且在 条件项之间存在极为相似的关系,便可 以合并。
NextDate函数—决策表测试的完美例子
因果图实例
分开原因和结果
原因:
1----第一列字符是A; 2----第一列字符是B; 3----第二列字符是一数字。 结果:21----修改文件; 22----给出信息L; 23----给出信息M。
因果图实例
因果图实例
因果图实例—中国象棋中走马测试用例设计
分析中国象棋中走马的实际情况 1、如果落点在棋盘外,则不移动棋子;2、如果落 点与起点不构成日字型,则不移动棋子;3、如果 落点处有自己方的棋子,则不移动棋子;4、如果 在落点方向的邻近交叉点有棋子(绊马腿),则不 移动棋子;5、如果不属于1-4条,且落点处无棋子, 则移动棋子;6、如果不属于1-4条,且落点处为对 方棋子(非老将),则移动棋子并除去对方棋子;7如 果不属于1-4条,且落点处为对方老将,则移动棋 子,并提示战胜对方,游戏结束。
因果图实例—中国象棋中走马测试用例设计
根据分析明确原因和结果 原因: 1、 落点在棋盘上; 2、 落点与起点构成日字; 3、 落点处为自己方棋子; 4、 落点方向的邻近交叉点无棋子; 5、 落点处无棋子; 6、 落点处为对方棋子(非老将); 7、 落点处为对方老将。
因果图实例—中国象棋中走马测试用例设计
结果: 21、不移动棋子; 22、移动棋子; 23、移动棋子,并除去对方棋子; 24、移动棋子,并提示战胜对方, 结束游戏。 添加中间节点11,作为导出结果的进一 步原因。
因果图实例—中国象棋中走马测试用例设计
因果图实例—中国象棋中走马测试用例设计
根据因果图建立判定表: ( 分为两表 )
决策表法
决策表基本术语
组成:
桩部分(位于表左侧列):包括条件桩和动作桩。 条目部分(右侧):包括条件项和动作项。 表中一列是一条规则(表示在规则的条件部分中指示的条件 环境下要采取的动作)。 动作项和条件项紧密相关,指出在条件项的各组取值情况下 应采取的动作。
条件桩
条件项
动作桩
动作项
规则
决策表基本术语
无关项
条件无关 条件不适用(—或N/A)
有限条目决策表:所有条件都是二叉条件(两 个取值,真/假,是/否,0/1)的决策表。 扩展条目决策表:条件可以有多个值的决策表。 注意:决策表中条件没有特别的顺序,动作发 生也没有特定的顺序。
使用技巧
标识测试用例时,把条件对应输入(输入的等 价类),动作对应输出(被测软件的主要功能 处理部分),每条规则对应一个测试用例。 在条件和动作中,不关心条目和不可能规则的 使用。(表7-2) 不同的条件选择方法可能会大大扩展决策表的 规模。 在条件中引入等价类的决策表。(表7-4) 决策表中规则数目的统计。
因果图的基本符号
从输入(原因)考虑四种约束 E(异或):表示两个原因不会同时成立, 两个中最多有一个可能成立。 I(或):表示三个原因中至少有一个必须 成立。 O(惟一):表示两个原因中必须有一个, 且仅有一个成立。 R(要求):表示两个原因,a出现时,b也 必须出现,a出现时,b不可能不出现。
因果图方法
是一种检查程序输入条件的各种组合情 况的逻辑模型。 使用因果图的好处
考虑了多个输入之间的相互组合、相互制约 关系 ; 能够帮助我们按一定步骤,高效率地选择测 试用例,同时还能为我们指出,程序规格说 明描述中存在着什么问题 。
因果图法的原理
1.因果图
c1 (a)恒等 c1 c1 c2 e1 c2 c3 (c)或 (d)与 图2.3 因果图的基本符号 e1 e1 c1
因果图的基本符号
从输出(结果)考虑一种约束 M(强制):两个结果,a为1时,b必须是0, 当a为0时,b值不定。
因果图方法
利用因果图生成测试用例的基本步骤:
确定软件规格中的原因和结果。分析软件规 格说明描述中,哪些是原因(即输入条件或 输入条件的等价类),哪些是结果(即输出条 件),并给每个原因和结果赋予一个标识符。 确定原因和结果之间的逻辑关系。分析软件 规格说明描述中的语义。找出原因与结果之 间,原因与原因之间对应的关系。根据这些 关系,画出因果图。
因果图方法
利用因果图生成测试用例的基本步骤:
确定因果图中的各个约束。由于语法或环境 限制,有些原因与原因之间,原因与结果之 间的组合情况不可能出现。为表明这些特殊 情况,在因果图上用一些记号表明约束或限 制条件。 把因果图转换为决策表。 把决策表的每一列拿出来作为依据,设计测 试用例。
在所有的黑盒测试方法中,基于决策表 的测试是最严格,最具有逻辑性的测试 方法,用来表示和分析复杂的逻辑关系。 主要用来描述不同条件集合下产生动作 的若干组合的情况。
决策表法
决策表 决策表是把作为条件的所有输入的各 种组合值以及对应输出值都罗列出来而 形成的表格。 它能够将复杂的问题按照各种可能的 情况全部列举出来,简明并避免遗漏。 因此,利用决策表能够设计出完整的测 试用例集合。
因果图方法
从因果图生成的测试用例(局部,组合 关系下的)包括了所有输入数据的取 TRUE与取FALSE的情况,构成的测试 用例数目达到最少,且测试用例数目随 输入数据数目的增加而线性地增加。
因果图实例
某软件规格说明中包含这样的要求: 第一列字符必须是A或B,第二列字 符必须是一个数字,在此情况下进行文 件的修改。但如果第一列字符不正确, 则给出信息L;如果第二列字符不是数字, 则给出信息M。
第7章 基于决策表的测试
前面介绍的等价类划分方法和边界值分析方法, 都是着重考虑输入条件,但未考虑输入条件之 间的联系,相互组合等。考虑输入条件之间的 相互组合,可能会产生一些新的情况。但要检 查输入条件的组合不是一件容易的事情,即使 把所有输入条件划分成等价类,他们之间的组 合情况也相当多。因此必须考虑采用一种适合 于描述对于多种条件的组合,相应产生多个动 作的形式来考虑设计测试用例。