第2章黑盒测试决策表

合集下载

第2章黑盒测试决策表

第2章黑盒测试决策表
决策表法是黑盒测试方法中最为严格、 最具有逻辑性的测试方法
2020/9/24
3
5.决策表法
5.2决策表:
2020/9/24
5
5.决策表法
决策表通常由四部分组成:
条件桩
条件项
动作桩
动作项
规则
2020/9/24
6
条件桩: 列出问题的所有条件
条件项:针对条件桩给出的条件列出所 有可能的取值
动作桩:给出问题规定的可能采取的操 作
动作项:与条件项紧密相关,指出在条 件项的各组取值情况下应采取的动作
项中的每一列是一条 规则
2020/9/24
7
5.决策表法
规则指示在条件部分中指示的条件环 境下要采取什么行动.
在上图的决策表中,如果条件1条件2为 真,而条件3条件4为假,那么采取行动 3.
11
(2)包含
如果两个条件项的动作是相同的,对任意 条件1的值和条件2中对应的值,如果满足:
A.如果条件1的值是T(F),则条件2中的值也 是T(F).
B.如果条件1的值是-(不关心),则条件2中的 值是T,F,-,称条件1包含条件2,条件2可以撤 去.
重复A,B就可以得到精简的决策表.
2020/9/24
28
5.决策表法
涉及的操作:
a1:不可能 a2:day加1 a3:day复位 a4:month加1 a5:month复位 a6:year加1
2020/9/24
29
第一次尝试
M1={月份:每月有30天} M2={月份:每月有31天} M3={月份:此月是2月} D1={日期:1≤日期≤28} D2={日期:日期=29} D3={日期:日期=30} D4={日期:日期=31} Y1={年:年是闰年} Y2={年:年是平年}

黑盒测试-决策表

黑盒测试-决策表

