3.3.1-判定表法举例

合集下载

黑盒测试技术

黑盒测试技术

3.4.2 因果图与判定表共用的例子
CG双卡双待手机,一卡再通话时,来另外一通电话的测试为例。 原因:1.C网卡正在通话中 2.G网卡正在通话中 3.另一台固定电话呼叫C网卡 4.另一台CDMA移动手机呼叫C网卡 5.另一台GSM移动手机呼叫C网卡 6.另一台固定电话呼叫G网卡 7.另一台CDMA移动手机呼叫G网卡 8.另一台GSM移动手机呼叫G网卡 结果:E1.C网卡呼叫等待建立 E2.C网的提示是否切换到G网通话中 E3.G网卡的呼叫等待建立 E4.G网卡的提示是否切换到C网通话
3.2.2 边界值测试主要考虑以下几规定了值的个数,则用最大个数、最小个数、 比最小个数小一的数、比最大个数大一的数作为测试数据。 2)如果输入条件规定了值的范围,则应取刚达到这个范围边界 的值,以及刚刚超过这个范围边界的值作为测试输入数据。 3)如果程序中使用了一个内部数据结构,则应当选择这个内部 数据结构的边界上的值作为测试用例。 4)如果程序的规格说明给出的输入域或输出域是有序集合,则 应选取集合的第一个元素和最后一个元素作为测试用例。 5)分析程序规格说明,找出其他可能的边界条件。
3.5.3 正交表的生成规律
这个规律对选择初始正交表很重要,根据M判断出正交表的N, 得到正交表。所以要牢记如下规律: 1.项目数完全是由因子个数决定的,而且总是2的整数次幂。 2.设因子个数为m: 则当m = 2i-1-1时,项目数为2i-1;(i≥2) 当2i-1-1<m≤2i-1时,项目数为2i ; 当2i一1≤m≤2i+1-1时,项目数为2i+1。
1.代码得不到测试。 2.如果规格说明设计有误,很难发现。 3.测试不能充分地进行。 4.结果的准确性取决于测试用例的设计。
3 、设计黑盒测试用例方法

测试用例设计方法——判定表法

测试用例设计方法——判定表法

测试⽤例设计⽅法——判定表法
1.判定表基本概念
条件桩:输⼊条件
动作桩:结果
条件项:输⼊条件取值的全部组合
动作项:条件项对应的所有的结果
规则:⼀组条件与动作的组合,⼀条规则对应⼀条测试⽤例
2.实例:
功能:若⽤户⽋费或关机,则不允许主被叫
3.判定表法设计测试⽤例的步骤:
定义条件桩与动作桩——设计优化判定表(全组合)——填写动作项——简化判定表(结果相同的列,如果只有⼀个条件不同,可以将这两列合并成⼀列)——抽取⽤例(每个规则对应⼀条⽤例)
4.案例分析
案例:注册功能,验证⽤户名需求:第⼀项要求输⼊⼿机号或邮箱作为账户名,第⼆项要求正确输⼊验证码,两项都验证成功后填写账户信息;但如果第⼀项校验不成功,则报错L(输⼊⼿机号或邮箱格式错误);如果是第⼆项验证不成功,则报错M(验证码输⼊错误)。

判定表:
全组合:
简化判定表:
第⼀项输⼊⼿机号,则第⼀项不可能输⼊邮箱,因此1,2情况不存在;3,5情况结果相同,但是有两个条件不同,因此不能合并。

步骤总结:1.分析需求,确定条件桩和动作桩
2.全组合条件,得到条件项;
3.根据条件项,依次填写动作项;
4.简化判定表;
5.输出测试⽤例(⼀个规则对应⼀条测试⽤例)。

软件测试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)
列出条件桩的取值

3.3 结构化需求分析方法

3.3 结构化需求分析方法

