第07章功能测试(03因果图法)讲义

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
出之间的逻辑关系,有利于设计全面的测试用例。
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
3
输入与输出关系
输入与输出之间的关系
• Ci:表示原因(Cause, 输入状态); • Ei:表示结果(Effect, 输出状态)。
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
4
输入或输出之间的约束
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
23
自动售货机问题
C1:售货机有零钱 C2:投入1元硬币 C3:投入5角硬币 C4:压下橙汁按钮 C5:压下啤酒按钮
E1:售货机“零钱找完”红灯亮 E2:退还1元硬币 E3:退还5角硬币 E4:送出橙汁饮料 E5:送出啤酒饮料
根据因果图, 就可以转化为 判定表。这里 根据条C2 与 C3、C4与C5 的E约束(互 斥),可以减
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
8
约束关系说明
R约束(要求):a是1时,b必须是1,即a为1时,b不能为0
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
9
约束关系说明
M约束:对输出条件的约束,若结果a为1,则结果b必须为0.
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
13
字符问题
原因:
C1:第一个字符是A; C2:第一个字符是B; C3:第二个字符是一个数字.
结果:
E1:修改文件; E2:给出信息L;(第一个字符不对给出信息L) E3:给出信息M;(第二个字符不对给出信息M)
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
14
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
2
因果图法
如果输入之间有关系,我们在测试时必须考虑输入 条件的各种组合,那么可以考虑使用一种适合于描
述对于多种条件的组合,相应产生多个动作的形式来设计 测试用例,这就需要利用因果图。
通过因果图,可以建立输入条件和输出之 间的逻辑模型,从而比较容易确定输入条件组合和输
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
12
字符问题
分析问题,按照如下步骤进行:
(1)根据软件规格说明书,列出原因和 结果.
(2)找出原因和结果之间的关系,原因 和原因之间的约束关系,画出因果图.
(3)将因果图转化为判定表 (4)根据判定表设计测试用例.
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
E约束(异): a,b最多有一个可能为1,不能同时为1.
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
6
约束关系说明
I约束(或): a,b,c中至少有一个必须为1,不能同时为0.
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
7
约束关系说明
O约束(惟一): a和b必须有一个且仅有一个为1
3. 由因果图转化成决策表,任何由输入与输出之间关系构成的路径,形成决策表的 一列
4. 将决策表的每一列拿出来作为依据,设计测试用例。一般来说,决策表中的每一 列对应一条测试用例。
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
11
字符问题
某个软件的规格说明书中规定:第一个字符必须是A或B,第 二个字符必须是一个数字,在此情况下进行文件的修改,但如 果第一个字符不正确,则给出信息L;如果第二个字符不正 确,则给出信息M。
实际问题中,输入状态之间或输出结果之间可能存在某些依 赖关系,这种依赖关系被称为约束.
在因果图中使用特定的符号来表示这些约束关系
E约束:互斥,排他 I约束:包含,或 O约束:唯一 R约束:要求 M约束:屏蔽
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
5
约束关系说明
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
19
自动售货机问题
橙汁
啤酒
5角
投币口
1元
零钱找完
退币口
取货
出货口
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
20
自动售货机问题
(1) 分析这一段说明,列出原因和结果
原因:
1. 售货机有零钱找 2. 投入1元硬币 3. 投入5角硬币 4. 按下橙汁按钮 5. 按下啤酒按钮
C2Fra Baidu bibliotek1 1 0 0 1 1 0 0
C3 1 0 1 0 1 0 1 0
10
1 11 10 0
E1


E2
√√
E3



不可能 √ √
测试 用例
A3 AM B3 BM C2 CM A5 A& B5 B* X6 D*
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
17
字符问题
设计测试用例
测试用例1: 输入数据:A3 预期输出:修改文件 测试用例2: 输入数据:AM 预期输出:给出信息M 测试用例3: 输入数据:B3 预期输出:修改文件 测试用例4: 输入数据:B* 预期输出:给出信息M 测试用例5: 输入数据:C2 预期输出:给出信息L 测试用例6: 输入数据:CM 预期输出:给出信息LM
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
21
自动售货机问题
结果:
21. 售货机〖零钱找完〗红灯亮 22. 退还1元硬币 23. 退还5角硬币 24. 送出橙汁饮料 25. 送出啤酒饮料
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
22
自动售货机问题
建立中间结点,表示处理中间状态:
11. 投入1元硬币且按下饮料按钮 12. 按下〖橙汁〗或〖啤酒〗的按钮 13. 应当找5角零钱并且售货机有零钱找 14. 钱已付清
第七章 功能测试 ——因果图法
崔建峰 jfcui@xmut.edu.cn
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
因果图法
等价类划分方法和边界值分析方法的不足
着重考虑输入条件,而不考虑输入条件的各种组 合,也不考虑输入条件之间的相互制约的关系,
但有时一些具体问题中的输入之间存在着相互依赖的关系, 如NextDate函数问题。
26
使用因果图法的优点
考虑了多个输入之间的相互组合、相互制约关 系;
能够帮助我们按一定步骤,高效率地选择测试 用例,同时还能为我们指出,程序规格说明描 述中存在着什么问题
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
27
谢 谢!
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
10
因果图法设计步骤
1. 分析软件规格说明书中的输入输出条件并划分出等价类,将每个输入输出赋予一 个标志符;分析规格说明中的语义,通过这些语义来找出多个输入因素之间的关 系。
2. 找出输入因素与输出结果之间的关联,将对应的输入与输出之间的关系关联起来 ,并将其中不可能的组合情况标注成约束或者限制条件,形成因果图。
输入条件 12345 组合
期望输出
11010
23,24
11001
23,25
11000
..
10110
24
10101
25
10100
..
10010
..
10001
..
01010
21,22
01001
21,22
01000
21
00110
21,24
00101
21,25
00100
21
00010
21
厦门理工学院 计0算00机0信1息工程学院软件工程系 崔建2峰1
字符问题
因果图
中间结果
C1
~ E2
∨ 10
C2
∧ E1
C3
E3
~
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
15
带有E约束的因果图
C1
~ E2
E
∨ 10
C2
∧ E1
C3
E3
~
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
16
将因果图转化为决策表
123 4 5 6 7 8
C1 1 1 1 1 0 0 0 0
少组合
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
24
自动售货机问题
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
25
编号
Test1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9 Test10 Test11 Test12 Test13 Test14 Test15 Test16
厦门理工学院 计算机信息工程学院软件工程系 崔建峰
18
自动售货机问题
例如,有一个处理单价为5角钱的饮料的自 动售货机软件测试用例的设计。其规格说明 如下:
若投入5角钱或1元钱的硬币,按下〖橙汁〗 或〖啤酒〗的按钮,则相应的饮料就送出来 。若售货机没有零钱找,则一个显示〖零钱 找完〗的红灯亮,这时在投入1元硬币并按 下按钮后,饮料不送出来而且1元硬币也退 出来;若有零钱找,则显示〖零钱找完〗的 红灯灭,在送出饮料的同时退还5角硬币。 ”
相关文档
最新文档