有多少条规则 ?
条件
1 2 3 4 5 6 7 8 9 10 11 12 13 ..
C1:月份在 M1 M1 M1 M1 M1 M1 M1 M1 M2 M2 M2 M2 M2 ..
C2:日在 C3:年在
D1 D1 D2 D2 D3 D3 D4 D4 D1 D1 D2 D2 D3 .. Y1 Y2 Y1 Y2 Y1 Y2 Y1 Y2 Y1 Y2 Y1 Y2 Y1 ..
实战演习2
列出所有的条件桩和动作桩; 填入条件项; 填入动作项,制定初始判定表; 简化、合并相似规则或者相同动作。
进一步优化
两项因素没有影响
优化
案例分析-三角形问题
1列出所有的条件桩和行动桩
条件桩
行动桩
C1:a<b+c? C2:b<a+c? C3:C<a+b? C4:a=b? C5:a=c? C6:b=c?
<=28} D2={日期:日期=29} D3={日期:日期=30} D4={日期:日期=31} Y1={年:年是闰年} Y2={年:年是平年}
C5:日期在D2中 C6:日期在D3中 C7:日期在D4中 C8:年是闰年 C9:年是平年
规则数?
2^9=512 太大!
新办法…
等价类
M1={月份:每月有30天} M2={月份:每月有31天} M3={月份:此月是2月} D1={日期:1<=日期
条件 C1:月份在{M1,M2,M3,m4}中之一 C2:日期在{D1,D2,D3,D4 ,D5}中之
一 C3:年在{Y1,Y2}中之一
问题:可得到 ?条规则
新的NextDate函数的扩展条目决策表:
条件 C1:月份在 C2:日在

软件测试第二次作业

软件测试第二次作业

软件测试第⼆次作业第2章⿊盒测试⼀、填空题1、等价类划分就是将输⼊数据按照输⼊需求划分为若⼲个⼦集,这些⼦集称为_等价类_______。

2、等价类划分法可将输⼊数据划分为__有效等价类______和____⽆效等价类____。

3、___边界值分析法_____通常作为等价类划分法的补充。

4、因果图中的___恒等_____关系要求程序有⼀个输⼊和⼀个输出,输出与输⼊保持⼀致。

5、因果图的多个输⼊之间的约束包括__E(互斥)______、___O_(唯⼀)____、__R(要求)______、______I_(包括)_四种。

6、决策表通常由_条件桩_______、___条件项_____、___动作桩_____、__动作项______四部分组成。

⼆、判断题1、有效等价类可以捕获程序中的缺陷,⽽⽆效等价类不能捕获缺陷。

(× )2、如果程序要求输⼊值是⼀个有限区间的值,可以划分为⼀个有效等价类(取值范围)和⼀个⽆效等价类(取值范围之外)。

(× )3、使⽤边界值⽅法测试时,只取边界两个值即可完成边界测试。

(× )4、因果图考虑了程序输⼊、输出之间的各种组合情况。

( √)5、决策表法是由因果图演变⽽来的。

( √)6、正交实验设计法⽐较适合复杂的⼤型项⽬。

( √)三、单选题1、下列选项中,哪⼀项不是因果图输⼊与输⼊之间的关系。

( A)A、恒等B、或C、要求D、唯⼀2、下列选项中,哪⼀项是因果图输出之间的约束关系。

(C )A、异B、或C、强制D、要求3、下列选项中,哪⼀项不是正交实验法的关键因素。

( D)A、指标B、因⼦C、因⼦状态D、正交表四、简答题1、请简述⼀下等价类划分法的原则。

(1)如果程序要求输⼊值是⼀个有限区间的值,则可以将输⼊数据划分为⼀个有效等价类和两个⽆效等价类,有效等价类为指定的取值区间,两个⽆效等价类分别为有限区间两边的值。

(2)如果程序要求输⼊的值是⼀个“必须成⽴”的情况,则可以将输⼊数据划分为⼀个有效等价类和⼀个⽆效等价类。

软件测试2_黑盒测试 (下)

软件测试2_黑盒测试 (下)
功率大于50马力吗 维修记录不全吗 运行超过10年吗

举例:维修机器问题(续)
(3)填入条件项;
1 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
功率大于50马吗?
Y Y Y
条 维修记录不全吗? 件
运行超过10年吗?
动 进行优先处理 作 作其他处理

利用集合的笛卡尔积计算条件项的取值
举例:维修机器问题(续)
(4)填入动作项;
1 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
功率大于50马力吗?
Y Y Y
条 维修记录不全吗? 件 动 进行优先处理 作 作其他处理

运行超过10年吗?








1,2合并,5,7合并,6,8合并
举例:维修机器问题(续)
(5)化简;
(1) 功率大于50马力吗? Y Y — (2) Y N Y (3) Y N N (4) N — Y (5) N — N
条 维修记录不全吗? 件
动 作 作其他处理
进行优先处理
运行超过10年吗?



基于判定表的测试
根据输入输出绘制 判定表;
设计测试用例覆盖 判定表中每条规则;
条件桩(Condition Stub )
列出问题的所有条件
动作桩(Action Stub )
列出可能采取的操作
条件项(Condition Entity)
列出条件桩的取值

软件测试(14)--黑盒测试案例设计技术--基于决策表的测试

软件测试(14)--黑盒测试案例设计技术--基于决策表的测试

软件测试(14)--黑盒测试案例设计技术--基于决策表的测试决策表,也叫判定表。

在所有的功能性测试方法中,基于决策表的测试方法被认为是最严格的,因为决策表具有逻辑严格性。

人们使用两种密切关联的方法:因果图法和决策表格法。

与决策表相比,这两种方法使用起来更麻烦,并且全冗余。

决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。

在程序设计发展的初期,决策表就已被用作编写程序的辅助工具了。

它可以把复杂的逻辑关系和多种条件组合的情况表达得比较明确。

1、决策表的组成决策表通常由4个部分组成,如下图:●条件桩(condition stub):列出了问题的所有条件。

通常认为列出的条件的次序无关紧要。

●动作桩(action stub):列出了问题规定可能采取的操作。

这些操作的排列顺序没有约束。

●条件项(condition entry):列出针对它所列条件的取值,在所有可能情况下的真假值。

●动作项(action entry):列出在条件项的各种取值情况下应该采取的动作。

●规则:任何一个条件组合的特定取值及其相应要执行的操作。

在决策表中贯穿条件项和动作项的一列就是一条规则。

显然,决策表中列出多少组条件取值,也就有多少规则,条件项和动作项就有多少列。

2、决策表建立决策表的建立应该根据软件规格说明,步骤如下:①确定规则的个数。

假如有n个条件,每个条件有两个取值(0,1),故有2n种规则。

②列出所有的条件桩和动作桩。

③输入条件项。

④填入动作项。

制定初始决策表。

⑤简化。

合并相似规则或者相同动作。

Beizer(《Software Testing Techniques》的作者)指出了适合使用决策表设计测试用例的条件:①规格说明以决策表的形式给出,或很容易转换成决策表。

②条件的排列顺序不影响执行哪些操作。

③规则的排列顺序不影响执行哪些操作。

④当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。

⑤如果某一规则要执行多个操作,这些操作的执行顺序无关紧要。

功能性测试

功能性测试

• • •
在n次循环的第0次、1次、n次是否有错误; 次循环的第0 次是否有错误; a[10 10]=90; 数组 int a[10]; a[10]=90; 计算机表示的数据的取值范围; 计算机表示的数据的取值范围;
2.2 边界值分析
边界值分析设计测试用例的基本思想: 边界值分析设计测试用例的基本思想: • 使用在略低于最小值、最小值、略高于最小值、正常值、 使用在略低于最小值、最小值、略高于最小值、正常值、 略低于最大值、最大值和略高于最大值处取输入变量值。 略低于最大值、最大值和略高于最大值处取输入变量值。 • 对于输出,同样可以应用上面的规则; 对于输出,同样可以应用上面的规则;
2.2 边界值分析
当多个变量取极值时会出现什么情况? 当多个变量取极值时会出现什么情况? 最坏情况测试: 最坏情况测试: • 是对每个变量,分别取最小值、略高于最小值、略低于最 是对每个变量,分别取最小值、略高于最小值、 小值、正常值、略低于最大值、 小值、正常值、略低于最大值、最大值和略高于最大值七元 素集合的测试,然后对这些集合进行笛卡儿积计算, 素集合的测试,然后对这些集合进行笛卡儿积计算,以生成 测试用例。 测试用例。
2.2 边界值分析
三角形问题有三个输入,即三条边a 三角形问题有三个输入,即三条边a、b、c,其取值范围为: 其取值范围为: 1 ≤ a ≤ 200 1 ≤ b ≤ 200 1 ≤ c ≤ 200 a b c = = = {0,1,2,100,199,200,201} 100,199,200,201} 100,199,200,201} {0,1,2,100,199,200,201} 100,199,200,201} {0,1,2,100,199,200,201}
第二章 功能性测试

