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
C1 |
C2 |
1 |
1 |
1 |
0 |
0 |
1 |
- O约束(唯一);a和b必须有一个,且仅有1个为1。
O(C1,C2):C1,C2有且仅有一个为1
C1 |
C2 |
0 |
1 |
1 |
0 |
- R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。
R(C1,C2):C1是1,C2必须是1
C1 |
C2 |
1 |
1 |
0 |
0 |
0 |
1 |
输出和输出的约束:输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为 0。
M(Ef1, Ef2)
通过因果图设计测试用例步骤:
1.确定原因和结果
2.确定原因和结果之间的(因果)关系
3.确定原因和原因(结果和结果)的约束关系
4.画出因果图,转换成判定表
5.根据判定表转化成测试用例