软件测试学习day04

Day04

  • 判定表

昨天的学习中提了一下判定表的基本用法和定义,今天通过一个案例来巩固一下学过的内容

  1. 列出所有条件桩和动作桩
  2. 确定规则的个数
  3. 填入条件项和动作项
  4. 化简,合并相似的规则
  5. 将规则转化成测试用例

案例题目:行李托运费处理逻辑:航空规定,乘客可以免费托运30 公斤的行李,当重量超过30公斤时,对头等舱的国内乘客超重部分每公斤收费4元;对其它舱的国内乘客超重部 分每公斤收费6元;对外国乘客收费多一倍;对残疾乘客收费减半。

    • 分析题目:①乘客分为是否头等舱、是否国内乘客和是否残疾乘客,行李分为是否超过30公斤;②价格分为免费、4元、6元、多一倍、减半,则可以得到以下数据:
    1. 条件桩:是否头等舱、是否国内乘客、是否残疾乘客、是否超过30kg
    2. 动作桩:免费、4元、6元、多一倍、减半
    3. 规则个数: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

  • 因果图

因果图用于描述系统的输入输出、以及输入和输出之间的因果关系、输入和输入之间的约束关系。因果图的绘制过程是对被测系统外部特征的建模过程。根据系统输入输出间的因果图可以得到判定表,从而规划出测试用例。因果图和判定表两种方法在实际使用中结合紧密,往往同时使用,此时可以理解因果图为判定表的前置过程。对于一些简单的系统,或输入与输出已经非常明确的系统,判定表可以单数使用,如前所述的判定表法。

输入与输出之间的因果关系:

  1. 恒等:当输入项发生,会产生对应输出;当输入项不发生时,不会产生对应的输出。
  2. 非:与恒等关系相反。
  3. 或:多个输入条件中,只要有一个发生,则会产生对应的输出。
  4. 与:多个输入条件中,只有所有的输入都发生时,才会产生对应的输出。

输入条件和输入条件之间的约束

  1. 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

  1. I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。

I(C1,C2):C1,C2不能同时为0

C1

C2

1

1

1

0

0

1

  1. O约束(唯一);a和b必须有一个,且仅有1个为1。

O(C1,C2):C1,C2有且仅有一个为1

C1

C2

0

1

1

0

  1. 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.根据判定表转化成测试用例

上一篇:js - 数据类型检测方法


下一篇:Lombok的使用,快速set get toString 无参有参