第2章黑盒测试决策表

第2章黑盒测试决策表
(1)合并
如果一个条件项(表中某列中的条件值) 和另外一个条件项所产生的动作是相 同的,且两个条件项对应的每一行的值 只有一个是不同的,则可以将其合并.合 并的项除了不同值变成”不关心”条 目外,其余不变
2020/12/2
10
(1)两条规则合并成一条
条件项“— ”表示与取 值无关。
2020/12/2
A1:非三角形; A2:不等边三角形; A3:等腰三角形; A4:等边三角形; A5:不可能;
2020/12/2
24
5.决策表法
该条件可以扩展成: a+b>c
b+c>a
5.4三角形问题的决策表用例设计
c+a>b
2020/12/2
25
5.决策表法
三角形问题的扩展决策 表
条件:a,b,c是否可以 构成三角形
X
XX
a位
X
a6:年增1
X
NextDate函数的精简判定表
c1:月份在 c2:日期在 c3:年在 行为 a1:不可能 a2:日期增1 a3:日期复位 a4:月份增1 a5:月份复位 a6:年增1
1~3
45
6~9
10
M1
M1 M1
M2
M2
D1,D2,D3 D4 D5 D1,D2,D3,D4 D5
2020/12/2
15
例:维修机器问题
问题描述:
“……对于功率大于50马力的机器, 并且维修记录不全或已运行10年以 上的机器,应给予优先的维修处理 ……”
请建立决策表。
2020/12/2
16
例:维修机器问题(续)
(1)列出所有的条件桩和动作桩
条件桩

06黑盒测试——决策表

06黑盒测试——决策表
实际使用决策表时,常常先将它简化,简化是以合并 相似规则为目标的
Y Y N N Y N
X X
Y N
Y Y N
Y -
X
N N
N
X X
X
两条规则合并成一条
两条规则的进一步合并
规则及规则合并

任何一个条件组合的特定取值及其相应要执行的操 作称为规则。在判定表中贯穿条件项和动作项的一
列就是一条规则。显然,判定表中列出多少组条件
适合于以下应用程序

If-then-else逻辑突出 输入变量之间存在逻辑关系


涉及输入变量子集的计算
输入与输出之间存在因果关系
适合使用决策表设计测试用例的情况有
①规格说明以判定表形式给出,或是很容易转换成判定表。 ②条件的排列顺序不会也不应影响执行哪些操作。 ③规则的排列顺序不会也不应影响执行哪些操作。 ④每当某一规则的条件已经满足,并确定要执行的操作后, 不必检验别的规则。
取值,也就有多少条规则,即条件项和动作项有多 少列。

化简 就是规则合并 有两条或多条规则具有相同的动作,并且其条件项 之间存在着极为相似的关系
疲倦吗? 问题 感兴趣吗? 糊涂吗? 重读 继续 建议 跳到下一章 休息
1 Y Y Y
2 Y Y N
3 Y N Y
4 Y N N
5 N Y Y

6 N Y N
4 Y N N
5 N Y Y

6 N Y N

7 N N Y
8 N N N
√ √ √ √ √

表中列举了读者读书时可能遇到的3个问题,若读者的回答时 肯定的(判断取真),标以字母Y,若回答否定的,标以字母N。

黑盒测试

黑盒测试

