黑盒测试-因果图法

  

所谓 原因,指的就是输入;所谓结果,指的就是输出。因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排位组合。

题目:某奖金计算软件完成如下功能:

        (1)该软件可以计算某公司的年终奖,该公司员工分为普通员工和管理人员。

      (2)员工表现分为普通,优秀和特殊贡献奖。(普通员工和优秀员工都可以有特殊贡献,普通员工和管理人员表现相同,但工资是不同的)。

      (3)根据员工的分类和表现,将奖金分为1类奖金,2类奖金,3类奖金, 输入员工类型和表现,就会输出相应的奖金类别。

员工类别:普通员工A1

              管理人员A2

变现类别:普通B1

     优秀B2

       特殊贡献B3

奖金类别:1类奖金C1

     2类奖金C2

              ....................................  

测试用例如下表:

原因 结果
A2+B1==(管理人员普通表现) C1==1类 奖金       
A2+B2==(管理人员优秀表现) C2==2类奖金
A2+B1+B3==(管理人员普通表现,且有特殊贡献) C3==3类奖金
A2+B2+B3==(管理人员普通表现,且有特殊贡献) C4==4类奖金
原因 结果 
A1+B1==(普通员工表现普通) C5==5类奖金  
A1+B2==(普通员工表现优秀) C6==6类奖金  
A1+B1+B3==(普通员工表现普通,且有特殊贡献)    C7==7类奖金               
A1+B2+B3==(普通员工表现优秀,且有特殊贡献)  C8==8类奖金 
   
   
   

上面列举的题目可以分为4个步骤进行:

(1)找出所有输出条件和输出条件,并编号。

(2)分析输入条件之间的关系,是互斥还是可以同时满足。

(3)画出输入条件的排列组合情况。

(4)编写测试用例。

----------------------------------------------------------------------------------------------------------------

应用场合:

当软件的输入条件较多的时候,可以考虑用因果图法来设计测试用例。考虑输入的所有排列组合情况,防止遗漏。

因果图的局限性:

假如有n个条件。每个条件有真或假两种取值,理论上就有2的n次方钟排列组合。大大增加了测试用例的个数,不便于维护。

再来看一个例子。

例:某旅馆住宿系统可为游客办理房间选定、房间支付及房间管理相关任务,此系统默认房间资源始终保持充足的状态。其需求描述如下:

      当支付房间全款(即预期入住天数内所有房款)或支付房间房款不足(仅支付定金),选择"单人间"、"双人间"或"豪华间",则相应类型的房间被开启。若游客支付房款不足,则在开启房门的同时系统提示房款支付不足。

问题:采用因果图进行测试用例设计

第一步:首先分析需求说明,找出原因和结果

           原因:

                   1、游客支付房间全款

        2、游客支付房款不足

        3、游客选择单人间

        4、游客选择双人间

        5、游客选择豪华间   

            结果:

        1、该类型的房间被打开,且提醒房款支付不足

        2、单人间已经被开启

        3、双人间已经被开启

            4、豪华间已经被开启

    

  

原文地址:https://www.cnblogs.com/yusijie/p/6594728.html