测试用例设计—自动售货机因果图分析
- 格式:doc
- 大小:26.00 KB
- 文档页数:6
题目:有一个处理单价为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."钱已付清3.转换成判定表:4.设计测试用例1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。
2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。
3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。
4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。
5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。
6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。
7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。
8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。
9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。
10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。
一、测试项要求如下:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明如下:若投入5角钱或1元钱灯是亮的,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红二、分析以上要求,得出原因和结果:原因:1、售货机有零钱找2、投入1元钱3、投入5角钱4、选择橙汁5、选择啤酒结果:21、售货机“零钱找完”灯亮22、退还1元钱23、找回5角钱24、送出橙汁饮料25、送出啤酒饮料三、因果图如下:思路:逐个分析条件,看它与其它哪些条件之间有制约关系,都会影响哪些结果,把这种制约影响关系画出四个角度着手画因果图。
又由于条件1为真和为假时导致的结果不同,所以为真和为假两种情况下的因果图都要画出来,否因果图中出现的中间节点为:11、需要找回5角钱12、选择了橙汁或啤酒13、售货机能够找出5角钱14、钱已结清,可以送出饮料四、根据因果图画出判定表1、条件2、3不能同时为1123456789101有零钱找1111111111四、根据状态图完成判定表12=or(4,5)11=and(2,12)13=and(1,11)14=or(3,13)21=not(1)22=and(11,not(1))23=1324=and(4,14)五、将这16条规则分别转化测试用例其它用例略1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
当售货机没有零钱找,则一个显示〖零零钱找,则显示〖零钱找完〗的红灯不会亮,在送出饮料的同时退还5角硬币。
系画出来,直到所有条件都被分析、所有结果都被覆盖。
本例中,条件1、2、4;1、2、5;3,4;3,5之间存在情况下的因果图都要画出来,否则覆盖不到所有结果。
1234567892012345678111111000000000000示〖零钱找完〗的红间存在制约关系,从这。
题目:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。
其规格说明如下:若投入1元5角钱硬币,押下〖可乐〗或〖雪碧〗或〖红茶〗的按钮,则相应的饮料就送出来。
若投入的2元硬币,在送出饮料的同时退还5角硬币。
1.分析这一段说明,列出原因和结果
原因:
1.投入1元5角硬币
2.投入2元硬币
3.押下可乐按钮
4.押下雪碧按钮
5.押下红茶按钮
结果:
21.退还5角硬币
22. 送出可乐饮料
23. 送出雪碧饮料
24.送出红茶饮料
2.画出因果图
如图所示。
所有原因结点列在左边,所有结果结点列在右边。
建立中间结点,表示处理的中间状态。
中间结点:
11. 已投币
12. 押下〖可乐〗或〖雪碧〗或〖红茶〗的按钮
(1) 因果图
3.转换成判定表:
4.设计测试用例
1)只押下可乐按钮不投币,系统不做任何处理。
2)只押下雪碧按钮不投币,系统不做任何处理。
3)只押下红茶按钮不投币,系统不做任何处理。
4)只投入2元硬币不按钮,系统不做任何处理。
5)投入2元硬币并押下红茶按钮,找回5角硬币并送出红茶饮料。
6)投入2元硬币并押下雪碧按钮,找回5角硬币并送出雪碧饮料。
7)投入2元硬币并押下可乐按钮,找回5角硬币并送出可乐饮料。
8)只投入1元5角硬币不按钮,系统不做任何处理。
9)只投入1元5角硬币并押下红茶按钮,送出红茶饮料。
10)只投入1元5角硬币并押下雪碧按钮,送出雪碧饮料。
11)只投入1元5角硬币并押下可乐按钮,送出可乐饮料。
1.某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
解答:1)根据题意,原因和结果如下:原因:1——第一列字符是A;2——第一列字符是B;3——第二列字符是一数字。
结果:21——修改文件;22 ——给出信息L;23——给出信息M。
2)其对应的因果图如下:11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E 约束。
3)根据因果图建立判定表。
表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况。
表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。
2.有一个处理单价为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——钱已付清3)转换成判定表:4)在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。
第16列与第32列因什么动作也没做,也删去。
最后可根据剩下的16列作为确定测试用例的依据。
【例】有一个处理单价未5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明为:若投入5角钱或1元钱的硬币,押下【橙汁】或【啤酒】的按钮,则相应的饮料就送出来。
若售货机没有零钱找,则一个显示【零钱找完】的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示【零钱找完】的红灯灭,在送出饮料的同时退还5角硬币。
1) 分析这一段说明,列出原因和结果
原因结果
1. 售货机有零钱找 21. 售货机【零钱找完】灯亮
2. 投入1元硬币 22. 退还1元硬币
3. 投入5角硬币 23. 退还5角硬币
4. 押下橙汁按钮 24. 送出橙汁饮料
5. 押下啤酒按钮 25. 送出啤酒饮料
2) 画出因果图,如图8.19所示。
所有原因结点列在左边,所有结果结点列在右边。
建立四个中间结点,表示处理的中间状态。
中间结点:11. 投入1元硬币且押下饮料按钮
12. 押下【橙汁】或【啤酒】的按钮
13. 应当找5角零钱并且售货机有零钱找
14. 钱已付清
投入1元硬币退还1元硬币
E
投入5角硬币找回5角硬币
押下橙汁按钮送出橙汁饮料
押下啤酒按钮送出啤酒饮料
图8.19 因果图
3) 由于2与3,4与5不能同时发生,分别加上约束条件E。
4) 因果图。
5) 转换成判定表。
图8.20 由因果图得到的判定表。
题目:有一个处理单价为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. 钱已付清3.转换成判定表:4.设计测试用例1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。
2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。
3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。
4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。
5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。
6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。
7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。
8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。
9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。
10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。
11)在售货机没有零钱找的情况下,投入1元硬币,售货机“零钱找完”灯亮。
题目:有一个处理单价为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. 钱已付清3.转换成判定表:4.设计测试用例1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。
2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。
3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。
4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。
5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。
6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。
7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。
8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。
9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。
10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。
11)在售货机没有零钱找的情况下,投入1元硬币,售货机“零钱找完”灯亮。
题目:有一个处理单价为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. 钱已付清3.转换成判定表:4.设计测试用例1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。
2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。
3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。
4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。
5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。
6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。
7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。
8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。
9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。
10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。
11)在售货机没有零钱找的情况下,投入1元硬币,售货机“零钱找完”灯亮。
题目:有一个处理单价为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.钱已付清3.转换成判定表:4.设计测试用例1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。
2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。
3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。
4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。
5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。
6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。
7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。
8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。
9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。
10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。
11)在售货机没有零钱找的情况下,投入1元硬币,售货机“零钱找完”灯亮。
测试用例设计—自动售货机因果图分析实验三黑盒测试(二)一、实验目的通过本实验,掌握因果图法生成测试用例的步骤。
二、相关内容利用因果图生成测试用例的基本步骤如下:(1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
(2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。
(3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。
为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。
(4)把因果图转换为决策表。
(5)根据决策表中的每一列设计测试用例。
三、实验内容有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
编写程序实现之,然后用因果图法对自动售货机设计测试用例并测试之。
要求:1、编写程序,实现上述自动售货过程。
(任选一种自己熟悉的语言,有无界面均可,实现相应的功能即可。
)2、用因果图法设计测试用例。
(1)正确画出因果图。
(2)画出决策表。
(3)给出测试用例。
提示:可按如下步骤进行:1)分析这一段说明,列出原因和结果。
2)画出因果图。
(所有原因结点列在左边,所有结果点列在右边。
可以考虑建立中间结点,表示处理的中间状态。
比如,可设如下几种中间状态:该找5角,可找5角,按下按钮、钱已付清)3)画出决策表。
4)给出测试用例。
四、实验报告实验报告提交内容:源程序清单、因果图、决策表。
(测试用例有时间就设计,没有时间可以不设计)一,因果图;因果图-画条件和结果有零钱选橙汁选啤酒投5角投1元红灯亮出橙汁出啤酒找5角找1元出橙汁出啤酒找5角找1元E E因果图-应该找零钱有零钱选橙汁选啤酒投5角投1元红灯亮出橙汁出啤酒找5角找1元EE 选商品钱付清VVV应该找零钱V出橙汁出啤酒找5角找1元EE有零钱选橙汁选啤酒投5角投1元红灯亮出橙汁出啤酒找5角找1元EE 选商品钱付清VVV应该找零钱V能够找零钱V因果图-5角钱付清红灯亮出橙汁出啤酒找5角找1元EE因果图-退还1元有零钱选橙汁选啤酒投5角投1元红灯亮出橙汁出啤酒找5角找1元EE 选商品钱付清VVVV应该找零钱V能够找零钱VV判定表去除无效用例合并判定表二,源程序:#include <stdio.h>#include<math.h>main(){ float a;int b;float LingQian=50;system("graftabl 936");clrscr();B:if(LingQian==0){printf("\n零钱找完!红灯亮!\n");}printf("\n请投币:\n");scanf("%f",&a);if(LingQian==0&&a==1){printf("返回1元") ;goto B;};if(a==0.5||a==1){printf("请选择饮料:\n 1为可乐! 2为啤酒!\n");scanf("%d",&b);if(a==1&&b==1){printf("\n可乐 \n 找零:0.5元\n"); LingQian=LingQian-0.5;}else if(a==1&&b==2){printf("\n啤酒 \n 找零: 0.5元\n"); LingQian=LingQian-0.5;}else if(a==0.5&&b==1){printf("\n可乐\n");LingQian=LingQian+0.5;}else if(a==0.5&&b==2){printf("\n啤酒 \n");LingQian=LingQian+0.5;}}else{goto B;} goto B;}。
盒装饮料自动售货机测试用例题目:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。
其规格说明如下:若投入1元5角钱硬币,押下〖可乐〗或〖雪碧〗或〖红茶〗的按钮,则相应的饮料就送出来。
若投入的2元硬币,在送出饮料的同时退还5角硬币。
1.分析这一段说明,列出原因和结果原因:1.投入1元5角硬币2.投入2元硬币3.押下可乐按钮4.押下雪碧按钮5.押下红茶按钮结果:21.退还5角硬币22. 送出可乐饮料23. 送出雪碧饮料24.送出红茶饮料2.画出因果图如图所示。
所有原因结点列在左边,所有结果结点列在右边。
建立中间结点,表示处理的中间状态。
中间结点:11. 已投币12. 押下〖可乐〗或〖雪碧〗或〖红茶〗的按钮(1) 因果图3.转换成判定表:4.设计测试用例1)只押下可乐按钮不投币,系统不做任何处理。
2)只押下雪碧按钮不投币,系统不做任何处理。
3)只押下红茶按钮不投币,系统不做任何处理。
4)只投入2元硬币不按钮,系统不做任何处理。
5)投入2元硬币并押下红茶按钮,找回5角硬币并送出红茶饮料。
6)投入2元硬币并押下雪碧按钮,找回5角硬币并送出雪碧饮料。
7)投入2元硬币并押下可乐按钮,找回5角硬币并送出可乐饮料。
8)只投入1元5角硬币不按钮,系统不做任何处理。
9)只投入1元5角硬币并押下红茶按钮,送出红茶饮料。
10)只投入1元5角硬币并押下雪碧按钮,送出雪碧饮料。
11)只投入1元5角硬币并押下可乐按钮,送出可乐饮料。
【例】有一个处理单价未5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明为:若投入5角钱或1元钱的硬币,押下【橙汁】或【啤酒】的按钮,则相应的饮料就送出来。
若售货机没有零钱找,则一个显示【零钱找完】的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示【零钱找完】的红灯灭,在送出饮料的同时退还5角硬币。
1) 分析这一段说明,列出原因和结果
原因结果
1. 售货机有零钱找 21. 售货机【零钱找完】灯亮
2. 投入1元硬币 22. 退还1元硬币
3. 投入5角硬币 23. 退还5角硬币
4. 押下橙汁按钮 24. 送出橙汁饮料
5. 押下啤酒按钮 25. 送出啤酒饮料
2) 画出因果图,如图8.19所示。
所有原因结点列在左边,所有结果结点列在右边。
建立四个中间结点,表示处理的中间状态。
中间结点:11. 投入1元硬币且押下饮料按钮
12. 押下【橙汁】或【啤酒】的按钮
13. 应当找5角零钱并且售货机有零钱找
14. 钱已付清
投入1元硬币退还1元硬币
E
投入5角硬币找回5角硬币
押下橙汁按钮送出橙汁饮料
押下啤酒按钮送出啤酒饮料
图8.19 因果图
3) 由于2与3,4与5不能同时发生,分别加上约束条件E。
4) 因果图。
5) 转换成判定表。
图8.20 由因果图得到的判定表。
测试用例设计—自动售货机因果图分析命题有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
分析根据该命题,我们可以分析出,自动售货机的业务中一共存在5个条件和5个结果,分别是:条件:1.售货机有零钱找2.投入1元硬币3.投入5角硬币4.押下橙汁按钮5.押下啤酒按钮结果:1.售货机〖零钱找完〗灯亮当售货机中没有零钱的时候就有亮红灯2.退还1元硬币当投入1元,而且售货机中没有零钱可找的时候3.退还5角硬币 当投入1元,而且售货机中有零钱可找的时候4.送出橙汁饮料5.送出啤酒饮料因果图-画条件和结果有零钱选橙汁选啤酒投5角投1元红灯亮出橙汁出啤酒找5角找1元因果图-画简单关系在画完空白的条件和结果之后,我们可以将题目中最直接和简单的因果条件标出1、条件“有零钱”和结果“红灯亮”是一个“非”的关系,当“有零钱”的时候,红灯是不亮的,而当售货机中“没有零钱”的时候,红灯必须要亮的。
2、条件“投1元”和条件“投5角”是一个“E ”的关系,这两个动作不可能同时发生,即同时投入1元钱和5角钱(不能同时为真);但是我们允许即“不投入1元钱”也“不投入5角钱”(可以同时为假)。
3、条件“选啤酒”和条件“选橙汁”是一个“E ”的关系,这两个动作不可能同时发生,即同时“选择啤酒”和“选择橙汁”(不能同时为真);但是我们允许即“不选择啤酒”也“不选择橙汁”(可以同时为假)。
4、条件“选啤酒”和条件“选橙汁”对于程序处理过程是等价的,即二者无论是价格还是系统的处理方法都是相同的,因此这两个条件可以合并为一个中间节点。
而且这两个条件之间使用“或”的关系。
题目:有一个处理单价为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."钱已付清3.转换成判定表:4.设计测试用例1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。
2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。
3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。
4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。
5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。
6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。
7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。
8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。
9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。
10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。
实验3、黑盒测试:决策表法、因果图法及测试用例设计
一、实验目的
1、掌握决策表法、因果图的概念。
2、掌握决策表法、因果图测试用例设计法。
二、实验内容
有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:
若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。
若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。
用程序模拟该自动售货机(注:用屏幕输入、输出来模拟售货机的动作),然后用因果图法测试该程序。
三、实验步骤:
1)分析原因与结果
2)画出因果图
3)转化为决策表
4)根据决策表设计测试用例,得到测试用例表
代码:
#include <stdio.h>
main(){
float i;
char j;
printf("请投入硬币:\n");
scanf("%f",&i);
printf("请选择所需饮料:\na:橙汁 or b:啤酒\n");
scanf("%s",&j);
if(i==0.5){
printf("出货成功");
}
else{
printf("找零%.2f元\n出货成功",i-0.5);
}
}
答:。
测试用例设计—自动售货机因果图分析
命题
设计了一个自动售货机软件测试用例,用于处理单价为50美分的饮料。
规格如下:如果你放入50美分或1元硬币,并按下按钮[橙汁]或[啤酒],相应的饮料将交付如果自动售货机没有零钱,红灯将显示[零钱已经被换了],然后在放入1元硬币并按下按钮后,饮料将不会被递送,并且1元硬币将退出。
如果有零钱,显示“换出”的红灯将熄灭,50美分将在饮料交付时返还。
分析
根据这个命题,我们可以分析自动售货机业务中存在5个条件和5个结果。
条件如下:
1。
自动售货机有零钱。
投入1元硬币3。
投入50美分硬币4。
按下橙汁按钮5。
按下啤酒按钮结果:
1。
自动售货机[换出]灯亮着。
当自动售货机没有变化时,会出现红灯
2。
当硬币投入1元并且自动售货机没有零钱时,返还1元硬币。
3.当硬币投入1元时,返还50美分。
当自动售货机4有变化时。
发送橙汁饮料5。
发送啤酒饮料
因果图-绘制条件和结果
有变化红灯亮1元1元50美分,啤酒50美分,橙汁
因果图-绘制简单关系
在绘制空白条件和结果后,我们可以标记
1为主题中最直接和最简单的因果条件。
条件“有变化”和结果“红灯亮”之间的关系是“没有”。
当“有零钱”时,红灯不亮,而当自动售货机“没有零钱”时,红灯必须亮。
2年,有条件的“投1元”和有条件的“投50分”是一种“E”关系。
这两个动作不能同时发生,即1元钱和50美分(不能同时发生);但是,我们允许“没有1元钱”和“没有50美分”(同时可能是假的)
3,“啤酒选择”条件和“橙汁选择”条件为“e”关系,这两个动作不能同时发生,即“啤酒选择”和“橙汁选择”(不能同时为真);但是我们允许“不喝啤酒”和“不喝橙汁”(这可能同时是错误的)
4,条件“啤酒选择”和条件“橙汁选择”相当于程序处理过程,即价格和系统处理方法都是相同的
,因此这两个条件可以组合成一个中间节点此外,在两个条件之间使用“或”的关系
5。
请注意,有条件的“1元”和有条件的“50美分”不是等价关系。
从表面上看,他们都是“钱”,这似乎是相似的。
然而,程序的处理是完全不同的。
在“50美分”(因为标题规定所有商品都是50美分)之后,完全没有必要判断当前的自动售货机是否有任何变化,但是“1元”不是
有小变化,红灯亮,1元E投50美分选择商品,1元找50美分选择啤酒E选择橙汁V给啤酒给橙汁
因果图-给商品
现在我们从结果的角度考虑,如果我们想“给啤酒”或“给橙汁”,我们必须从实际销售中分析哪些先决条件?是的,它意味着“你的钱必须付清”,你必须选择“啤酒”或“橙汁”但是,在上述现有的因果图中,我们找不到“放线”的因素,所以此时我们可以尝试添加一个中间节点,称为“放线”
为了获得所选择的商品,必须同时建立“现金支付”和“啤酒/橙汁选择”的条件,因此它是“和”的关系
变化不大。
红灯亮,1元E投50美分选择商品。
付钱吧。
找到1元找到50分选择啤酒E选择橙汁
因果图-应该改变。
根据问题的含义,当投入1元钱并选择某种商品时,系统需要很小的改变。
然而,现有的条件和结果并没有解决“应该给出改变”的情况,所以我们需要添加一个中间节点“应该给出改变”
VVV啤酒出和橙汁出
条件“投1元钱”和条件(中间节点)“选择商品”和结果(中间节点)“应该改变”是“与”的关系,即两个条件必须同时满足
变化不大。
红灯亮着。
1元应该换成50美分来支付货款。
啤酒E橙汁
因果图——可以改变。
上面已经确定了“1元钱”和“商品选择”。
系统应该给顾客50美分。
接下来,它将看看自动售货机里有没有零钱。
幸运的是,有一个“小
变化”的条件。
现在系统“应该改变”给客户,而只是“已经改变”给客户,那么就可以确定系统“可以改变”给客户,所以这里我们可以添加一个中间节点“可以改变”
条件”有变化”和条件(中间节点)”应该变化”和结果”可以变化”是”和”
已更改为1元投50美分选择商品和支付啤酒e选择橙汁
因果图-1元支付
现已确认,在客户“投资1元钱”和“选择商品”后,系统“已更改”查找,然后客户可以立即更改。
“能够改变”的条件和“寻找50美分”的结果是“相等的”。
“能够改变”的条件和结果(中间节点)“回报”也是“相等的”。
VVVVVE应该能找到零钱VVVE应该能找到零钱50美分啤酒橙汁
红灯亮是在找50美分啤酒橙汁
红灯亮是在找零钱1元找1元50美分商品钱付啤酒e
因果图-50美分付
考虑到系统的处理后投资1元因为自动售货机中的所有商品都是50美分,所以只要顾客“投入50美分”并按下相应的商品选择按钮,就没有零钱的问题
因此,“50分”的条件和结果(中间节点)“支付的钱”直接与“平等”有关此外,条件“50美分”和条件(中间节点)“可以改变”都表示金额的计算
已经完成,即“钱已经付清”。
因此,条件“50美分”和条件(中间节点)“可以改变”之间的关系以及结果(中间节点)“钱付清”是“或”
有小的变化为1元,50美分为商品,啤酒,e为橙汁,
因果图-退款为1元
在我们考虑了50美分和1元的变化后,我们最后考虑退款为1元毫无疑问,当将1元钱放入自动售货机并选择某一商品时,如果自动售货机中没有零钱,1元钱只能返还给用户。
因此,条件“不变”与条件“应变”的关系,结果“1元变化”应为“和”。
此外,我们用一个明确的描述来描述我们状态的变化,即“有变化”。
为了表示没有变化,我们可以直接使用“否”键
VVVVEV应该能够给零钱付VVVVVEV应该能够给零钱50美分从啤酒中拿出橙汁
红灯找到1元从啤酒中拿出橙汁
红灯扔零钱1元50美分从商品中拿出啤酒
决定表
删除无效用例
VVVEV应该更改可以更改支付方式支付方式找到1元50美分啤酒橙汁
合并决策表256。