输入条件
有效等价类编 号
有效等价类
无效等价类编 号
无效等价类
是否三角形的 三条边
(1) (2) (3) (4) (5) (6)
(A>0), (B>0), (C>0), (A+B>C) (B+C>A) (A+C>B)
(7) (8) (9) (10) (11) (12)
(A≤0), (B≤0), (C≤0), (A+B≤C) (B+C≤A) (A+C≤B)
边界值设计原则 对边界值设计测试用例,应遵循以下几条原则: 1、如果输入或输出条件规定了值的范围,则应取刚达到这个 范围的边界的值,以及刚刚超越这个范围边界的值作为测试输 入数据。 2、如果输入或输出条件规定了值的个数,则用最大个数、最 小个数、比最小个数少一、比最大个数多一的数作为测试数据。 例如有规定“某文件可包括1至255个记录…”,则测试数据可 选1和255及0和256等值。
案例一
“一个程序读入3个整数,把这三个数值看作一个三角形 的3条边的长度值。这个程序要打印出信息,说明这个 三角形是不等边的、是等腰的、还是等边的。” 解:三角形判断的分析 我们可以设三角形的3条边分别为A,B,C。如果它们 能够构成三角形的3条边,必须满足: A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B。 如果是等腰的,还要判断A=B,或B=C,或A=C。 如果是等边的,则需判断是否A=B,且B=C,且A=C。
1980121
7个数字字符 有1个非数字 字符 全是非数字字 符 6个数字字符 19811m AUGUST 198108

软件测试技术-7黑盒测试决策表法

软件测试技术-7黑盒测试决策表法


√ √ √ √
决策表的化简
8 F T F
×
2015-6-27
31








√ √
√ √
选项 规则
12
13 14 15 16 17 18 19 20 21 22
条件: c1:month c2:day c3:year
M3 M3 M3 M3 M4 M4 M4 M4 M4 M4 M4 D2 D3 D4 D5 D1 D2 D2 D3 D3 D4 D5 - - - - - Y1 Y2 Y1 Y2 - -
√ √ √ √ √ √ √ √ √ √ √ √ √ √ √
动作: a1:不可能 a2:day加1 a3:day复位 a4:month加1 a5:month复位 a6:year加1
简化NextDate函数决策表


规则1、2、3都涉及有30天的月份day类 D1、D2和D3,并且它们的动作项都是 day加1,因此可以将规则1、2、3合并。 类似地,有31天的月份day类D1、D2、 D3和D4也可合并,2月的D4和D5也可合 并。
1 国内乘客 -
2 T
3 T
4 T
5 T
6 F
7 F
8 F
9 F
头等舱
残疾乘客 行李重量W<=30kg 免费 (W-30)*2

- T √
T
F F
F
F F
T
T F √
F
T F
T
F F
F
F F
T
T F
F
T F
(W-30)*3
(W-30)*4 (W-30)*6 (W-30)*8 (W-30)*12 √ √

黑盒测试方法——判定表

黑盒测试方法——判定表

⿊盒测试⽅法——判定表⼀.什么是判定表: 判定表,也叫决策表。

是对多种输⼊条件下软件系统执⾏不同动作的分析⼯具,它可以把复杂的逻辑关系和多种组合的情况表达得具体明确。

⼆.判定表的组成元素: 1.判定表通常由条件桩、条件项、动作桩、动作项组成。

2.条件桩: 被测对象的所有输⼊。

3.条件项:被测对象的输⼊取值。

4.动作桩:被测对象可能采取的操作/表现。

5.动作项:在各个条件项的组合下,被测对象所采取的动作/表现。

例:三好学⽣中,思想品质、⾝体、学习对应的是条件桩。

成为三好学⽣和没成为三好学⽣便是动作桩。

判定表参考模板:三.判定表的优缺点及适⽤范围: 1.优点: 能够把复杂的问题简单化,按照功能的各个条件进⾏组合,便于分析。

2.缺点: ⽆法对循环体结构类型进⾏分析; 随着条件的变多,判定表会变得异常庞⼤(规则数为条件的可选数量乘积),实战性不⾼。

3.适⽤范围: 条件的排列顺序不影响执⾏操作; 规则的排列顺序不影响执⾏操作; 每当某⼀个规则的条件已经满⾜,并确定要执⾏的操作后,不必检验别的规则; 如果某⼀个规则得到满⾜要执⾏多个操作,这些操作的执⾏顺序⽆关紧要。

四. 判定表设计⽤例步骤: 1.确定规则的个数,在判定表⾥的规则是指,条件桩进⾏排列组合后的集合,对应到判定表右侧的所有列,每⼀列都可以对应⼀个测试⽤例。

