测试用例设计进阶(上)

发表于:2017-9-12 16:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:苏糊    来源:51Testing软件测试网采编

  判定表法设计测试用例 — 判定表相关概念
  判定表
  是分析和表达多逻辑条件下执行不同操作的工具。
  判定表是由条件桩、动作桩、条件项、动作项四部分内容构成的表格。
  条件桩(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)以最终判定表的每一列为依据设计测试用例
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号