判定表测试规范

合集下载

3.2.3 判定表

3.2.3 判定表

步 骤
3、 填入条件项、动作项 4、简化决策表 5、根据决策表设计测试用例
课堂练习 打印机打印文件问题
问题描述:

打印机是否能打印出来正确的内容,有多个因
素影响,包括驱动程序、纸张、墨粉等。

假定:优先警告缺纸,然后警告没有墨粉,最后警 告驱动程序不对。

请你使用判定表方法设计测试用例。
课堂练习
判定表
什么是判定表?

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

决策表能够将复杂的问题按照各种可能的情况全部 列举出来,简明并避免遗漏,设计出完整的测试用 例集合。
判定表实例——“阅读指南”决策表
规则 选项 你觉得疲倦吗? 问 题 你对内容感兴趣吗? 书中内容使你胡涂吗? 请回到本章开头重读 建 议 1 Y Y Y 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
建 议
规则合并实例——“阅读指南”决策 表
规则 选项 你觉得疲倦吗?
1 Y — —
5 N Y Y √
6 N Y N √
7 N N —
问 题
你对内容感兴趣吗? 书中内容使你胡涂吗? 请回到本章开头重读 继续读下去 跳到下一章去读 停止阅读,请休息
建 议
√ √
决策表的建立步骤
1、列出所有的条件桩和动作桩 2、 确定规则的个数
决策表的简化主要包含两个方面:规则合并与规则包含
(1)规则合并
如果两条或多条规则的动作项相同,条件项只有一项不同,则 可以将该项合并,合并后的条件项用符号“-”表示,说明执行 的动作与该条件的取值无关,称为无关条件。

软件测试判定表测试法和测试

软件测试判定表测试法和测试

判定表设计步骤:
确定规则的个数
列出所有的条件桩和动作桩
填入条件项 填入动作项,得到初始判定表 简化判定表、合并相似规则(相同动作)
3
判定表测试法
某程序规定:“对总成绩大于450分,且各科成绩均高于85分或者 是优秀毕业生, 应优先录取,其余情况作其他处理”。请用判定表设计测试 用例。 1. 建立判定表
b
1 4 2 5 ? ? 2 ? 3 2 4
c
2 2 4 5 ? ? 3 ? 2 2 5
预期输出
非三角形 非三角形 非三角形 等边三角形 不可能 不可能 等腰三角形 不可能 等腰三角形 等腰三角形 不等边三角形
18
a=b, a=c, b≠c
因果图测试法
因果图中包含四种关系:
恒等:若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,
17
— — F
— — — T — — — T
C6:b = c? — — — T F a1: 非三角形 X X X a2: 不等边三角形 a3: 等腰三角形 a4: 等边三角形 X
用例ID
DT1 DT2 DT3 DT4 DT5 DT6 DT7 DT8 DT9 DT10 DT11
a
4 1 1 5 ? ? 2 ? 2 3 3
动作桩
A1:进行优先处理
A2:作其他处理
7
判定表测试法
功率大于50马力吗
• (2)确定规则个数

维修记录不全吗 运行超过10年吗
­输入条件个数:3; ­每个条件的取值:“是”或“否”; ­规则个数:2*2*2 =8;

测试用例设计-错误推测法、判定表、因果图

测试用例设计-错误推测法、判定表、因果图

2.判定表
举例3: 分析— 条件桩:1. 导入单位工程为清单计价;
2. 当前工程为定额计价工程,存在“导入清单计价工程”菜单; 3. “导入措施项目”勾选; 4. 导入窗口点“确定”; 5. 提示窗口点“确定” 动作桩:21. 执行导入清单计价工程操作; 22. 选择的项目工程文件或单位工程的定额计价工程,则给提示; 23. 选择的项目工程文件或单位工程的定额计价工程,系统自动弹出导 入GBQ的选项窗口; 24. 措施项目不被导入,提示导入成功; 25. 措施项目被导入,提示导入成功; 26. 退出提示窗口
25 N N N N N N N N N N N N N N N N
26 N N N N N N N N N N N N N N N N
2.判定表
举例3: 简化判定表—
1
2
3
5
6
7
9
17 25
条件 1 桩2
Y
Y
Y
Y
Y
Y
Y
NN
Y
Y
Y
Y
Y
Y
N
Y
N
3
Y
Y
Y
N
N
N ———
4
Y
Y
N
Y
Y
N ———
5
Y
N—
况不可能出现,为表明这些特殊情况,在因果图上用一些记号表明约束或限制 条件; 转换:把因果图转换为判定表; 输出:把判定表的每一列拿出来作为依据,设计测试用例
3.因果图
举例1: 需求—
“……对于功率大于50马力的机器,并且维修记录不全或已运行10年以上的机器
,应给予优先的维修处理……”
Y
N ————