如果有3个条件,每个条件有2个取值,则有 2 x 2 x 2 = 8种规则,判定表中则有8列; 2.列出所有的条件桩和动作桩; 3.填⼊条件项; 4.填⼊动作桩和动作项; 5.化简,合并相似规则; 6.将每条规则转化为⽤例。

五.判定表步骤解析: 1.判定表的化简与合并: 1.1. 化简⼯作是以合并相似规则为⽬标。

如果表中有两条或多条规则具有相同的动作,并且其条件项之间存在极为相似的关系,即可将其合并。

下图中,E1的取值都是 X,且C1 和 C2的取值相同,C3 的取值不同,那么可以得出,只要C1 和C2 取值为 Y/N,⽆论C3 怎么取值,结果都是 X。

实验3、黑盒测试:决策表测试方法

实验3、黑盒测试:决策表测试方法

20 15 —20 16 学年第 2 学期软件测试技术课程实验报告学院:计算机科学技术专业:软件工程班级:软件二班姓名:吴德宁学号:04任课教师:刘玉宝实验日期:2016年 5 月17 日实验题目实验3、黑盒测试:决策表测试方法实验目的1、掌握决策表的概念2、掌握决策表测试用例设计法。

实验内容1、对NextDate问题运用决策表法设计测试用例,并执行测试,撰写实验报告。

NextDate (int month, int day, int year)函数规定:输入三个整数:month、day 和year,函数的输出为输入日期后一天的日期。

例如,输入为2006年3月7日,则函数的输出为2006年3月8日,year满足1920≤year≤2050。

实验步骤:1)构造决策表●M1={月份:30天/月},M2={月份: 31天/月,12月除外},M3={月份: 12月},M4={月份: 2月}●D1={日期:1<=日<=27},D2={日期:日=28},D3={日期:日=29} ,D4={日期:日=30},D5={日期:日=31}●Y1={年:闰年},Y2={年:平年}注:二月:平年28天,闰年29天条件桩:●C1:月份在{M1,M2,M3,M4}中之一●C2:日期在{D1,D2,D3,D4 ,D5}中之一●C3:年在{Y1,Y2}中之一动作桩:●A1:不可能●A2:日期增1●A3:日期复位(置1)●A4:月份增1●A5:月份复位(置1)●A6:年增11 2 3 4 5 6 7 8 9 10C1:月M1M1M1M1M1 M2M2 M2M2 M2。

常用黑盒测试方法

常用黑盒测试方法

常用黑盒测试方法黑盒测试(Black box Testing)是一种测试方法,它主要基于对被测试系统的功能和性能进行验证,而不需要先了解系统的内部结构或代码的实现。

黑盒测试是从用户的角度出发,通过输入和输出的对比来验证系统的正确性。

下面将介绍一些常用的黑盒测试方法。

1. 等价类划分法(Equivalence Partitioning)等价类划分法是一种将输入和输出数据划分成不同等价类的方法。

通过选择一个代表性的数据进行测试,可以发现等价类中的共性问题。

例如,假设要测试一个输入用户名和密码的系统,等价类划分法可以将输入数据划分为有效的用户名和密码、无效的用户名和密码、用户权限不足的用户名和密码等等。

2. 边界值分析法(Boundary Value Analysis)边界值分析法是一种对输入和输出的边界情况进行测试的方法。

通常情况下,边界值测试可以很好地发现程序中存在的错误。

例如,对于一个要求输入1到100的数值的系统,边界值分析法可以选择1、2、99和100来测试,以验证系统在边界情况下的正确性。

3. 状态转换测试(State Transition Testing)状态转换测试是一种通过测试系统在不同状态下的行为来验证系统的正确性的方法。

在这种方法中,测试人员需要事先了解系统的各个状态及其之间的转换条件,通过测试不同状态之间的转换,以验证系统在状态转换过程中的正确性。

例如,一个文件管理系统可以具有打开、关闭和保存等状态,状态转换测试可以通过测试不同状态之间的转换来验证系统的正确性。

4. 决策表测试(Decision Table Testing)决策表测试是一种通过测试系统的决策逻辑来验证系统的正确性的方法。

测试人员需要构建一个决策表,列出不同情况下的输入和输出,以验证系统按照预期的逻辑进行判断和决策。

例如,一个购物网站可以具有不同的会员等级和不同的折扣策略,决策表测试可以通过测试不同的会员等级和购买金额来验证系统按照不同的折扣策略进行计算和应用。

软件测试智慧树知到课后章节答案2023年下青岛职业技术学院

软件测试智慧树知到课后章节答案2023年下青岛职业技术学院

软件测试智慧树知到课后章节答案2023年下青岛职业技术学院青岛职业技术学院第一章测试1.下列选项中,哪一项不是软件开发模型。

