测试用例设计技术---------因果图之二

来源:互联网 发布:mac最新版本10.12 编辑:程序博客网 时间:2024/04/29 21:51

           上次讲了因果图法的基本原理,这种方法是有因必有果,正是由于多个原因的不同组合,使得结果也不尽相同。由于组合情况很多,才用因果图法能大大简化测试用例的数量。

             我们来看一个例子: 

有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:
       若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。

怎么分析这种具有一定实际意义的情况呢?

         按照因果图的说法,我们先分析一下,把原因与结果先找出来:

           原因是输入条件,在自动售货机里,硬币的投入、按钮的按下,都是输入,这样的话就有以下几个原因:

        (1)投入5角硬币

        (2)投入1元硬币

        (3)按下“橙汁”按钮

        (4)按下“啤酒”按钮

          结果有哪些呢?

          (1)送出“橙汁”饮料

          (2)送出“啤酒”饮料

          (3)找5角硬币

           按照因果关系,把因果图的雏形画出来:

再加上因果图的约束关系,那么图形就成为以下:

根据最终的因果图生成判定表:

       因果图生成判定表       1 2 3 4 5 6 7 8   投入1元硬币 1 1 1 1 0 0 0 0 0 输        入 投入5角硬币 2 0 0 0 1 1 1 0 0   按下"橙汁"按钮 3 1 0 0 1 0 0 1 0   按下"啤酒"按钮 4 0 1 0 0 1 0 0 1 中间节点 已投币 11 1 1 1 1 1 1 0 0   已按钮 12 1 1 0 1 1 0 1 1 输        出 退还5角硬币 21 1 1 0 0 0 0 0 0   送出"橙汁"饮料 22 1 0 0 1 0 0 0 0   送出"啤酒"饮料 23 0 1 0 0 1 0 0 0

最后把测试用例写出来:

  测试用例 用例编号 用例说明 输入数据 预期结果 SHJ-001

(1)投入硬币

(2)按下按钮

1元

“橙汁”按钮

退还5角硬币

送出“橙汁”饮料

SHJ-002

(1)投入硬币

(2)按下按钮

1元

“啤酒”按钮

退还5角硬币

送出“啤酒”饮料

SHJ-003 (1)投入硬币 1元 给出提示信息 SHJ-004

(1)投入硬币

(2)按下按钮

5角

“橙汁”按钮

送出“橙汁”饮料

SHJ-005

(1)投入硬币

(2)按下按钮

5角

“啤酒”按钮

送出“啤酒”饮料

SHJ-006 (1)投入硬币 5角 给出提示信息 SHJ-007

(1)按下按钮

“橙汁”按钮

给出提示信息 SHJ-008

(1)按下按钮

“啤酒”按钮

给出提示信息

 

原创粉丝点击