因果图判定表综合示例1-自动售货机

因果图判定表综合示例1-自动售货机

一、测试项要求如下:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:若投入5角钱或1元钱灯是亮的,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红二、分析以上要求,得出原因和结果:原因:1、售货机有零钱找2、投入1元钱3、投入5角钱4、选择橙汁5、选择啤酒结果:21、售货机“零钱找完”灯亮22、退还1元钱23、找回5角钱24、送出橙汁饮料25、送出啤酒饮料三、因果图如下:思路:逐个分析条件,看它与其它哪些条件之间有制约关系,都会影响哪些结果,把这种制约影响关系画出四个角度着手画因果图。

又由于条件1为真和为假时导致的结果不同,所以为真和为假两种情况下的因果图都要画出来,否因果图中出现的中间节点为:11、需要找回5角钱12、选择了橙汁或啤酒13、售货机能够找出5角钱14、钱已结清,可以送出饮料四、根据因果图画出判定表1、条件2、3不能同时为1123456789101有零钱找1111111111四、根据状态图完成判定表12=or(4,5)11=and(2,12)13=and(1,11)14=or(3,13)21=not(1)22=and(11,not(1))23=1324=and(4,14)五、将这16条规则分别转化测试用例其它用例略1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

当售货机没有零钱找,则一个显示〖零零钱找,则显示〖零钱找完〗的红灯不会亮,在送出饮料的同时退还5角硬币。

系画出来,直到所有条件都被分析、所有结果都被覆盖。

本例中,条件1、2、4;1、2、5;3,4;3,5之间存在情况下的因果图都要画出来,否则覆盖不到所有结果。

1234567892012345678111111000000000000示〖零钱找完〗的红间存在制约关系,从这。

软件测试规范

软件测试规范

软件项目测试规范一、概述本规范是对项目软件测试的一份规范性文件,对软件测试过程中所涉及到的测试类型、测试方法、测试标准、测试流程以及软件产品责任单位所承担的职责进行总体规范,以有效保证软件产品的质量。

软件测试是对软件设计的一种控制手段,是对软件产品质量的一种检查和审核手段。

软件设计单位应采取有效措施保证软件产品的质量,软件测试应按本规范要求对软件进行检查、测试,软件设计单位应保证对测试错误进行修正。

测试过程中发现的软件错误必须及时改正,这就是软件测试的任务。

为了改正错误,首先必须确定故障的准确位置,这是测试过程中最困难和任务。

需要周密审慎的思考和推理。

改正错误常常包括修正原来的设计,必须通盘考虑而不能“头痛医头脚痛医脚”,应该尽量避免在测试过程中引进新的故障。

二、测试类型项目软件测试类型包括单元测试、集成测试(组装测试)、有效性测试(功能测试)、系统测试、回归测试和用户测试(验收测试)。

单元测试主要针对软件设计单元、功能模块进行测试,测试内容包括模块程序结构检查、代码测试和模块内功能测试。

集成测试(组装测试)主要针对软件设计单元、功能模块组装、集成为系统时,对软件单元、功能模块的接口、连接进行测试。

有效性测试(功能测试)按照系统功能需求规定对系统的功能、流程、数据、业务规则等进行测试,以及对系统基本特征如操作、界面、报表等的合理性、一致性进行测试。

系统测试为系统性能测试,如安全性、可靠性、稳定性测试,以及对系统其它性能如负载能力、处理能力以及响应时间等进行测试。

回归测试在软件设计错误修正、设计修改以及软件升级后,主要针对软件修改、影响部分进行有效性测试和系统测试。

用户测试(验收测试)为用户方组织的有效性和系统测试。

三、测试的方法逻辑覆盖法根据测试用例,运行被测试程序,使程序中的每个可执行语句、执行条件至少执行一次。

所谓等价类,就是指某个输入域的集合,集合中的每个输入对揭露程序错误来说是等效的,把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例,这就是等价类划分方法。

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

等价类结和判定表的软件测试方法应用

等价类结和判定表的软件测试方法应用

等价类结和判定表的软件测试方法应用作者:杨悦来源:《电脑知识与技术》2012年第05期摘要:软件测试的类型通常分为白盒测试和黑盒测试,其中基于等价类的划分法与基于判定表的测试法都是较为典型和实用的黑盒测试技术方法。

在实际工作中,为了使测试用例的覆盖更加全面,测试目的更加明确,通常不仅仅局限于某一种测试手段。

针对等价类和判定表这两种方法各自的特点,可以将两者有机结合,通过对输入条件进行等价类划分,对输出行为进行判定表列举,用综合的手段进行软件测试工作,从而达到使测试用例的设计覆盖全面、条理清晰的目的。