()答案:V模型2.下列哪一项不是软件缺陷产生的的原因。

()答案:测试用例设计不好3.现在比较流行的软件开发模型为螺旋模型。

()答案:错4.软件存在缺陷是由于开发人员水平有限引起的,一个非常优秀的程序员可以开发出零缺陷的软件。

()答案:错5.软件缺陷都存在于程序代码中。

()答案:错6.软件测试是为了证明程序无错。

()答案:对7.软件测试要投入尽可能多的精力以达到100%的覆盖率。

()答案:错8.下列软件实施活动的进入准则描述错误的是:()答案:项目阶段成果已经被基线化9.验收测试的测试用例主要根据()的结果来设计。

答案:需求分析第二章测试1.下列选项中,哪一项不是因果图输入与输入之间的关系。

()答案:恒等2.下列选项中,哪一项是因果图输出之间的约束关系。

()答案:强制3.使用边界值方法测试时,只取边界两个值即可完成边界测试。

()答案:错4.因果图考虑了程序输入、输出之间的各种组合情况。

()答案:对5.下面四种说法中正确的是()答案:健壮性等价类测试的测试用例要求在有效等价类中取值6.黑盒测试又叫功能测试或数据驱动测试。

()答案:对7.下列选项中,哪一项不是影响软件质量的因素。

()答案:使用新技术8.在黑盒测试中,着重检查输入条件组合的方法是()。

答案:因果图法9.下面()方法能够有效地检测输入条件的各种组合可能引起的错误。

答案:因果图10.功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。

()答案:对第三章测试1.下列选项中,哪一项不属于逻辑覆盖。

()答案:判定-语句覆盖2.关于逻辑覆盖,下列说法中错误的是。

()答案:在逻辑覆盖中,条件组合覆盖是覆盖率最大的测试方法。

3.决策表法是由因果图演变而来的。

()答案:对4.语句覆盖无法考虑分支组合情况。

()答案:对5.语句覆盖可以测试程序中的逻辑错误。

黑盒测试——决策表法

黑盒测试——决策表法

⿊盒测试——决策表法1.决策表决策表是把作为条件的所有输⼊的各种组合值以及对应输出值都罗列出来⽽形成的表格。

它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。

因此,利⽤决策表能够设计出完整的测试⽤例集合。

决策表通常由条件桩(Conditions)、条件项(Condition Alternatives)、动作桩(Actions)和动作项(Action Entries)4部分组成。

条件桩条件项动作桩动作项条件桩:列出所有可能的条件条件项:针对条件桩给出的条件列出所有可能的取值范围动作桩:列出要采取的动作动作项:指出在条件项的各种取值情况下应采取的动作2.决策表的构造及化简<1>构造决策表可采⽤以下5个步骤:(1)列出所有的条件桩和动作桩。

(2)确定动作规则(条件项)的个数。

(3)填⼊条件项。

(4)填⼊动作项,得到初始决策表。

(5)简化决策表,合并相似规则。

<2>决策表的化简对于n个条件的决策表,相应有2n个规则(每个条件分别取真、假值),当n较⼤时,决策表很繁琐。

实际使⽤决策表时,常常先将它简化。

决策表的简化是以合并相似规则为⽬标。

即若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。

3.⽤例分析NextDate (int month, int day, int year)函数规定:输⼊三个整数:month、day和year,函数的输出为输⼊⽇期后⼀天的⽇期。

例如,输⼊为2006年3⽉7⽇,则函数的输出为2006年3⽉8⽇,year满⾜1920≤year≤2050。

步骤如下:1)构造决策表●M1={⽉份:30天/⽉},M2={⽉份: 31天/⽉,12⽉除外}, M3={⽉份: 12⽉},M4={⽉份: 2⽉} ●D1={⽇期:1<=⽇<=27}, D2={⽇期:⽇=28}, D3={⽇期:⽇=29} , D4= {⽇期:⽇=30}, D5={⽇期:⽇=31}●Y1={年:闰年},Y2={年:平年} 注:⼆⽉:平年28天,闰年29天条件桩:●C1:⽉份在{M1,M2,M3,M4}中之⼀●C2:⽇期在{D1,D2,D3,D4 ,D5}中之⼀●C3:年在{Y1,Y2}中之⼀动作桩:●A1:不可能●A2:⽇期增1●A3:⽇期复位(置1) ●A4:⽉份增1●A5:⽉份复位(置1) ●A6:年增112345678910111213141516171819202122C1:⽉M1M1M1M1M1M2M2M2M2M2M3M3M3M3M3M4M4M4M4M4M4M4C2:⽇D1D2D3D4D5D1D2D3D4D5D1D2D3D4D5D1D2D2D3D3D4D5C3:年Y1Y2Y1Y2A1:不可能√√√√A2:⽇期+1√√√√√√√√√√√√√A3:⽇期复位(置位)√√√√√A4:⽉份+1√√√√A5:⽉份复位(置位)√A6:年+1√————————2)由决策表设计测试⽤例,得测试⽤例表。

