先列出百度对因果图的定义:http://baike.baidu.com/view/4532272.htm,发现居然是岛国人发明的东东。
再谈这个案例因果图应用之前,先啰嗦几句:
因果图在黑盒技术中一直是非常受重视的方法,排位在第三,继等价类和边界值之后。
但无论是业界还是学术界都很少用到因果图,因为
因果图难以真正应用,时间浪费在如何画因果图上,倒不如直接用决策表转换来得直接。
人们不喜欢用因果图,是因为:
1、如果条件很少,例如少于5个,那么大可不必用因果图,直接用决策表排出所有的可能,就可以推出结果了。
2、如果条件很多,大于6个,那么规则数就至少有64个,还需要一个一个分析,如果没有工具帮助自动分析是非常麻烦,费时的。
3、因果图分析,对决策表的判断并没有节约时间和精力的帮助,反而要一个一个重新在来考虑和判断。
我的个人感受是:这个因果图感觉是个鸡肋,岛国人发明的东西真不咋地。
建议将来的教材,完全可以取消这个因果图方法了!
牢骚归牢骚,工作还是要做滴,下面言归正传,来谈谈因果图的应用实际案例。
下面是用因果图来分析新浪加经验值的规则的测试:
一、需求功能分析
微博经验值计算规则:
http://level.account.weibo.com/level/levelexplain
这里只选了基础任务的两个规则。因为第1个规则,是写微博加5分,相对独立;
第二个成长任务是临时的,值也不确定,无法测。
第三个新手任务和第四个升级任务,和LV的级别有关,而且经验值都是30,也相对独立,因此不加入统计。
微博经验值计算,其中连续登录和会员加速的规则如下:
2、连续登录任务
任务名称 |
登录天数 |
奖励经验值 |
连续登录 |
首次登录 |
1 |
连续登录第2天 |
2 |
|
连续登录第3天 |
3 |
|
连续登录第4天 |
4 |
|
连续登录第5天 |
5 |
|
连续第6天开始每次登录+5经验值(如果中断会从按首次登录重新计算) |
5 |
3、会员加速
会员加速任务 |
会员等级 |
普通会员奖励经验值 |
年费会员奖励经验值 |
会员登录微博 |
VIP1 会员 |
1 |
3 |
VIP2 会员 |
2 |
4 |
|
VIP3 会员 |
3 |
5 |
|
VIP4 会员 |
4 |
6 |
|
VIP5 会员 |
5 |
7 |
|
VIP6 会员 |
6 |
8 |
微博的经验值获得,与登录天数、会员等级数是相关的。
设:N是会员等级数,D为登录天数
二、测试用例设计
1)分析哪些是原因,哪些是结果。画出因果图。
给每个原因和结果并赋予一个标识符,根据这些关系,画出因果图。因果图上用一些记号表明约束条件或限制条件。
原因 |
结果 |
1.天数>5 |
21. 5分 |
2.登录 |
22. D分 |
3.普通会员 |
23. N分 |
4.年费会员 |
24.N+2分 |
5.用户 |
|
中间过程:
11.身份是用户、普通会员或年费会员
12.连续登录5天以内
13.连续登录大于5天
2)把因果图转换成判定表
以下判定表中:灰色部分表示规则原因之间O约束和R约束
3)将判定表的每一列作为依据,设计测试用例。