黑盒测试方法——因果分析法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

NextDate函数的决策表
规则
1 2 3 4 5 6 7 8 9 10 11
选项
条 C1:month在 M1 M1 M M1 M1 M2 M2 M M M2 M3

C2:day在 C3:year在
1
22
D1 D2 D3 D4 D5 D1 D2 D3 D4 D5 D1
- - - - - - --- - -
1
行动
A1 0 0 0 1 0
1
A2 1 1 0 0 0
0
A3 1 0 1 0 1
0
黑盒测试方法——因果分析法
生成测试用例
(1)决策表中的条件——测试用例的输入条件 (2)决策表中的行动——测试用例的期望输出 (3)一条决策规则——一个测试用例
黑盒测试方法——因果分析法
因果分析法总结
Step1:分析规格说明书,识别原因和结果 Step2:在因果图连接原因和结果 Step3:标明原因之间以及结果之间的约束条件 Step4:因果图转换为因果图列表进而生成决策表 Step5:决策表的规则转换为测试用例
Con2. 1≤day≤31
Con3. 1900≤year≤2050
采用决策表法则可以通过使用“不可能 动作”的概念表示条件的不可能组合,来 强调这种依赖关系。
为了获得下一个日期,NextDate函数 需要执行的操作只有如下5种:
① day变量值加1; ② day变量值复位为1; ③ month变量值加1; ④ month变量值复位为1; ⑤ year变量值加1。
恒等(—)
非(~)
C
EC
E
或(∨)
C1 ∨E
C2
与(∧)
C1

E
C2
黑盒测试方法——因果分析法
因果图
4种输入约束:
(1)互斥(E):两个原因不能同时成立,最多有一个能成立 (2)包含(I):三个原因中至少有一个必须成立; (3)唯一(O):两个原因中必须有一个且只有一个成立; (4)要求(R):当C1成立,C2也必须成立;
黑盒测试方法——因果分析法
因果分析法基础
原理:
(1)软件的输入和输出之间存在逻辑关系,即因 果图; (2)因果图可从规格说明书中获得
过程:
需求规格
起因结果
说明书 生成因果列表 列表
决策表
建立决策表
生成测试用例
黑盒测试方法——因果分析法
因果图
符号:Ci表示原因 Ei表示结果 原因和结果的4种关系:
(1)恒等(—):
1种输出约束:
(1)屏蔽(M):当E1是1时,E2必须是0;当E1是0,E2的值不 定;
黑盒测试方法——因果分析法
因果图
互斥(E)
包含(I) 唯一(O)
要求(R)
C1
E
I
C1
C1
C1
C2 O
R
C2
C3
C2
C2
E1
M 屏蔽(M)
E2
黑盒测试方法——因果分析法
生成因果图
文件管理系统规格说明
(1)文件第一列的字符必须是一个A或B,且文件第 二列的字符必须是一个数字;
条件
3 3 3 3 4 4 4 444
C2:day在
D D D4 D5 D D D D D D D5
C3:year在
23
1 2 2 334
- - - - - Y1 Y2 Y Y - -
A1:不可能
12
√√ √
动 A2:day加1 √ √ √
√√
作 A3:day复位

√√
A4:month 加
√√
1
A5:month 复
的动作
决策规则:贯穿条件项和动作项的一列
黑盒测试方法——决策表 决策表构造
Step1:列出所有的条件桩和动作桩 Step2: 确定规则的个数 Step3: 填入条件项 Step4: 填入动作项,得到初始决策表 Step5:简化决策表,合并相似规则
规则可能总数:2n
黑盒测试方法——决策表 决策表化简
理解教材内容
NYN YNY N YN Y N Y N Y N Y
学习C++/Java语言
√√ √
√√√

学习软件工程

继续阅读
√√ √




√ √ √√ √ √ √
√√
放弃学习


√√
黑盒测试方法——决策表
决策表组成
4种成分:
(1)条件桩:列出所有可能问题(条件) (2)条件项:列出条件所有可能取值 (3)动作桩:列出可能采取的操作 (4)动作项:指出在条件项的各种取值情况下应采取
若Ci出现,则Ei出现;若Ci不出现,则Ei也不出现
(2)非(~):
若C出现,则E不出现;若C不出现,则E出现
(3)或(∨):
若几个Ci中有一个出现,则E出现;若几个Ci都不出现,则E不出现
(4)与(∧):
若几个Ci都出现,则结果出现;若其中一个Ci不出现,则E不出现
黑盒测试方法——因果分析法 因果图
简化目标:合并相似规则
相似规则判断: 有两条或以上规则具有相同动作,并且在条件项 之间存在极大相似,便可以合并
“—”: 表示合并后该条件项与取值无关,称“无关条件”
黑盒测试方法——决策表
决策表化简
《软件测试》阅读决策表化简
1,5 2,4 3 6,7,8 9,11 10,12 13,14 15,16
(2)在该情况下,文件是被修改了; (3)第一个字符不正确,则打印X12消息; (4)第二个不是数字,则打印X13消息;
黑盒测试方法——因果分析法
生成因果图
原因:
C1:第1列的字符是A C2:第1列的字符是B C3:第2列的字符是数字
结果:
E1:文件修改过 E2:打印消息X12 E3:打印消息X13
A1:不可能

