判定表法设计测试用例 — 判定表相关概念
判定表
是分析和表达多逻辑条件下执行不同操作的工具。
判定表是由条件桩、动作桩、条件项、动作项四部分内容构成的表格。
条件桩(Condition Stub)
列出了问题的所有条件。通常认为列出条件的次序无关紧要。
动作桩(Action Stub)
列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
<!--more-->
条件项(Condition Entry)
列出针对所列条件的取值。在所有可能情况下的真假值。
动作项(Action Entry)
列出在条件项的各种取值情况下应该采取的动作。
判定表中的规则
任何一个条件组合的特定取值及其相应要执行的操作称为规则。在判定表中贯穿条件项和动作项的一列就是一条规则。
判定表的化简
合并判定表中两条或多条具有相同动作,并且其条件项之间存在着极为相似关系的规则这一过程。
判定表法设计测试用例 — 使用判定表设计测试用例
判定表使用场景
如果程序中多个条件决定多个动作,并且每个条件的取值只有两种,且条件和动作之间的逻辑关系明确。
判定表的优点
能够将复杂的问题按照各种可能的情况全部列举出来,简明并且可以避免遗漏。
判定表的建立步骤:
1、列出所有的条件和动作
2、确定规则的个数(假如有n个条件,每个条件有两个取值(0,1),就可以产生2的n次方种规则)
3、填写判定表
4、化简判定表
例1 问题要求:“……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应优先维修处理……” 。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义 。
1)列出所有的条件和动作
条件:功率大于50马力?/维修记录不全?/已运行10年以上?
动作:优先维修处理/其它处理方式
2)确定规则的个数
这里有3个条件,每个条件有两个取值,故应有8种规则。
3)填写判定表
4)化简判定表
首先,找出判定表中相似的规则。
5)合并相似规则,就得到了化简后的判定表。
因果图法设计测试用例 — 因果图相关概念
因果图
是分析输入条件之间的联系及相互组合、输入与输出之间关系的分析方法。这里的输入就是原因,输出就是结果,所以这种分析方法称为因果图。
因果图的关系
恒等:Ci=1,Ei=1;Ci=0,Ei=0.
非:Ci=1,Ei=0;Ci=0,Ei=1.
或:C1、C2、C3有一个是1,Ei为1; C1、C2、C3全是0,Ei为0。
与:C1、C2、C3有一个是0,Ei为0; C1、C2、C3全是1,Ei为1。
约束
输入或输出状态相互之间还可能存在某些依赖关系,称为约束。
因果图的约束
A、输入条件的约束有以下四类:
E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。
I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。
O约束(唯一):a和b必须有一个,且仅有一个为1。
R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。
B、输出条件约束:M约束(强制):若结果a是1,则结果b强制为0。
因果图法设计测试用例 — 使用因果图设计测试用例
因果图使用场景
适合于检查程序输入条件的各种组合情况,分析输入与输出之间的关系。
因果图的优点
以图形化的方式将输入与输出之间的关系、输入条件、输出条件之间的相互约束标示出来,方便生成判定表,并能避免遗漏。
因果图法设计测试用例的步骤:
1、分析软件规格说明描述, 找出原因(即输入条件或输入条件的等价类)和结果(即输出条件), 并给每个原因和结果赋予一个标识符。
2、分析软件规格说明描述中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系,画出因果图。
3、由于语法或环境限制, 有些原因与原因之间、原因与结果之间的组合情况不可能。
出现,为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。
4、把因果图转换为判定表,并化简判定表。
5、以最终的判定表的每一列为依据设计测试用例。
例2 用户登录系统时需要输入用户名、用户密码、验证码,且验证码在1分钟内有效。如果用户输入的用户名、用户密码和验证码都正确则可以登录到系统;如果用户名、用户密码和验证码有一个未输入则给出对应的提示信息,如果多于一项未输入,那么提示输入次序在前的输入项;如果用户名或用户密码不正确,则提示“用户,不存在或密码不正确”;如果验证码失效给出失效提示信息。
输入项为空的逻辑在画因果图时不考虑,我们只分析输入错误和正确的情况。
1)找出原因和结果
原因:a、用户名,b、用户密码,c、验证码
结果:ab、用户不存在或密码不正确,c1、验证码不正确,c2、验证码失效, d、登入系统
2、3)分析因果关系,画出因果图,并在因果图上添加相关约束
4)将因果图转化为判定表,并化简
5)以最终判定表的每一列为依据设计测试用例
测试用例设计进阶(上)
发表于:2018-07-09
作者:苏糊
来源:网络转载
 相关文章
如何使测试用例可执行? 看完秒懂原来接口测试用例设计这么简单 测试或不测试:如何在Unity游戏开发中... 漫谈测试成长之探索——测试用例评审 七分钟教会你如何编写一个合格的测试用例 软件测试中的自然语言处理 (NLP):自...- 周排行
- 月排行
-   用rose画UML图(用例图,活动图)
-   编写有效用例阅读笔记
-   “邮箱”“验证码”“手机号码”输入...
-   软件测试技术之测试用例场景法的3个例子
-   软件测试用例设计的基础概述
-   测试用例的八大要素分别是哪些?
-   用例级别和缺陷等级介绍
-   测试用例之支付功能测试点整理
-   相机测试用例:手机、相机和摄像头测...
-   视频播放测试用例
-   七分钟教会你如何编写一个合格的测试用例
-   测试用例的八大要素分别是哪些?
-   干货分享——接口测试用例设计
-   系统测试用例设计思路/模型