订货单 支票
顾客
询问 退货单
处理顾 客事务
第三章 需求分析
15
多个数据流的第一种表示方法:
订货单 顾客事务
顾客
处理 顾客 事务
支票 询问
退货单
16
第三章 需求分析
多个数据流的第二种表示方法:
订货单
编辑订 货单
开收据 处理询 问 退货分 析处理
支票
顾客
询问
退货单
第三章 需求分析
17
多个数据流的表示举例
重建父图,即把第二步所得的每一部分画成一个圆圈, 各部分之间的联系就是加工之间的界面; 重建各张子图,只需把第二步所得的图,按各自的边界 剪开即可; 为所有加工重新命名、编号。
第三章 需求分析
36
结构不合理的数据流图及其修改
4 H A B 1 I 2 K L D 3 D (a)结构不合理的 数据流程图
33
分解的程度
分解应自然,概念上要合理、清晰。 上层可分解的快些,而下层应分解得慢些。
在不影响可读性的前提下,应适当地多分解成几部分, 以减少分解层数。
一般说来,当加工可用一页纸明确地表述时,或加工只 有单一输入/输出数据流时,就应停止对该加工的分解。 对数据流图中不再作分解的加工,必须作出详细的加工 说明,并且每个加工说明的编号必须与功能单元的编号 一致。
第三章 需求分析
5
结构化分析方法的特点
利用数据流图来帮助人们理解问
题,对问题进行分析。即利用图
形工具来模拟数据处理过程。
第三章 需求分析
6
结构化分析方法
用数据字典定义数据流图中的各项数据; 结构化英语、判定树和判定表对数据流图中的基本功 能进行描述。 通过将系统分解成多层处理后,在较低层次上,可以 看到数据流图的高层次加工的细节和相关的数据流。 结构化分析方法的实质就是采用一组分层的数据流图 及相应的数据字典作为系统的模型。 结构化分析方法从总体上看是一种强烈依赖数据流的 自顶向下的建模方法,它不仅是需求分析技术,也是 完成规格说明的手段。

3.3.2-因果图法举例

3.3.2-因果图法举例

3.3.2 因果图法举例例1:某个软件规格说明中包含以下要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改;但如果第一列字符不正确,则输出信息L;如果第二列字符不是数字,则输出信息M。

(1)分析这一段说明,列出原因和结果原因: C1.第一列字符是AC2.第一列字符是BC3.第二列字符是一个数字建立中间结点,表示处理中间状态11.第一列字符是A或B结果:E1. 修改文件E2. 输出信息LE3. 输出信息M(2) 划出因果图 + (3) 表明约束或限制条件因果关系表:因果图:(4) 创建判定表,判定表中的结果(动作)值根据因果图得出。

假定:(23)优先于(22)。

优化判定表例2:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:a)若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

b)若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来c)若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

(1) 分析这一段说明,列出原因和结果原因: 1. 售货机有零钱找2. 投入1元硬币3. 投入5角硬币4. 押下橙汁按钮5. 押下啤酒按钮建立中间结点,表示处理中间状态11. 投入1元硬币且押下饮料按钮12. 押下〖橙汁〗或〖啤酒〗的按钮13. 应当找5角零钱并且售货机有零钱找14. 钱已付清结果:21. 售货机〖零钱找完〗灯亮22. 退还1元硬币23. 退还5角硬币24. 送出橙汁饮料25. 送出啤酒饮料(2) 划出因果图。

所有原因结点列在左边,所有结果结点列在右边。

由于2与3,4与5不能同时发生,分别加上约束条件E。

(3) 转换成判定表(4) 优化判定表在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。

第16列与第32列因什么动作也没做,也删去。

331-判定表法举例

331-判定表法举例

3.3.1判定表法举例
例1:NextDate问题
试用判定表法设计该程序正确输入条件下的测试用例。

解答:
(2)判定表
例2:问题要求:“……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……” 。

这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义。

请建立判定表。

解答:
(1)确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则。