黑盒测试-决策表

黑盒测试-决策表

F
F F T F T

F
F F T T F

F
F F
F
F T
F
F T F F T


… … … … …
T F T F T F
√ √
5 合并相似规则
C1:a<b+c? C2:b<a+c? C3:C<a+b? F F F F F F F F F F F F F F F F F F F F F F F F F F T F F T … … …
动作桩
√ √ √ √ √ √ √
规则

动作项
规则合并(化简)
将具有相同动作,并且其条件项之间存在着极为相似关系的 两条或多条规则合并为一条规则
1
问 题 问 题 建 议 建 议 你觉得疲倦吗? 你觉得疲倦吗? 你对内容感兴趣吗? 你对内容感兴趣吗? 书中内容使你胡涂吗? 书中内容使你胡涂吗? 请回到本章开头重读 请回到本章开头重读 继续读下去 跳到下一章去读 继续读下去 Y Y Y
决策表的建立步骤
1列出所有的条件桩和动作桩
2 确定规则的个数
3 填入条件项
4 填入动作项
5 合并相似规则
实战演习 1 以下列问题为例给出构造决策表的具体过程。
如果某产品销售好并且库存低,则增加该产 品的生产;如果该产品销售好,但库存量不低, 则继续生产;若该产品销售不好,但库存量低, 则继续生产;若该产品销售不好,且库存量不低, 则停止生产。
第3章 黑盒测试方法
1 2 3 4
黑盒测试法概述
等价类测试
主 要 内 容
边界值测试
基于决策表的测试
5

黑盒测试用例设计方法

黑盒测试用例设计方法

4.

表示
《软件测试》
3-12
等价类划分法测试案例

在某网站申请免费信箱时,要求用户必须输入用户名、密 码及确认密码,对每一项输入条件的要求如下: 用户名要求为4位以上,16位以下,使用英文字母、数字、

“-”、“_”,并且首字符必须为字母或数字;密码要求为
6~16位之间,只能使用英文字母、数字以及“-”、“_”, 并且区分大小写。

无效等价类

对规格说明(Spec)而言,无意义、不合理的输入、输出数据组成的
所有集合

根据规格说明(Spec)检查是否所有无效等价类都被很好处理,没有 不合理的行为
《软件测试》
3-8
如何划分等价类
1)
根据规格说明(Spec)的定义,对输入和输出
条件进行分析,划分等价类
2)
根据计算机基础知识,对输入和输出条件进行分
编号
(7) (8) (9) (10) (11) (12) (16)
是否三角形的3条 边
c>0 a+b>c b+c>a a+c>b
等腰三角形?
a=b b=c
(13) a≠b && (14) b ≠c &&
c=a
(15) c ≠a
(17) a≠b b≠c (18) (19)
密码 abc_123 123-abc 12345678 12345678 12345678 12345678 12345 abcdefghijk123456 abc&123 abc_123
确认密码 abc_123 123-abc 12345678 12345678 12345678 12345678 12345 abcdefghijk123456 abc&123 Abc_123
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C2:a=b?
- YY Y Y N N N N
C3:a=c?
- YY N N Y Y N N
C4:b=c?
- YN Y N Y N Y N
A1:非三角形

A2:一般三角形 A3:等腰三角形


√√
A4:等边三角形

A5:不可能
√√

