自动贩卖机的因果图解释
有一个处理单价为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. 钱已付清
有那个高手可以解释下这个因果图是怎么画的吗?
主要是画的思路,以及这个中间结点是怎么来的啊?
万分感谢了。 主要是因果图的中间结点是怎么考虑的,另外就是原因跟结果之间的关系如何对应的。 没有高手会的么?救救我啊! 高手都懒得一次次的重复回答相同的问题,所以高手不是不会,是假装不会
1、原因和结果之间的关系就是实际的业务逻辑关系,如何对应,取决于对于需求的分析;
2、因国图怎么画的,根据逻辑关系,使用因国图的规定表示方式画出来,好像画逻辑电路图一样;
3、该图中的中间节点的出现是因为传统因果图中,只有4种基本连接符号,恒等、非、与、或,所以遇到复杂逻辑时无法通过直接的连接符号进行表示,就出现了中间节点来实现。 我以前做过一个这道题的培训PPT,你可以先看看 哦~,忘了说了,看PPT的时候用播放模式,这样你能看到整个因果图是怎样画出来的::daxiao:::
回复 5# 的帖子
还是版主好啊!非常感谢,就是想学1个,举一反三,反而我连一个都看不懂,懂了他 的实际步骤,不知道该如何操作。 这是51培训时候讲的题啊. 恒等.或.非.与.异.或.唯一.要求.
这几个搞不懂,这图就别看了,这几个搞懂了.这图稍看一下就行了. 因果图主要分三步走:
1、确定输入条件和输出结果
哪些测试元素是用户“能够操作”的,分为一类
哪些测试元素是用户通过输入能“查看到的结果”,分为一类
2、初步连接输入和输出,提取中节点
此过程有2步,需要同时进行:
1)分析各个输入条件的关系(这里需要熟悉因果关系),由因果关系和需求条件决定每个输入节点是否存在多个流程;
2)将输入条件一一与输出条件连接,连接过程中就能发现某一些输入条件还需要必要的“前提条件”才能顺利连接到输出结果。
这些“前提条件”不是用户能操作的,但是与输出结果有必然关系的,就是“中节点”了。
3)检查
分析每条流程中,针对于同一节点的不同流程间的关系,判断设计的因果图是否正确和完善。(最好能再结合需求条件分析一些具有代表性的输入数据来辅助检查)
到这里因果图就设计好了,剩下的就是转换为判定表的工作了。
因果图法大概就是这么一个过程。
回复 8# 的帖子
那几个关系还是很好理解的嘛,你想想,+、—、*、/以及开方这些都能学会,那4个运算符又是什么难题呢?只要多用几次就行了~::daxiao::: 面试遇到这问题,已悲剧:L 这是51培训时候讲的题啊 我去华为也面试过这个题,没做出来 回复 5# Jackc
判定表如何生成的啊? 回复 15# cocaxiaojing
引用“黑盒测试用例设计白皮书”中关于此实例的判定表如下:
1。首先,先看“条件”部分(最上面那5行),根据5个输入条件,穷举出所有的可能性,每个输入条件具备2个属性:真 & 假。
2^5=32,所以有32个用例。
2。然后根据条件得到“中间结果”部分,最后得到“结果”。
3.根据因果图关系,将判定表中“条件”“中间结果”“结果”三部分关系不一致的用例去掉(其实完成“条件”穷举时就可以筛掉一部分了),也就是灰色的部分。
4.删除无效的用例,如16和32列,因为没有进行任何操作,所以删掉。
5.整理最后可用的用例。所有“测试用例”项为“Y”的列则为真实用例,共16个。 回复 16# Jackc
这个用例的前5列我有疑问,为什么没有结果呢?钱难道是白投了?钱不吐出来吗? 回复 16# Jackc
因果图我能看明白,就是这个判定表我有点不明白! 回复 18# cocaxiaojing
比如第1~4列,2,3条件均为真。此用例不符合条件2和条件3应为“唯一”的属性,故舍去。
第5列,4,5条件均为真,不符合4,5条件的唯一属性,舍去。 回复 19# Jackc
明白了 ,谢谢你!
页:
[1]
2