黑盒测试方法之因果图和判定表——一

后续文章:
《黑盒测试方法之因果图和判定表——二》主要讲述因果图相关理论内容。
《黑盒测试方法之因果图和判定表——三》主要讲述因果图和判定表联合使用设计测试用例的例子。

1. 概述

在等价类的设计方法中,虽然详细考虑到了需求输入域,但是对于输入域及输入域存在关联时无法覆盖,因此需要一种能考虑输入域相互关联的用例设计方法来考虑业务描述性的测试需求。
而如果考虑输入条件的各种组合,可能的组合数将非常大,所以要考虑各种条件的组合,相应的产生多个动作的形式来考虑设计测试用例,这种情况下就需要用到因果图,并且在绘制出因果图后,也需要将其转化为判定表,最后再抽取测试用例,在设计时需要为判定表的每一列设计一条测试用例。 如果可以直接绘制出判定表,那么也就没有必要绘制因果图了。

2. 判定表驱动法

1. 判定表的组成

判定表是用来分析和表达多逻辑条件下执行不同操作的情况的工具,其可以把复杂的逻辑关系和多种条件组合的情况表达的较明确。 其主要由以下几个部分组成:
在这里插入图片描述
各个部分的概念如下:

  1. 条件桩:列出了问题的所有条件,也可以说是需求规格说明书定义的被测对象的所有输入。通常认为列出的条件的次序无关紧要
  2. 条件项:列出针对所列条件的取值,即针对条件桩的所有可能输入的真假值。
  3. 动作桩:列出问题规定可能采取的操作,即针对条件被测对象可能采取的所有操作。
  4. 动作项:列出在条件项的各种取值情况下应该采取的动作,即被测对象响应的可能结果取值。
  5. 规则:动作项和条件项组合在一起,贯穿条件项和动作项的每一列构成一条测试规则。可以针对每个合法输入组合的规则用例进行测试,比如上图中的条件项1、条件项2和动作项就构成了一条规则。

2. 判定表建立的步骤

判定表建立应该依据软件规格说明,具体的步骤如下:

  1. 确定规则的个数,规则的个数为2n个,其中n为条件的个数,每个条件项有两个取值
  2. 列出所有的条件桩和动作桩
  3. 依据条件桩和动作桩,填写条件项和动作项,初始化判定表
  4. 简化,合并相似规则或相同动作,即简化判定表,一般当规则个数少于8时,就不用了简化了,因为简化毕竟会降低测试的覆盖率。
  5. 设计用例或者说测试数据

3. 判定表驱动法适用的场景

使用判定表驱动设计测试用例需要满足以下条件:

  1. 规格说明以判定表的形式给出,或很容易转为判定表。
  2. 条件的排列顺序不影响执行那些操作。
  3. 规则的排列顺序不影响执行哪些操作。
  4. 当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
  5. 如果某一规则要执行多个操作,并且这些操作执行的顺序无关紧要。

4. 判定表驱动法的优缺点

  1. 优点:在使用的过程中,充分考虑了输入间的组合情况,每条规则覆盖了多个输入条件,考虑了输入项之间的约束关系,降低了漏测风险;并且利用判定表可推断出需求规格本身的逻辑性,反向验证需求的正确性。
  2. 缺点:当输入项过多时,规则数以2的n次方剧增,判定表将会非常庞大,采用判定表合并方法合并又会造成逻辑缺失、业务混轮错误。

故此,在使用该方法时,需要细致分析被测对象的需求,尽可能分解为多个需求项,然后再应用判定表设计法。

后续文章链接:《黑盒测试方法之因果图和判定表——二》主要讲述因果图相关理论内容。
《黑盒测试方法之因果图和判定表——三》主要讲述因果图和判定表联合使用设计测试用例的例子。

©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页