使用因果图法设计测试用例

因为工作中对测试用例的要求没有那么严格,所以,已经很久没有正儿八经的去设计测试用例了,最近因为个人原因重新梳理设计测试用例的方法,对因果图法有了更深的理解。

 

什么情况下会用到因果图设计方法?利用图解法分析各种组合情况,它适用于检查程序输入条件的各种组合情况。

等价类划分和边界值分析都是着重考虑输入条件 ,但没有考虑输入条件的各种组合,输入条件之间的相互制约关系。

虽然各种输入条件可能出错的情况考虑到了,但多个输入条件组合起来可能出错的情况却被忽视了。

如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合,相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图。

 

下面通过案例与大家分享,因果图法的设计思路。

案例:交通一卡通自动充值软件

需求:

系统只接收50元 或100元纸币,一次只能使用一张纸币,一次充值金额只能为50元或100元;

若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功;

若输入50元纸币,并选择充值100元,提示输入金额不足,并退回50元;

若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找零50元;

若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功;

若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误;

若选择充值按钮后不输入纸币,提示错误。

 

操作步骤:

1.找出所有的原因,原因即输入条件或输入条件的等价类

2.找出所有的结果,结果即输出条件

3.明确所有输入条件之间的制约关系以及组合关系。哪些条件不能组合到一起,哪些条件可以组合到一起

4.明确所有输出条件之间的制约关系以及组合关系,哪些输出结果不能同时输出,哪些输出结果可以同时输出

5.找出什么样的输入条件组合会产生哪种输出结果

6.把因果图转换为判定表/决策表

7.为判定表/决策表中的每一列表示的情况设计测试用例

 

操作:

一、找出所有条件

  1.输入50元

  2.输入100元

  3.选择充值50元

  4.选择充值100元


二、找出所有结果

  a.完成充值后,退卡

  b.提示充值成功

  c.退回50元/100元--找零

  d.提示错误

三、明确条件与条件、结果与结果、条件与结果的关系

  条件1和条件2不能组合;

  条件3和条件4不能组合;

  条件1和条件3可以组合;

  条件1和条件4可以组合;

  条件2和条件3可以组合;

  条件2和条件4可以组合;

  条件1234可以单独出现。

 

  结果a和结果d不能组合;

  结果b和结果d不能组合;

  结果a和结果b必须组合;

  结果abc可以组合;

  结果c和结果d是可以组合;

  结果d可以单独出现。

根据以上文字画出因果图

  条件与条件的关系、结果与结果的关系(E是互斥不能同时存在,R是要求必须同时存在)

条件与结果的关系

1.

2.

 

 3.

 

 4.

 5.

 6.

 7.

 8.

 根据以上1-8的因果图,把因果图转换为决策表(判定表)

 为判定表/决策表中的每一列表示的情况设计测试用例

 

posted @ 2024-06-12 10:30  牛小胖  阅读(235)  评论(0)    收藏  举报