软件测试判定表测试法和测试
(1) (2) (3) (4) (5) YYY NN Y N N ——
—YN Y N
??
?
?
?
?不完全正确
11
判定表测试法
? 问题描述 ?volunteer ??
输入三个正整数a、b、c,分别作为三角 形的三条边,通过程序判断三条边是否能 构成三角形?如果能构成三角形,判断三 角形的类型(等边三角形、等腰三角形、 一般三角形)。
3
4
5
预期输出
非三角形 非三角形 非三角形 等边三角形
不可能 不可能 等腰三角形 不可能 等腰三角形 等腰三角形 不等边三角形
a=b, a=c, b≠c
18
因果图测试法
?因果图中包含四种关系: ? 恒等:若c1是1,则e1也是1;若c1是0,则e1为0。 ?非: 若c1是1,则e1是0;若c1是0,则e1是1。 ?或: 若c1或c2或c3是1,则e1是1;若c1、c2和c3都是0, 则e1为0。“或”可有任意多个输入。 ?与: 若c1和c2都是1,则ei为1;否则ei为0。“与”也可有 任意多个输入。
动
优先录取
作
作其他处理
1
2
3
4
Y
Y
YN
Y
N
N—
—
Y
N—
??
??
5
判定表测试法
?问题描述:
- “……对于功率大于50马力的机器, 并且维修记录不全或已运行 10年以 上的机器,应给予优先的维修处理 ……”
?请建立决策表。
?volunteer ??
6
判定表测试法
? (1)列出所有的条件桩和动作桩
? 条件桩
C1:a < b + c? F T T T T T T T T T T
C2:b < a + c? — F T T T T T T T T T
C3:c < a + b? — — F T T T T T T T T
C4:a = b?
——— T T T T F F F F
C5:a = c?
——— T T F F T T F F
判定表测试法
? 判定表设计步骤:
?确定规则的个数 ?列出所有的条件桩和动作桩 ?填入条件项 ?填入动作项,得到初始判定表 ?简化判定表、合并相似规则(相同动作)
3
判定表测试法
某程序规定:“对总成绩大于450分,且各科成绩均高于85分或者 是优秀毕业生, 应优先录取,其余情况作其他处理”。请用判定表设计测试 用例。
81 1 1 1 1 1 1 1
?
?
?
??
?
??
?
15
? 注意:
? 条件的选择可以大大扩展判定表的规模;
? 例如:a, b, c构成三角形吗?可以扩展为 三个条件:
?a < b + c? ?b < a + c? ?c < a + b? ?则规则条数变为 26=64
16
条件桩修改后的判定表
1 2 3 4 5 6 7 8 9 10 11
19
因果图测试法
输 入 输 出 约 束 图 形 符 号
20
因果图测试法
输 入 输 出 约 束 图 形 符 号
21
因果图测试法
某软件规格说明书要求:第一列字符必须是A或B,第二列字符必 须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正 确,则给出信息L,如果第二列字符不是数字,则给出信息M。下面介 绍使用因果图法设计测试用例。
内容
?(1)判定表测试法
- 理论 - 互动练习
?(2)测试
- 理论 - 互动练习
1
判定表测试法
? 3.基于判定表的测试
?判定表能够将复杂的问题按照各种可能的情况全部列举出来, 简明并避免遗漏。 ?利用判定表能够设计出完整的测试用例集合。 ?判定表通常由四个部分组成:
桩
规则
条件桩
条件项
动作桩
动作项
2
14
? (4)判定表
a, b, c构成三角形
条 a = b? 件 a = c?
b = c? 规则条数统计
非三角形
不等边三角形
动 作
等腰三角形
等边三角形
不可能
12 34 5 67 89
NYY Y YY YYY
—Y Y Y Y N N N N
—Y Y N N Y Y N N
—Y N Y N Y N Y N
C6:b = c?
——— T F T F T F T F
a1: 非三角形
XXX
a2: 不等边三角形 a3: 等腰三角形 a4: 等边三角形
X
X
XX
X
17
用例 ID
a
b
c
DT1
4
1
2
DT2
1
4
2
DT3
12Biblioteka 4DT45
5
5
DT5
?? ?
DT6
?? ?
DT7
2
2
3
DT8
?? ?
DT9
2
3
2
DT10
3
2
2
DT11
? 请用基于判定表的方法设计测试用例。
12
判定表测试法
? (1)条件桩
? C1:a,b,c构成三角形? ?C2:a = b? ?C3:a = c? ?C4:b = c?
? (2)规则数
? 共有四个条件,每个条件的取值为“是”
或“否”,因此有24= 16条规则。
13
判定表测试法
? (3)动作桩
? A1:非三角形; ? A2:不等边三角形; ? A3:等腰三角形; ? A4:等边三角形; ? A5:不可能;
功率大于50马力吗?
条 维修记录不全吗? 件 运行超过10年吗?
动 进行优先处理 作 作其他处理
1 2 3 4 5 6 78 Y Y Y Y N N NN
Y Y N N Y Y NN
Y N Y N Y N YN
? ??
?
?
?
?
?
?不完全正确
10
判定表测试法
? (5)化简;
功率大于50马力吗?
条 维修记录不全吗? 件 运行超过10年吗? 动 进行优先处理 作 作其他处理
1. 建立判定表
12345678
总成绩大于450分吗?
条 件
各科成绩均高于85分吗?
优秀毕业生吗?
YYYYNNNN YYNNYYNN YNYNYNYN
动 优先录取; 作 作其他处理
??? ? ? ? ?4 ?
判定表测试法
2. 简化判定表
总成绩大于450分吗?
条 件
各科成绩均高于85分吗?
优秀毕业生吗?
- 规则个数:2*2*2 =8;
8
判定表测试法
? (3)填入条件项;
1234 5 6 7 8
功率大于50马力吗? Y Y Y Y N N N N
条 维修记录不全吗? 件
运行超过10年吗?
YYNN Y Y N N YNYN Y N Y N
动 进行优先处理 作 作其他处理
9
判定表测试法
? (4)填入动作项;
? C1:功率大于50马力吗? ? C2:维修记录不全吗? ? C3:运行超过10年吗?
? 动作桩
? A1:进行优先处理 ? A2:作其他处理
7
判定表测试法
?(2)确定规则个数
- 输入条件个数:3;
? 功率大于50马力吗 ? 维修记录不全吗 ? 运行超过10年吗
- 每个条件的取值:“是”或“否”;