51Testing软件测试论坛

标题: 自动贩卖机的因果图解释 [打印本页]

作者: xianyuiou    时间: 2010-6-23 17:38
标题: 自动贩卖机的因果图解释
有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
1) 分析这一段说明,列出原因和结果
原因:
1.售货机有零钱找
2.投入1元硬币
3.投入5角硬币
4.押下橙汁按钮
5.押下啤酒按钮
结果:
21.售货机〖零钱找完〗灯亮   
22.退还1元硬币
23.退还5角硬币              
24.送出橙汁饮料
25.送出啤酒饮料
2)画出因果图,如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点:
11. 投入1元硬币且押下饮料按
12. 押下〖橙汁〗或〖啤酒〗的按钮
13. 应当找5角零钱并且售货机有零钱找
14. 钱已付清
[attach]63225[/attach]

有那个高手可以解释下这个因果图是怎么画的吗?
主要是画的思路,以及这个中间结点是怎么来的啊?
万分感谢了。
作者: xianyuiou    时间: 2010-6-23 17:41
主要是因果图的中间结点是怎么考虑的,另外就是原因跟结果之间的关系如何对应的。
作者: xianyuiou    时间: 2010-6-24 09:09
没有高手会的么?救救我啊!
作者: davy_chen    时间: 2010-6-24 09:46
高手都懒得一次次的重复回答相同的问题,所以高手不是不会,是假装不会
1、原因和结果之间的关系就是实际的业务逻辑关系,如何对应,取决于对于需求的分析;
2、因国图怎么画的,根据逻辑关系,使用因国图的规定表示方式画出来,好像画逻辑电路图一样;
3、该图中的中间节点的出现是因为传统因果图中,只有4种基本连接符号,恒等、非、与、或,所以遇到复杂逻辑时无法通过直接的连接符号进行表示,就出现了中间节点来实现。
作者: Jackc    时间: 2010-6-24 11:27
我以前做过一个这道题的培训PPT,你可以先看看[attach]63232[/attach]
作者: Jackc    时间: 2010-6-24 11:33
哦~,忘了说了,看PPT的时候用播放模式,这样你能看到整个因果图是怎样画出来的::daxiao:::
作者: xianyuiou    时间: 2010-6-24 15:29
标题: 回复 5# 的帖子
还是版主好啊!非常感谢,就是想学1个,举一反三,反而我连一个都看不懂,懂了他 的实际步骤,不知道该如何操作。
作者: willingchenlp    时间: 2010-6-24 15:33
这是51培训时候讲的题啊.
作者: willingchenlp    时间: 2010-6-24 15:38
恒等.或.非.与.

异.或.唯一.要求.

这几个搞不懂,这图就别看了,这几个搞懂了.这图稍看一下就行了.
作者: Jackc    时间: 2010-6-24 15:47
因果图主要分三步走:
1、确定输入条件和输出结果
哪些测试元素是用户“能够操作”的,分为一类
哪些测试元素是用户通过输入能“查看到的结果”,分为一类

2、初步连接输入和输出,提取中节点
此过程有2步,需要同时进行:

1)分析各个输入条件的关系(这里需要熟悉因果关系),由因果关系和需求条件决定每个输入节点是否存在多个流程;

2)将输入条件一一与输出条件连接,连接过程中就能发现某一些输入条件还需要必要的“前提条件”才能顺利连接到输出结果。
这些“前提条件”不是用户能操作的,但是与输出结果有必然关系的,就是“中节点”了。

3)检查
分析每条流程中,针对于同一节点的不同流程间的关系,判断设计的因果图是否正确和完善。(最好能再结合需求条件分析一些具有代表性的输入数据来辅助检查)

到这里因果图就设计好了,剩下的就是转换为判定表的工作了。

因果图法大概就是这么一个过程。
作者: Jackc    时间: 2010-6-24 15:49
标题: 回复 8# 的帖子
那几个关系还是很好理解的嘛,你想想,+、—、*、/以及开方这些都能学会,那4个运算符又是什么难题呢?

只要多用几次就行了~::daxiao:::
作者: ziyeduanxiang    时间: 2010-7-22 13:40
面试遇到这问题,已悲剧
作者: tandy011922    时间: 2010-9-13 17:13
这是51培训时候讲的题啊
作者: sighout    时间: 2010-9-24 21:12
我去华为也面试过这个题,没做出来
作者: cocaxiaojing    时间: 2010-11-18 14:08
回复 5# Jackc


    判定表如何生成的啊?
作者: Jackc    时间: 2010-11-18 16:01
回复 15# cocaxiaojing

引用“黑盒测试用例设计白皮书”中关于此实例的判定表如下:

[attach]66421[/attach]

1。首先,先看“条件”部分(最上面那5行),根据5个输入条件,穷举出所有的可能性,每个输入条件具备2个属性:真 & 假。
2^5=32,所以有32个用例。

2。然后根据条件得到“中间结果”部分,最后得到“结果”。

3.根据因果图关系,将判定表中“条件”“中间结果”“结果”三部分关系不一致的用例去掉(其实完成“条件”穷举时就可以筛掉一部分了),也就是灰色的部分。

4.删除无效的用例,如16和32列,因为没有进行任何操作,所以删掉。

5.整理最后可用的用例。所有“测试用例”项为“Y”的列则为真实用例,共16个。
作者: cocaxiaojing    时间: 2010-11-19 11:18
回复 16# Jackc
这个用例的前5列我有疑问,为什么没有结果呢?钱难道是白投了?钱不吐出来吗?
作者: cocaxiaojing    时间: 2010-11-19 11:32
回复 16# Jackc


    因果图我能看明白,就是这个判定表我有点不明白!
作者: Jackc    时间: 2010-11-19 12:32
回复 18# cocaxiaojing

比如第1~4列,2,3条件均为真。此用例不符合条件2和条件3应为“唯一”的属性,故舍去。

第5列,4,5条件均为真,不符合4,5条件的唯一属性,舍去。
作者: cocaxiaojing    时间: 2010-11-19 13:39
回复 19# Jackc


    明白了 ,谢谢你!
作者: rick_rich    时间: 2012-9-16 13:42
回复 5# Jackc


    Jack大大,您这个因果图ZIP,解压有问题,可否重传下呀,新手叩拜,谢谢。
作者: doublelucky    时间: 2012-9-16 22:14
一直在研究中,谢谢,先记下了,顶顶!!
作者: buble84    时间: 2012-10-10 17:57
我想请教,正V跟到V一样吗?回复 5# Jackc




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2