2020/1/9
25
5.决策表法
条件:a,b,c是否可以 构成三角形
动作桩
A1:进行优先处理 A2:作其他处理
2020/1/9
17
(2)确定规则个数
输入条件个数:3;
功率大于50马力吗 维修记录不全吗 运行超过10年吗
每个条件的取值:“是”或“否”;
规则个数:2*2*2 =8;
2020/1/9
18
例:维修机器问题(续)
(3)填入条件项;
第2章 黑盒测试用例设计方法
2020/1/9
1
黑盒测试用例设计方法 -----------决策表方法
2020/1/9
2
5.决策表法
5.1 概述
在一个程序中,如果输入输出比较多, 输入之间、输出之间相互制约的条件 比较多,在这种情况下使用决策表更 合适,它可以清楚地表达它们之间的 各种复杂关系。
请用基于判定表的方法设计测试用例。
2020/1/9
22
一、设计判定表
•(1)条件桩
•C1:a,b,c构成三角形? •C2:a = b? •C3:a = c? •C4:b = c?
•(2)规则数
•共有四个条件,每个条件的取值为“是”或“否”,因此有
24= 16条规则。
2020/1/9
23
(3)动作桩
2020/1/9
15
例:维修机器问题
问题描述:
“……对于功率大于50马力的机器, 并且维修记录不全或已运行10年以 上的机器,应给予优先的维修处 理……”
请建立决策表。
2020/1/9
16
例:维修机器问题(续)
(1)列出所有的条件桩和动作桩
条件桩
C1:功率大于50马力吗? C2:维修记录不全吗? C3:运行超过10年吗?
123 4 5 6 7 8
功率大于50马力吗? Y Y Y Y N N N N
条 维修记录不全吗? 件
运行超过10年吗?
YYN N Y Y N N YNY N Y N Y N
动 进行优先处理 作 作其他处理
利用集合的笛卡尔积计算条件项的取值
2020/1/9
19
例:维修机器问题(续)
(4)填入动作项;
动作桩:给出问题规定的可能采取的操 作
动作项:与条件项紧密相关,指出在条 件项的各组取值情况下应采取的动作
项中的每一列是一条 规则
2020/1/9
7
5.决策表法
规则指示在条件部分中指示的条件环 境下要采取什么行动.
在上图的决策表中,如果条件1条件2为 真,而条件3条件4为假,那么采取行动3.
1 2 3 4 5 6 78
功率大于50马力吗? Y Y Y Y N N N N
条 维修记录不全吗? 件 运行超过10年吗?
Y Y N N Y Y NN Y N Y N Y N YN
动 进行优先处理 作 作其他处理
✓ ✓✓





1,2合并,5,7合并,6,8合并
2020/1/9
20
例:维修机器问题(续)
11
(2)包含
如果两个条件项的动作是相同的,对任意 条件1的值和条件2中对应的值,如果满足:
A.如果条件1的值是T(F),则条件2中的值也 是T(F).
B.如果条件1的值是-(不关心),则条件2中的 值是T,F,-,称条件1包含条件2,条件2可以撤 去.
重复A,B就可以得到精简的决策表.
(1)合并
如果一个条件项(表中某列中的条件值) 和另外一个条件项所产生的动作是相 同的,且两个条件项对应的每一行的值 只有一个是不同的,则可以将其合并.合 并的项除了不同值变成”不关心”条 目外,其余不变
2020/1/9
10
(1)两条规则合并成一条
条件项“—” 表示与取值 无关。
2020/1/9
规则1中的条件1.2.3称为“不关心” 条目.
不关心条目解释有两种:条件无关或条 件不适用.
2020/1/9
8
5.3决策表的化简
有n个条件的决策表,对应的规则将 有2n条,当n非常大的时候,这是 非常繁琐的。因此,应对决策表进 行化简.
决策表的化简包括两个方面:
2020/1/9
9
5.3决策表的化简
(1) (2) (3) (4) (5)
功率大于50马力吗? Y Y Y N N
条 维修记录不全吗? 件
运行超过10年吗?
Y N N —— —Y N Y N
动 进行优先处理 作 作其他处理
✓✓



2020/1/9
21
三角形问题
问题描述
输入三个正整数a、b、c,分别作为三角形的三条 边,通过程序判断三条边是否能构成三角形?如 果能构成三角形,判断三角形的类型(等边三角 形、等腰三角形、一般三角形)。
A1:非三角形; A2:不等边三角形; A3:等腰三角形; A4:等边三角形; A5:不可能;
2020/1/9
24
5.决策表法
该条件可以扩展成: a+b>c
b+c>a
5.4三角形问题的决策表用例设计
c+a>b
表1
1-8 9 10 11 12 13 14 15 16
C1:abc能否构成三角形? N Y Y Y Y Y Y Y Y
(2)两条规则的进一步合并
条件项“—” 在逻辑上包 含其它的条 件。
2020/1/9
13
5.3决策表的化简
2020/1/9
8 F T F
×
14
5.决策表法
构造决策表的步骤:
(1) 列出所有的条件桩和动作桩 (2)确定规则的个数 (3)填入条件项 (4)填入动作项,得到初始的决策表 (5)对初始的决策表化简
三角形问题的扩展决策
表 表2
1
2
3
4 5 6 7 8 9 10 11
C1:a<b+c? C2:b<a+c? C3:c<a+b? C4:a=b? C5:a=c? C6:b=c?
决策表法是黑盒测试方法中最为严格、 最具有逻辑性的测试方法
2020/1/9
3
5.决策表法
5.2决策表:
2020/1/9
5
5.决策表法
决策表通常由四部分组成:
条件桩
条件项
动作桩
动作项
规则
2020/1/9
6
条件桩: 列出问题的所有条件
条件项:针对ห้องสมุดไป่ตู้件桩给出的条件列出所 有可能的取值
相关文档
最新文档