




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高效测试用例设计(3) 判定表与因果图法,内部资料,请勿外传,技术质量部 2009年08月,软件测试基础系列培训 st-2009-006,范围与目标,课程目标: 理解判定表和因果图法概念 掌握判定表和因果图法设计测试用例方法,2,内容提要,第一节:判定表法 判定表的概念 判定表的组成 判定表的建立 判定表法举例 第二节:因果图法 第三节:实例讲解,3,引入判定表,4,客户订货单中, 价格在500以上, 且没有过期的, 发出提货单和发货单;在500以上, 已过期的, 只发提货单, 在500以下的,不论是否过期,都发出提货单和发货单, 其中已过期的,还发出客户通知单,判定表的概念,判定表是分析和表达多逻辑条件下执行不同操作的情况的工具 其优点: 将复杂的问题按照各种可能的情况全部列举出来 简明并避免遗漏 能够设计出比较完整的测试用例集合,5,判定表的概念(续),适用于 针对不同逻辑条件的组合值,分别执行不同的操作 如if else 或者switch case这种选择结构 不能表达重复执行的动作,例如循环结构,6,判定表的组成,判定表通常由4部分组成:,7,条件桩,条件项,动作桩,动作项,规则,判定表的组成(续),条件桩 列出问题的所有条件 条件项 针对条件桩给出的条件列出所有可能的取值 动作桩 列出问题规定的可能采取的操作 动作项 指出在条件项的各组取值情况下应采取的动作,8,判定表的组成(规则),规则 任何一个条件组合的特定取值及其相应要执行的操作称为规则 在判定表中贯穿条件项和动作项的一列就是一条规则。也即判定表中列出多少组条件取值,就有多少条规则,既条件项和动作项有多少列,9,判定表的组成(规则),规则化简 就是规则合并有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系,10,判定表的组成(规则),如下图左端,两规则动作项一样,条件项类似,在1、2条件项分别取y、n时,无论条件3取何值,都执行同一操作。即要执行的动作与条件3无关,于是可合并,“”表示与取值无关:,11,判定表的组成(规则),与上类似,下图中,无关条件项“”可包含其他条件项取值,具有相同动作的规则可合并,12,13,大家想一想如何将下表进行化简,判定表的组成(规则),14,判定表的组成(规则),化简后的判定表如下:,判定表的建立,15,构造判定表的5个步骤: 确定规则的个数 有n个条件的判定表有2n个规则(每个条件取真、假值) 列出所有的条件桩和动作桩 填入条件项 填入动作项,得到初始判定表 简化判定表,合并相似规则,判定表的应用,适用于使用判定表设计测试用例的条件: 规格说明以判定表形式给出,或较容易转换为判定表 条件的排列顺序不会也不应影响执行的操作 规则的排列顺序不会也不应影响执行的操作 当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则 如果某一规则的条件要执行多个操作,这些操作的执行顺序无关紧要,16,判定表法举例,”对功率大于50马力的机器且维修记录不全或已运行10年以上的机器,应给予优先的维修处理” 。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义 。请建立判定表,17,判定表法举例(续),(1)确定规则的个数:以上描述有3个条件,每个条件有两个取值,故应有2*2*2=8种规则,18,(2)列出所有的条件桩和动作桩,判定表法举例(续),(3)填入条件项,可从最后1行条件项开始,逐行向上填满,19,(4)填入动作桩和动作项,这样便得到形如下页的初始判定表,判定表法举例(续),20,课堂练习,以学生的奖学金评定为例,说明判定表的应用 决定受奖的条件为: 成绩优秀占70或50以上 成绩为中或中以下占15或20以下 团结纪律为优良或一般者 奖励方案为: 一等奖、二等奖、三等奖、鼓励奖四种 描述此学生奖励政策的判定表见下页:,21,课堂练习(续),22,内容提要,第一节:判定表法 第二节:因果图法 什么是因果图 使用因果图导出测试用例 因果图的基本图形符号和约束符号 因果图法举例 第三节:实例讲解,23,什么是因果图法,定义 利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况 产生的背景 等价类划分法和边界值分析方法没有考虑输入条件的各种组合及相互制约关系。可能忽视多个输入条件组合起来可能出错的情况 因果图适用于描述多种条件的组合、相应产生多个动作的形式,24,什么是因果图法(续),25,其优点 考虑了多个输入之间的相互组合及制约关系 能帮我们按一定步骤,高效率地选择测试用例 为我们指出程序规格说明描述中存在着什么问题 其缺点 输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到 即便得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例数目极其庞大,因果图的基本图形符号,因果图中用来表示4种因果关系的基本符号:,26,因果图的基本图形符号(续),图中的左结点ci表示输入状态(或称原因),右 结点ei表示输出状态(或称结果) ci 与 ei 取值0或1,0表示某状态不出现,1则表 示某状态出现 因果图中的4种基本关系 恒等:若 c1 是1,则 e1 也为1,否则 e1 为0 非:若 c1 是1,则 e1 为0,否则e1为1 或:若 c1 或 c2 或 c3 是1,则 e1 为1,否则 e1 为0 与:若 c1 和 c2 都是1,则 e1 为1,否则 e1 为0,27,因果图的约束符号,因果图中用来表示约束关系的约束符号:,28,因果图的约束符号(续),输入状态、输出状态相互之间可能存在某些依赖关系,称为“约束” 输入条件的约束:e、i、o、r输出条件的约束:m e约束(异):a和b中最多有一个可能为1,即a和b不能同时为1 i约束(或):a、b、c中至少有一个必须为1,即 :a、b、c不能同时为0 o约束(唯一):a和b必须有一个且仅有一个为1 r约束(要求):a是1时,b必须是1,即a为1时,b不能为0 m约束(强制):若结果a为1,则结果b强制为0,29,因果图导出测试用例的步骤,因果图法最终生成的是判定表 利用因果图生成测试用例的基本步骤如下: (1)分析原因(即输入条件或输入条件的等价类)和结果(即输出条件) (2)找出原因与结果之间、原因与原因之间对应关系, 画出因果图 (3)在因果图上用一些记号表明约束或限制条件,来表示有些原因与原因之间、原因与结果之间的组合情况不可能出现 (4)把因果图转换为判定表 (5)根据判定表中的每一列设计测试用例,30,因果图法举例,程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息n,如果第二个字符不是数字,则给出信息m,31,因果图法举例(续),解题步骤: (1)分析程序的规格说明,列出原因和结果 (2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图 (3)将因果图转换成判定表 (4)根据(3)中的判定表,设计测试用例的输入数据和预期输出,32,因果图法举例(续),33,(1)分析程序规格说明中的原因和结果:,因果图法举例(续),34,(2)画出因果图(编号为10的中间结点是导出结果的进一步原因):,35,(3)将因果图转换成判定表:,因果图法举例(续),36,因果图法举例(续),(4)根据判定表中的每一列设计测试用例:,内容提要,第一节:判定表法 第二节:因果图法 第三节:实例讲解 以自动售货机软件为例,37,38,有一个处理单价为3 元钱的饮料的自动售货机软件测试用例的设计 其规格说明如下:“若投入3或5元钱,押下橙汁或雪碧的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入5元并押下按钮后,饮料不送出来而且5元也退出来;若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还2元硬币。“,实例讲解,39,实例讲解(续),(1)分析这一段说明,列出原因和结果,40,实例讲解(续),(2) 画出因果图,如下页图所示。所有原因结点列在左边,所有结果结点列在右边。建立两个中间结点,表示处理的中间状态,41,实例讲解(续),2,1,3,4,25,12,11,14,21,13,24,22,23,5,e,e,售货机有零钱找,投入3元,投入5元,押下橙汁按钮,押下雪碧按钮,售货机零钱找完灯亮,送出橙汁饮料,退还5元,退还2元,送出雪碧饮料,钱付清,押下按钮,可找2元,该找2元,42,实例讲解(续),(3) 由于 2 与 3 ,4 与 5 不能同时发生,分别加上约束条件e (4) 转换成判定表 在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。第16列与第32列因什么动作也没做,也删去。最后可根据剩下的16列作为确定测试用例的依据。参看下页,课堂练习,以中国象棋中走马的测试用例设计为例学习因果图的使用方法,44,课堂练习(解答),45,分析中国象棋中走马的实际情况 1、如果落点在棋盘外,则不移动棋子; 2、如果落点与起点不构成日字型,则不移动棋子; 3、如果落点处有自己方棋子,则不移动棋子; 4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子; 5、如果不属于1-4条,且落点处无棋子,则移动棋子; 6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子; 7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。,课堂练习(解答),46,根据分析明确原因和结果 原因: 1、 落点在棋盘上; 2、 落点与起点构成日字; 3、 落点处为自己方棋子; 4、 落点方向的邻近交叉点无棋子; 5、 落点处无棋子; 6、 落点处为对方棋子(非老将); 7、 落点处为对方老将。,课堂练习(解答),47,结果: 21、不移动棋子; 22、移动棋子; 23、移动棋子,并除去对方棋子; 24、移动棋子,并提示战胜对方,结束游戏。 添加中间节点11,目的是作为导出结果的进一步原因,简化因果图导出的判定表,课堂练习(解答),48,2,1,3,5,24,7,4,11,23,21,22,6,0,e,课堂练习(解答),49,考虑结果不能同时发生,所以对其施加唯一约束o。原因5、6、7不能同时发生,所以对其施加异约束e. 根据因果图建立判定表(略),课程回顾,判定表和因果图的概念 判定表的组成和建立 因果图的基本符号和约束符号 因果图和判定表设计用例的步骤,50,问题思考,接口如何测试?,51,提问时间,欢迎大家提问、讨论!,52,课后作业(判定表),某厂对一部分职工重新分配工作,分配原则是: 年龄不满20岁,文化程度是小学者脱产学习,文化程度是中学者当电工。 年龄满20岁但不足
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医药费支付协议书
- 硬质合金精加工工岗位知识竞赛考核试卷及答案
- 没有房产证有购房协议书
- 风轮叶片制造工冲突处理能力考核试卷及答案
- 山西省乡宁县2026届数学九上期末检测试题含解析
- 江苏省宿迁市沭阳县2026届七年级数学第一学期期末复习检测试题含解析
- 重庆九龙坡区2026届数学九上期末检测模拟试题含解析
- 推广普通话课件教案
- 中国生物质能源元宇宙投资热点区域研究
- 2025标准居间代理合同范本
- 第二章 有理数及其运算 单元试卷(含答案)2025-2026学年北师大版七年级数学上册
- 印刷厂生产报表编制细则
- 幼儿防触电安全知识培训课件
- 仪表阀门培训课件
- 《诗经·卫风·淇奥》课件
- ULK1:细胞代谢调控网络中的关键节点-自噬与糖代谢的分子机制及功能解析
- 智能交通诱导
- 妇幼健康项目课件
- 梯田文化课件七年级
- CJ/T 164-2014节水型生活用水器具
- 消毒供应中心工作人员 职业安全和防护
评论
0/150
提交评论