动 A2:day加1 √ √ √
√ √√√

作 A3:day复位


A4:month加1


A5:month复

A6:year加1
NextDate函数的决策表
规则
1 1 14 15 1 1 1 1 2 2 22
选项
23
6 7 8 901
C1:month在 M M M M M M M M M M M4
如果将注意力集中到NextDate函数的日和
月问题上,并仔细研究动作桩。可以在以 下的等价类集合上建立决策表。
M1: {mouth: mouth有30天}; M2: {mouth:mouth有31天,12月除外}; M3: {mouth:mouth有12月}; M4: {mouth:mouth是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不是闰年}
黑盒测试方法——决策表
决策表方法原理
决策表并非因果图的一个辅助工具
适用情形: 输入输出较多且输入之间和输出之间互相制约的 条件较多
决策表: 把作为条件的所有输入的组合以及对应输出都罗 列出来形成的表格。
特点: 能将复杂问题按照各种可能情况全部列出,表示 简明,并避免遗漏
黑盒测试方法——决策表
生成决策表
【例2.5】 NextDate函数输入为month(月 份)、day(日期)和year(年),输出为输入后 一天的日期。例如,如果输入为:1964年8 月16日,则输出为1964年8月17日。要求 输入变量month、day和year都是整数值, 并且满足以下条件:
Con1. 1≤month≤12
2001
Test19
2
29
2004
Test20
2
29
2001
Test21-22 2
30
2001
能编写程序?
N NN N Y Y
Y
Y
熟悉软件工程?
━ NN Y N
N
Y
Y
问题
对软件测试感兴趣? N ━ Y ━ ━

N
Y
理解教材内容
N YN ━
N
Y


学习C++/Java语言
√√ √
学习软件工程
√√

建议
继续阅读





放弃学习


黑盒测试方法——决策表 测试用例生成
根据每一列的决策来生成测试用例
~D
4
D4
D5
Hale Waihona Puke Baidu
3
C3:year在 - - - - - - - - Y1 Y2 Y1 Y2 -
A1:不可能

√√
动 作
A2:day加1 A3:day复位




√√


√√
month加1


√√
month复位

A6:year加1

根据简化后的决策表,可设计测试用例如下
表所示。
测试用例 month day
《软件测试》阅读决策表
能编写程序?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 NNN NNN N NY Y Y Y Y Y Y Y

熟悉软件工程?
NNN NYY Y YN N N N Y Y Y Y
题 对软件测试感兴趣? N N Y Y N N Y Y N N Y Y N N Y Y


可进一步简化这22个测试用例。简化后的决 策表如下所示。
1~ 4 5 6~9 10 11 15 16 17 18 19 20 21
3
~1
~2
4
2
条 C1:month 件在
M1 M1 M1 M2 M2 M3 M3 M4 M4 M4 M4 M4 M4
C2:day在
D1 D4 D5 D1~D D5 D1~ D5 D1 D2 D2 D3 D3 D4,
year
预期输出
Test1-3 6
16
2001
Test4
6
30
2001
不可能
Test5
6
31
2001
不可能
Test6-9 1
16
2001
不可能
Test10
1
31
2001
Test11-14 12
16
2001
Test15
12
31
2001
Test16
2
16
2001
Test17
2
28
2004
Test18
2
28
黑盒测试方法——因果分析法 生成因果图
C1 E
C2
C4 ∨
E2

E1
C3
E3
黑盒测试方法——因果分析法
因果图列表
因果图列表:原因的所有组合及相应的结果组合
注意:某些原因的组合不存在
因果图列表示例
12 3 45
6
C1 0 0 0 0 1
1
输入(原因) C2 0 0 1 1 0
0
C3 0 1 0 1 0
1
E1 0 0 0 1 0
1
输出(结果) E2 1 1 0 0 0
0
E3 1 0 1 0 1
0
黑盒测试方法——因果分析法
生成决策表
方法: 原因——决策表中的条件 结果——决策表中的行动 原因与结果的组合——决策规则
决策表示例
12 3 45
6
条件
C1 0 0 0 0 1
1
C2 0 0 1 1 0
0
C3 0 1 0 1 0
相关文档
最新文档