测试用例设计进阶(上)

判定表法设计测试用例 — 判定表相关概念

判定表

是分析和表达多逻辑条件下执行不同操作的工具。
判定表是由条件桩、动作桩、条件项、动作项四部分内容构成的表格。

条件桩(Condition Stub)

列出了问题的所有条件。通常认为列出条件的次序无关紧要。

动作桩(Action Stub)

列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。

条件项(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)以最终判定表的每一列为依据设计测试用例

×

谢谢你请我吃辣条

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 判定表法设计测试用例 — 判定表相关概念
    1. 1.1. 判定表
    2. 1.2. 条件桩(Condition Stub)
    3. 1.3. 动作桩(Action Stub)
    4. 1.4. 条件项(Condition Entry)
    5. 1.5. 动作项(Action Entry)
    6. 1.6. 判定表中的规则
    7. 1.7. 判定表的化简
  2. 2. 判定表法设计测试用例 — 使用判定表设计测试用例
    1. 2.1. 判定表使用场景
    2. 2.2. 判定表的优点
    3. 2.3. 判定表的建立步骤:
      1. 2.3.1. 1、列出所有的条件和动作
      2. 2.3.2. 2、确定规则的个数(假如有n个条件,每个条件有两个取值(0,1),就可以产生2的n次方种规则)
      3. 2.3.3. 3、填写判定表
      4. 2.3.4. 4、化简判定表
    4. 2.4. 条件:功率大于50马力?/维修记录不全?/已运行10年以上?
    5. 2.5. 动作:优先维修处理/其它处理方式
    6. 2.6. 这里有3个条件,每个条件有两个取值,故应有8种规则。
  3. 3. 因果图法设计测试用例 — 因果图相关概念
    1. 3.1. 因果图
    2. 3.2. 因果图的关系
    3. 3.3. 约束
    4. 3.4. 因果图的约束
    5. 3.5. A、输入条件的约束有以下四类:
    6. 3.6. B、输出条件约束:M约束(强制):若结果a是1,则结果b强制为0。
  4. 4. 因果图法设计测试用例 — 使用因果图设计测试用例
    1. 4.1. 因果图使用场景
    2. 4.2. 因果图的优点
    3. 4.3. 因果图法设计测试用例的步骤:
      1. 4.3.1. 1、分析软件规格说明描述, 找出原因(即输入条件或输入条件的等价类)和结果(即输出条件), 并给每个原因和结果赋予一个标识符。
      2. 4.3.2. 2、分析软件规格说明描述中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系,画出因果图。
      3. 4.3.3. 3、由于语法或环境限制, 有些原因与原因之间、原因与结果之间的组合情况不可能
      4. 4.3.4. 4、把因果图转换为判定表,并化简判定表。
      5. 4.3.5. 5、以最终的判定表的每一列为依据设计测试用例。
    4. 4.4. 原因:a、用户名,b、用户密码,c、验证码
    5. 4.5. 结果:ab、用户不存在或密码不正确,c1、验证码不正确,c2、验证码失效, d、登入系统
,