列出所有的条件桩和动作桩:
(2)填入条件项。

可从最后1行条件项开始,逐行向上填满。

如第三行是: Y N Y N Y N Y N,第二行是:Y Y N N Y Y N N等等。

(3)填入动作项。

这样便得到形如图的初始判定表。

(4)优化判定表。

简化、合并相似规则后得到下表。

第02章_判定表法

第02章_判定表法

判定表的类型
判定表
有限条目判定表
特点:所有条件都 是二值条件(真/假)
扩展条目判定表 特点: 条件可以有多个值
举例—有限条目判定表
规则 选项 问 题 你觉得疲倦吗? 你对内容感兴趣吗? Y Y Y Y N Y N Y Y N N N Y Y √ √ √ √ N Y N N N Y N N N 1 2 3 4 5 6 7 8
10 1 1 T F F T F T
1 2 T F T
1 1 3 4 T T T T F F
1 5 T T T
1 6 T T T
C4:b=c?
A1:非三角形 A2:一般三角形 A3:等腰三角形 A4:等边三角形
F

T

F

T

F

T

F

T

F
T
F
T
F T
F
T
√ √ √ √ √
A5:不可能



三角形问题的判定表

2 F F F T

3 F F T F

4 F F T T

5 F T F F

6 F T F T

7 F T T F

8 F T T T

9 T F F F
10 1 1 T F F T T F T F
1 2 T F T T
1 1 3 4 T T T T F F F T
1 5 T T T F
1 6 T T T T
书中内容使你胡涂吗? Y 建 议 请回到本章开头重读 继续读下去 跳到下一章去读
停止阅读,请休息

判定表法

判定表法

判定表的类型
判定表
有限条目判定表
特点:所有条件都 是二值条件(真/假)
扩展条目判定表
特点: 条件可以有多个值
举例—有限条目判定表
选项
规则
1234 5
问 你觉得疲倦吗?
YYYY N
题 你对内容感兴趣吗? Y Y N N
Y
书中内容使你胡涂吗? Y N Y N Y
建 请回到本章开头重读


继续读下去
跳到下一章去读
可以看出程序的输出由a,b,c之间是否相等的关系确定, 即a=b?, a=c?, b=c?,这样我们可以把a=b?, a=c?, b=c? 当作条件桩,把程序的输出当作动作桩。
条件桩
行动桩
C1:a,b,c构成 三角形? C2:a=b? C3:a=c? C4:b=c?
A1:非三角形 A2:一般三角形 A3:等腰三角形 A4:等边三角形 A5:不可能
F F F F T T T T F F F F TT T T
F F T T F F T T F F T T FF T T
F T F T F T F T F T F T FT F T
√√√√√√√√

√√



√√
规则 桩 C1:a,b,c构成三角形? C2:a=b? C3:a=c? C4:b=c? A1:非三角形 A2:一般三角形 A3:等腰三角形 A4:等边三角形 A5:不可能
建议停止阅读,请休息
2 不觉得疲倦,对内容也感兴趣,建议回到本章开头重读 但内容使你糊涂
3 不觉得疲倦,对内容感兴趣, 建议继续读下去 内容没有使你糊涂
4 不觉得疲倦,对内容不感兴趣 建议跳到下一章去读
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.3.1判定表法举例
例1:NextDate问题
试用判定表法设计该程序正确输入条件下的测试用例。

解答:
(2)判定表
例2:问题要求:“……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……” 。

这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义。

请建立判定表。

解答:
(1)确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则。

列出所有的条件桩和动作桩:
(2)填入条件项。

可从最后1行条件项开始,逐行向上填满。

如第三行是: Y N Y N Y N Y N,第二行是:Y Y N N Y Y N N等等。

(3)填入动作项。

这样便得到形如图的初始判定表。

(4)优化判定表。

简化、合并相似规则后得到下表。

相关文档
最新文档