Day04
昨天的学习中提了一下判定表的基本用法和定义,今天通过一个案例来巩固一下学过的内容
- 列出所有条件桩和动作桩
- 确定规则的个数
- 填入条件项和动作项
- 化简,合并相似的规则
- 将规则转化成测试用例
案例题目:行李托运费处理逻辑:航空规定,乘客可以免费托运30 公斤的行李,当重量超过30公斤时,对头等舱的国内乘客超重部分每公斤收费4元;对其它舱的国内乘客超重部 分每公斤收费6元;对外国乘客收费多一倍;对残疾乘客收费减半。
-
- 分析题目:①乘客分为是否头等舱、是否国内乘客和是否残疾乘客,行李分为是否超过30公斤;②价格分为免费、4元、6元、多一倍、减半,则可以得到以下数据:
-
- 条件桩:是否头等舱、是否国内乘客、是否残疾乘客、是否超过30kg
- 动作桩:免费、4元、6元、多一倍、减半
- 规则个数:2^条件桩个数=2^4=16个
条件桩 | 超过30kg | N | Y | Y | Y | Y | Y | Y | Y | Y | 国内乘客 | - | Y | Y | Y | Y | N | N | N | N | 头等舱乘客 | - | Y | Y | N | N | Y | Y | N | N | 残疾乘客 | - | Y | N | Y | N | Y | N | Y | N | 动作桩 | 免费 | 1 | | | | | | | | | 4元 | | 1 | 1 | | | 1 | 1 | | | 6元 | | | | 1 | 1 | | | 1 | 1 | 减半 | | 1 | | 1 | | 1 | | 1 | | 多一倍 | | | | | | 1 | 1 | 1 | 1 | 最终结果 | 0 | 2 | 4 | 3 | 6 | 4 | 8 | 6 | 12 |
因果图用于描述系统的输入输出、以及输入和输出之间的因果关系、输入和输入之间的约束关系。因果图的绘制过程是对被测系统外部特征的建模过程。根据系统输入输出间的因果图可以得到判定表,从而规划出测试用例。因果图和判定表两种方法在实际使用中结合紧密,往往同时使用,此时可以理解因果图为判定表的前置过程。对于一些简单的系统,或输入与输出已经非常明确的系统,判定表可以单数使用,如前所述的判定表法。
输入与输出之间的因果关系:
- 恒等:当输入项发生,会产生对应输出;当输入项不发生时,不会产生对应的输出。
- 非:与恒等关系相反。
- 或:多个输入条件中,只要有一个发生,则会产生对应的输出。
- 与:多个输入条件中,只有所有的输入都发生时,才会产生对应的输出。
输入条件和输入条件之间的约束
- E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1;也可能a,b同时为0
E(C1,C2,C3): C1,C2,C3不会同时成立,最多只能有一个成立,可以同时不成立。
C1 | C2 | C3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
- I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。
I(C1,C2):C1,C2不能同时为0
- O约束(唯一);a和b必须有一个,且仅有1个为1。
O(C1,C2):C1,C2有且仅有一个为1
- R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。
R(C1,C2):C1是1,C2必须是1
输出和输出的约束:输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为 0。
?M(Ef1, Ef2)
通过因果图设计测试用例步骤:
1.确定原因和结果
2.确定原因和结果之间的(因果)关系
3.确定原因和原因(结果和结果)的约束关系
4.画出因果图,转换成判定表
5.根据判定表转化成测试用例
|