- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 2 3 11
22 给出信息L 21
修改文件
E
23 给出信息M
Janus Consulting
2005年6月29日
实用软件工程-软件测试
7.4 因果图
• 判定表
三 因 果 图
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7.4 因果图
• 一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格 说明如下:
一对一对应
否定
只要有一个原因出现, 则结果出现 2005年6月29日
所有原因同时出现,结果才 出现 Janus Consulting
实用软件工程-软件测试
7.3 因果图
• 原因与原因之间,结果与结果之间可能存在的约束条件:
三 因 果 图
a,b原因不会 a,b,c原因至 a,b原因中 同时成立,最 少有一个必须 必须且仅有 多有一个成立 成立 一个成立
Y Y Y
× ×
× × × × × ×
Action 停止阅读,请休息 Stub :列出问题
规定可能采取的行动 2005年6月29日
规则
Action Entry :在条件
组合下应采取的行动 Janus Consulting
实用软件工程-软件测试
7.6 基本组成
• 如果有二叉条件,则决策表的条件部分是旋转了90度的真值表 • 从而保证考虑了所有可能的条件值组合
判定表(决策表)
高效地描述对多种条件的组合情况 基本思想:通过分析原因和结果,列出类似 真值表的表格,清晰地表达各种条件组合
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7 因果图
• 原因 基本步骤 因果图 举例
2005年6月29日
Janus Consulting
实用软件工程-软件测试
三 因 果 图
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7 因果图
• 原因 基本步骤 因果图 举例
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7.3 因果图
• 原因:用Ci表示 • 结果:用Ei表示
三 因 果 图
• 状态:用各结点表示,取值“0”(状态不出现)或“1”(状态出现) • 原因和结果之间的主要关系:
Janus Consulting
2005年6月29日
实用软件工程-软件测试
7.8 决策表的生成
• 若问题要求:“…对功率大于50马力的机器、维修记录不全或已运行10年以上 的机器,应给予优先的维修处理…”
四 决 策 表
条件: 1. 功率大于50马力 2. 维修记录不全 7. 运行10年以上
1 功率大于50马力吗? 问 题 建 议 维修记录不全吗? 运行10年以上吗? 进行优先的维修处理 做其它处理 Y Y Y
决策表的完备性保证一种完备的测试
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7 决策表
• 原因 基本组成 决策表的化简 决策表的生成 测试用例的设计 讨论
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7.6 基本组成
Condition Stub:列出问题
2005年6月29日
17.应当找5角零钱且售货机有钱找 17.钱已付清
Janus Consulting
实用软件工程-软件测试
7.4 因果图
售货机有 零钱找
1 2 11 3 12 4 5
该找5角
21
售货机〖零钱 找完〗灯亮 币
三 因 果 图
投入1元硬 币
22 退还1元硬 13可找5角 14 把钱付清 24 25 23 退还5角硬
决策树?
If( 发货单金额超过$500 ) If ( 欠款超过60天 ) 在偿还欠款前不予批准 Else 发批准书及发货单
× × × × × × × ×
Endif Else If( 欠款超过60天) 发批准书、发货单及赊欠报告 Else 发批准书及发货单
检查 发货单
欠款>60 不发批准书 金额 >500 欠款<=60 发批准书、发货单
的所有条件
1 2 Y Y N 3 Y N Y 4 Y N N
Condition Entry :针对左列
• 读书指南决策表
条件取值,给出真假值
5 N Y Y 6 N Y N 7 N N Y 8 N N N
四 决 策 表
你觉得疲倦吗? 问 题 你对内容感兴趣吗? 书中的内容使你糊涂? 请回到本章开头重读 建 议 继续读下去 跳到下一章去读
四 决 策 表
决策表的完备性保证一种完备的测试
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7 决策表
• 原因 基本组成 决策表的化简 决策表的生成 测试用例的设计 讨论
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7.7 决策表的化简
• 设法合并具有相同动作、且条件项相似的规则
× × × × ×
不关心条目对完整决策 停止阅读,请休息 树的识别有微妙影响。
2005年6月29日
Janus Consulting
实用软Leabharlann Baidu工程-软件测试
7.7 决策表的化简
• 决策树:用于表达逻辑,常比决策表更直观。
四 决 策 表
2005年6月29日
Janus Consulting
实用软件工程-软件测试
四 决 策 表
1 你觉得疲倦吗? 问 题 你对内容感兴趣吗? 书中的内容使你糊涂吗? 请回到本章开头重读 建 议 继续读下去 跳到下一章去读 Y Y Y
2 Y Y N
3 Y N Y
4 Y Y N N N -
5 N Y Y
6 N Y N
7 N N Y
8 N N N N N -
×
不关心条 目×
× × ×
采取的措施: 1. 进行优先的维修处理 2. 做其它处理
2 Y Y N 3 Y N Y 4 Y N N 5 N Y Y 6 N Y N 7 N N Y 8 N N N
×
×
× ×
× ×
× ×
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7.8 决策表的生成
• 检查发货单
1 条 件 操 作 发货单金额 赊欠情况 不发批准书 发出批准书 发出发货单 发出赊欠报告 >60 2 <=60 3 >60 4 <=500 <=60 >500 >500 <=500
7.2 基本步骤
• 分析规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些 是结果(即输出条件),给每个原因和结果赋予一个标识符 • 分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应 的关系,根据这些关系,画出因果图 • 受语法或环境限制,有些原因与原因之间、原因与结果之间的组合情况不可能 出现,为标明这些特殊情况,在因果图上用特殊记号标明约束或限制条件 • 将因果图转换成判定表 • 以决策表的每一列为依据,设计测试用例
三 因 果 图
若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮, 则相应的饮料就送出来。 若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时 在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出; 若售货机有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料 的同时退还5角硬币。” 结果: 21. 售货机〖零钱找完〗灯亮 原因: 1. 售货机有零钱找 22. 退还1元硬币 2. 投入1元硬币 27. 退还5角硬币 7. 投入5角硬币 27. 送出橙汁饮料 7. 押下橙汁饮料 25. 送出啤酒饮料 5. 押下啤酒饮料 11.投入1元硬币并押下饮料按钮 12.押下〖橙汁〗或〖啤酒〗按钮
通过增加行动,可显示何时规则在逻辑上不可能满足 通过条件选择,可大大扩展决策表的规模 若条件引用了等价类,则“—”的实际含义为:“必须失败”
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7 决策表
• 原因 • 基本组成 • 决策表的化简 • 决策表的生成 • 测试用例的设计 • 讨论
Endif 金额 欠款>60 发批准书、发货单和赊欠报告 <=500 Endif 欠款<=60 发批准书、发货单
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7 决策表
• 原因 基本组成 决策表的化简 决策表的生成 测试用例的设计 讨论
2005年6月29日
Janus Consulting
能构成三角形?
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7.9 测试用例的设计
输入条件的等价类 • 三角形问题的决策表 D1={<a,b,c>|a>=b+c} D2={<a,b,c>|b>=a+c} 通过增加行动,显示何时规则在逻辑上不可能满足
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7 决策表
• 原因 基本组成 决策表的化简 决策表的生成 测试用例的设计 讨论
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7.5 产生的原因
• 因果图法太麻烦,而且全冗余
四 决 策 表
决策表 是功能性测试方法中最严格的。
7.9 测试用例的设计
• 三角形问题
四 决 策 表
三角形类型?
输出的等价类 R1={<a,b,c>|有三条边a,b,c的等边三角形} R2={<a,b,c>|有三条边a,b,c的等腰三角形} R3={<a,b,c>|有三条边a,b,c的不等边三角形} R4={<a,b,c>|三条边a,b,c不构成三角形}
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7.8 决策表的生成
• 根据软件规格说明,确定规则个数 • 类出所有条件桩
四 • 填入条件项Condition Entry 决 • 填入动作项Action Entry 策 • 化简 表
可能需要迭代进行 注意完备性、无冗余性和一致性。
实用软件工程-软件测试
7.1 产生的原因
• 边界值测试和等价类测试未考虑输入条件的各种组合及输入条件之间的 联系,所以忽略了多个输入条件组合起来出错的情况 • 检查输入条件的组合并非易事
三 因 果 图
“学生标准化考试批阅试卷,产生成绩报告”的程序 应检查试题数与学生人数的成绩是否会超出存储容量
因果图
2005年6月29日
当a出现,b 当a为1时, 也必须出现 b必须为0, 当a为0时, b的值不定 Janus Consulting
实用软件工程-软件测试
7 因果图
• 原因 基本步骤 因果图 举例
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7.4 因果图
• 一个软件的规格说明中包含如下要求:
7.7 决策表的化简
• 决策表保证所有可能的条件值组合都能考虑到
四 决 策 表
完备的测试 有限条目决策表——所有条件都是二叉条件
若有n个条件,必须有( 2n)条规则,每条规则对应一个测试用例。 若存在不关心项,则规则中每出现一个不关心项,规则数乘1次 2。
扩展条目决策表——条件可以有多个值 条件的顺序没有要求
实用软件工程-软件测试
7.9 测试用例的设计
• 用决策表表示测试用例,则输入即为条件,输出即为行动,有 时,条件最终引用输入的等价类,行动则引用软件的主要功能 处理部分
四 • 决策表可机械地强制为完备的,故可得到测试用例的完整集合 决 策 表
2005年6月29日
Janus Consulting
实用软件工程-软件测试
币 送出橙汁 饮料 送出啤酒 饮料
Janus Consulting
E
投入5角硬 币
押下橙汁 按钮
押下按钮
E
押下啤酒 按钮
2005年6月29日
实用软件工程-软件测试
7.4 因果图
• 判定表
三 因 果 图
2005年6月29日
Janus Consulting
实用软件工程-软件测试
第七章-决策表
• 因果图 • 基于决策表的测试
实用软件工程课程体系
《软件测试》 -软件测试方法
因果图和决策表测试方法
实用软件工程-软件测试
第七章 -因果图
• 因果图 • 基于决策表的测试
2005年6月29日
Janus Consulting
实用软件工程-软件测试
7 因果图
• 原因 基本步骤 因果图 举例
2005年6月29日
Janus Consulting
三 因 果 图
第一列字符必须是A或B,第二列字符必须是一个数字,在此情况 下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果 第二列字符不是数字,则给出信息M。 结果: 21. 修改文件 原因: 1. 第一列字符是A 22. 给出信息L 2. 第一列字符是B 27. 给出信息M 7. 第二列字符是一数字 第一列字 符是A 第一列字 符是B 第二列字符是 一数字