关键词:等价类;判定表;软件测试中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)05-1194-03The Application of The Software Testing Method Combining Equivalence Partition with Decision TableYANG Yue(The Software Testing Center of Shanghai Academy of Spaceflight Technology, Shanghai 201109, China)Abstract: The types of software testing are usually sorted as white box testing and black box testing.The testing methods based on equiva? lence partition and decision table are both typical and practical black box testing skills.In practical working,to make the coverage of testing more comprehensive and to make the purpose of testing more specific,the usual thought is to use not only one certain way to do the test. According to the individual characteristics of these two methods,it is feasible to combine these two methods together,by partitioning the equivalence of input conditions and listing the dicision table of output activities of the testing program module.This combining method can make the designing of testing cases more comprehensive and distinct.Key words: equivalence partition; decision table; software testing1概述软件测试的类型一般来说,可以划分为白盒测试类型和黑盒测试类型。

测试用例设计方法2——因果图判定表

测试用例设计方法2——因果图判定表

测试用例设计方法2——因果图判定表判定表法判定表是分析和表达多种输入情况下执行不同动作的工具,判定表方法主要用于处理程序输入条件的不同组合,但是要求条件的组合必须是bool类型,而且条件和预期的结果都是可以分析出来的。

判定表能够有效地弥补等价类和边界值方法的不足,使得输入条件之间的组合和相互影响得到充分的测试。

使用判定表的一般思路是:1、需求分析,分析出条件和结果之间的各种组合2、将条件和结果分别填入判定表3、讲条件和结果进行二进制排列4、针对每一项组合,分析出结果,并去除无效项,是判定表得到简化。

在合并判定表时,如果条件之中只有一个不同,则可以合并。

如果判定表的组合不够多,建议不要进行合并,这样可以测试的充分一些。

5、每一列生成一个测试用例以阅读指南的例子来设计一个判定表:从例子中可以看到,不同的条件组合使用判定表方法可以充分弥补等价类边界值得不足,但是当输入条件过多时,使用判定表会产生大量测试用例。

而其无效用例不易发现,更不能覆盖条件之间的先后关系。

因此,在一定情况下,使用判定表还需要因果图的帮忙。

--------------------------------------------------------------------------------因果图因果图用于描述系统之间的输入输出,输入输出之间的约束关系和因果关系。

因果图与判定表往往结合使用,使用因果图可以得到判定表。

使用因果图的方法:1、分析输入输出并进行标识2、分析输入和输入、输入和输出之间的关系3、将得到的关系使用因果图的方法表示出来4、根据因果图得到判定表5、依据判定表生成测试用例这里分析一个自动售货机的因果图分析方法:条件:有一个处理单价为5角的自动售货机,当投入5角或1元硬币时,选择橙汁或啤酒,饮料出来;若自动售货机没有零钱,则显示零钱照完,亮红灯,这时候投入的1元被退出来,饮料不送出来。

如果有零钱,则出饮料并找5角钱。

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

判定表设计测试规范
前言
本文档介绍了针对终端软件测试的判定表法设计测试用例的规范。

本测试规范中对移动终端用判定表法设计测试用例原理进行了详细的描述,并用实例加以说明如何使用该方法设计测试用例。

包括设计测试用例时的使用范围,设计测试用例的步骤等。

本测试规范介绍了一种通用的测试方法,需要根据被测终端软件需求才能形成具体的测试用例。

目录
引入 (4)
1.名词解释 (4)
2.判定表法的原理 (4)
3. 判定表的构成...... . (4)
4.判定表的规则 (4)
4.1规则的定义 (4)
4.2规则的合并 (5)
5.设计测试用例的步骤 (5)
6.实例说明判定表 (5)
7.适用范围 (7)
8.判定表的优点和缺点 (8)
8.1优点 (8)
8.2缺点 (8)
9.参考文档 (8)
10.修改历史 (8)
引入
等价类划分法和边界值分析法都是着重考虑输入条件和数据,但是未考虑输入条件和数据相互依赖、相互制约的情况,但是当输入条件和数据相互依赖、相互制约的时候,采用等价类划分法和边界值分析法是难以描述的,因此必须考虑采用一种适合于描述多种条件的组合,相应产生多个动作的方法来进行测试用例的设计。

注:条件和动作之间的逻辑关系是明确的,可以直接使用判定表法;如果条件和动作关系不明确,则要先使用因果图法。

1.名词解释
判定表也称决策表,是分析和表达多逻辑条件下执行不同操作情况的工具。

条件:输入或是环境(可通过分析动作反推出)
动作:输出/结果
2.判定表法的原理
判定表法设计测试用例的核心是构建判定表,能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏,设计出完整的测试用例的集合。

3.判定表的构成
判定表通常由四个部分组成,如图:
条件桩:找出问题的所有条件(条件的集合)。

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

