一、因果图
1、定义:从程序规格说明描述中找出输入条件和输出条件之间 的关系,也就是因和果之间的关系,主要用于输入输出之间的各种关系场景,通常与判定表结合使用
- 优点
- 补充了边界值与等价类交互的不足,更好的考虑了输入与输出关系的组合 2.可以更好的让我们理解比较复杂的业务逻辑,使业务逻辑更加清晰
- 缺点 1.输入条件和输出条件不易从需求中得到 2.因果关系复杂时用例会非常庞大
2、输入与输入之间的关系
- 异:所有输入条件中做多有一个结果产生,也可能一个都没有(<=1)
- 或:所有输入条件中最少有一个产生、或者多个、或者全部(>=1)
- 唯一:所有输入条件中,有且只有一个条件产生(1)
- 要求: 所有的输入条件中只有一个产生其他的也会跟着出现
3、输入与输出之间的关系
- 恒等:当输入条件发生时结果一定会出现(1=1)或当输入条件不发生时结果一定不会出现(0)
- 与:当多个输入条件中,只有所有输入条件都发生结果时结果才会出现(全为真为真)
- 或:当多个输入条件中只要有一个发生结果就会出现(一个为真就为真)
- 非:当输入条件发生时,结果不一定发生或当输入条件不发生时结果一定会出现
二、判定表
1、定义:判定表是另一种表达逻辑判断的工具。可以把复杂的关系和各种组合条件的情况表达的明确又清晰
- 优点:能把所有条件的组合充分的表达出来,对组合情况充分覆盖
- 缺点:建立过程较复杂,输入条件过多时,用例庞大,容易产生冗余
2、条件桩、条件项、动作桩、动作项
- 条件桩:被测对象的所有输入
- 条件项:列出所有被测对象输入的各种取值
- 动作桩:系统可以采取的操作
- 动作项:列出在条件项的各种取值情况下应该采取的操作
3、设计步骤
- 根据需求确定条件桩和动作桩
- 画出因果图
- 将因果图转化为判定表
- 将判定表转化为用例
4、EG(后续补充)
注:本文的内容源自其他博客以及自己学习相结合,仅供学习交流不用于其他用途(小菜鸟也有大梦想,希望各位大佬带我学习,指出不足)