测试基础方法之判定表法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试基础方法之判定表法相关的知识,希望对你有一定的参考价值。

参考技术A

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

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

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

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

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

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

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

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

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

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

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

测试用例设计方法之判定表

判定表法

概念:

分析和表达多种输入条件下系统执行不同动作的工具,它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确

 

判定表法设计用例的步骤

  • 列出所有的条件桩和动作桩
  • 填入条件桩、条件项
  • 填入动作桩、动作项
  • 化简,合并相似规则
  • 将每条规则转化为用例

 

优缺点分析:

优点:能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏

缺点:

  • 系统庞大时,列条件桩是体力活;
  • 合并存在漏测的风险。一个显然易见的原因是,虽然某个输入条件在输出接口上是无关的,但是在软件设计上,内部针对这个条件走了不同的程序分支

适用范围:多个输入判断条件存在逻辑关系,且不分先后的情况。

 

实例演习

1、如果【觉得疲倦】并且对书的内容【感兴趣】,同时书中的内容让你【糊涂】的话,回到本章重读

2、如果【觉得疲倦】并且对书的内容【感兴趣】,同时书中的内容【不让你糊涂】,继续读下去

3、【不觉得疲倦】并且对书的内容【感兴趣】,但是书中的内容让你【糊涂】的话,回到本章重读

4、如果【觉得疲倦】并且对书中的内容【不感兴趣】,同时书中的内容不让你糊涂,请停止阅读,休息

5、如果【觉得疲倦】并且对书的内容【不感兴趣】,并且书中的内容让你糊涂,请停止阅读,休息

6、【不疲倦】,对书的内容【感兴趣】,书中的内容不糊涂,继续读下去

7、【不疲倦】,【不感兴趣】,书中内容糊涂,跳到下一章去读

8、【不疲倦】,【不感兴趣】,书中内容不糊涂,跳到下一章去读

解析

列出所有条件桩、动作桩

技术图片

 

化简合并

技术图片

 

以上是关于测试基础方法之判定表法的主要内容,如果未能解决你的问题,请参考以下文章

常用测试用例设计方法之判定表法详解

测试用例设计方法之判定表

判定表法测试用例设计

测试用例设计方法

测试用例设计方法

决策表法