动作桩:列出问题规定的可能采取的操作(动作列表)。

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

条件项:条件取值(输入的取值或环境的真值Y/N)
动作项:动作取值(输出值)
4.判定表的规则
4.1规则的定义
任何一个条件组合的特定取值及其相应的要执行的操作称为规则。

规则也就是说条件项和动作项的对应关系,一个规则相当于一条测试用例。

在判定表中条件的取值一般为真/假,用符号Y/N(1/0)表示,根据条件项的组合确定动作项的取值,即有n个条件就有2n个规则,例如有3个条件分别为A、B、C,就有8中规则,如下表:
4.2规则的合并
在实际应用判定表时,由于规则数目庞大,常常会先把它简化,也就是合并相似的规则。

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

如图:
在左图中,两条规则的动作项是一样的,条件项中的前两项也是一样的,只是第三项不同,这说明,条件项1,2项分别是真值(Y)和假值(N)时,条件项3中无论是什么值,都要执行同一个操作,也可这样说,要执行的动作与条件项3的取值无关。

这样,就可以将这两个规则合并了。

合并后的条件项3可以用特殊的符号表示与取值无关,比如用“-”。

与此类似,无关条件项“-”在逻辑上又可包含其它的条件项取值,具有相同动作的规则进一步合并。

如右图所示。

经过上述的合并规则的方法,合并判定表的规则后,就达到简化判定表的目的,并能够得到简化后的判定表。

5.设计测试用例的步骤
利用判定表法设计测试用例一般分五个步骤:(根据软件规格说明)
1)列出所有的条件桩和动作桩
2)确定规则的个数
3)填入条件项
4)填入动作项,得到初始的判定表
5)简化合并相似的规则
最后生成测试用例
6.实例说明判定表法
实例1、功能点描述:
输入三个正整数a、b、b,分别作为三角形的三条边,通过程序判断三条边是否能构成三角形?如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形、一般三角形)
第一步,明确条件桩和动作桩:分析功能点描述可知道,这里有4个条件。

条件桩为:a、b、c构成三角形
a=b?
a=c?
b=c?
动作桩为:非三角形
普通三角形
等腰三角形
等边三角形
不可能
第二步,确定规则个数:分析出4个条件,因此,全部规则会有2的4次方,共16条。

第三步,填入条件项。

第四步,填入动作项。

通过以上的四步,就得到了初始的判定表,如图:
第五步,简化合并规则,根据合并的方法分析发现规则9-16可以合并,最后形成简化后的判定表,如图:
第六步,依据简化后的判定表中每一条规则,编写测试用例。

实例 2、登陆功能说明书:(用户名和密码输入)
用户名为“admin”,密码为“123456”登陆成功
用户名和密码为空,提示“用户名或密码不能为空”
用户名输入错误,提示“用户名或密码错误”,用户名和密码清空
用户名正确,密码输入错误,提示“密码错误”,用户名保留,密码清空
根据描述找出条件桩和动作桩,并输入取值得到如下图:
若使用有限条目判定表规则比较多时,可以转换为扩展条目判定表,通过分析得到规则3*3=9条,生成判定表,最后转化成测试用例。

7.适用范围
判定表适用于具有以下特征的应用程序:
1)If-then-else逻辑突出,需求说明很容易转换成判定表。

2)条件和规则的顺序不影响执行哪些操作。

3)输入变量之间存在逻辑关系。

4)输入与输出之间存在因果关系。

提出这4个必要条件的目的是为了使操作的执行完全依赖于条件的组合。

其实对于某些不满足这几条的判定表,同样可以设计测试用例,只不过还需增加其它的测试用例而已。

8.判定表的优点和缺点
在一些数据处理问题中,某些操作是否实施,依赖于逻辑条件的取值,也即在这些逻辑条件取值的组合所构成的多种情况下,分别执行不同的操作。

判定表法是处理这类问题的一个非常有力的分析和表达工具。

8.1优点
1)能把复杂的问题按各种可能的情况一一列举出来。

2)充分的考虑了输入条件之间的组合,对组合情况充分的覆盖。

3)对输入条件间的一些制约关系做了考虑,避免了部分无效用例,最终每个用例覆盖多
种输入情况,提高用例有效性。

4)能够给出每个测试用例的预期输出。

8.2缺点
1)不能表达重复执行的动作,例如循环结构。

2)当被测试特性较多时,判定表的规模会很庞大,例如有N个条件的判定表有2n个规则。

3)输入之间的组合,不能有效的确认某些测试组合是否必须测试,会造成一定的冗余。

9.参考文档
《软件测试方法和技术》—清华大学出版社朱少民主编
《软件测试技术》—培训资料。

相关文档
最新文档