美文网首页
测试基础方法之判定表法

测试基础方法之判定表法

作者: 二十尹 | 来源:发表于2021-07-06 16:57 被阅读0次

    1.定义

    判定表(DT-Decision Table)是分析和表达多逻辑条件下执行不同操作的情况的工具。

    2、几个要素

    1)条件桩(Condition Stub):列出问题得所有条件。通常认为列出的条件次序无关紧要。
    2)动作桩(Action Stub):列出问题规定可能采取的操作。这些操作的排列顺序没有约束。
    3)条件项(Condition Entry):列出针对它左列条件的取值。在所有可能情况下的真假值。
    4)动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。
    5)规则(Rules):任何一个条件组合的特定取值及其相应要执行的操作称为规则。在判定表中贯穿条件项和动作项的一列就是一条规则。判定表中列出多少组条件取值,也就有多少条规则。

    图1

    3、建立判定表可遵循的步骤

    1)列出条件桩和动作桩
    2)确定规则的个数,用来为规则编号:若有n个原因,且每个原因的可取值为0或者1,那么将会有2n个规则。
    3)完成所有条件项的填写。
    4)完成所有的动作项的填写:得到初始判定表
    5)合并化简:有两个或者多条规则具有相同的动作,并且条件项之间存在极为相似的关系就可以进行合并。

    图2

    4、判定表设计法举例

    问题描述: “对于功率大于50马力的机器且维修记录不全,或者已运行10年以上的机器,应给予优先的维修处理”
    条件桩:
    C1:功率大于50马力吗?
    C2:维修记录不全吗?
    C3:运行超过10年吗?
    动作桩:
    A1:进行优先处理
    A2:作其他处理
    生成判断表:条件3个->规则2³个

    图3

    简化判定表:
    1,2合并,5,7合并,6,8合并

    图4

    得到的测试用例:
    1)功率大于50马力且维修记录不全,无论运行是否超过10年:优先处理
    2)功率大于50马力但维修记录齐全,运行超过10年:优先处理
    3)功率大于50马力但维修记录齐全,运行未超过10年:其他处理
    4)功率不大于50马力,无论维修记录是否齐全,只要运行超过10年:优先处理
    5)功率不大于50马力,无论维修记录是否齐全,只要运行未超过10年:其他处理

    5、优点和缺点

    I. 优点:它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。因此,利用判定表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题。

    II. 缺点:不能表达重复执行的动作,例如循环结构。合并存在漏测的风险。一个显然易见的原因是,虽然某个输入条件在输出接口上是无关的,但是在软件设计上,内部针对这个条件走了不同的程序分支(因分析内部业务流程而定);输入和输出的逻辑关系,明确的用判定表,不是很明了的用因果图然后使用判定表。

    6、适合使用判定表设计测试用例的条件

    ①规格说明以判定表形式给出,或很容易转换成判定表。
    ②条件的排列顺序不会也不影响执行哪些操作。
    ③规则的排列顺序不会也不影响执行哪些操作。
    ④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
    ⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要。

    这5个必要条件的目的是为了使操作的执行完全依赖于条件的组合。其实对于某些不满足这几条的判定表,同样可以借以设计测试用例,只不过尚需增加其它的测试用例罢了。

    7、与因果图法的区别与联系

    1、因果图是一种辅助工具,它适用于检查程序输入条件的各种组合情况步骤。通过分析软件规格说明描述中的因果关系(输入与输出的因果关系) 找出原因与结果、原因与原因之间的对应关系;
    2、在因果图上标记约束或限制条件,把因果图转化为判定表,将判定表中的每一列拿出来设计测试用例。
    3、画因果图非常麻烦,影响测试效率,可以直接写判定表,进而编写测试用例。

    相关文章

      网友评论

          本文标题:测试基础方法之判定表法

          本文链接:https://www.haomeiwen.com/subject/nxjjultx.html