自动售货机黑盒测试:因果图与判定表实践

需积分: 15 9 下载量 194 浏览量 更新于2024-08-26 收藏 963KB PPT 举报
"该资源是一份关于黑盒测试的课堂练习,主要关注自动售货机的测试案例设计。练习中,自动售货机处理5角和1元硬币,提供橙汁和啤酒,并具备找零功能。当无零钱时,红灯亮且无法进行交易;有零钱时,红灯灭,同时退还找零。" 在黑盒测试中,我们关注的是软件的外部行为,而不关心其内部结构或工作原理。在这个自动售货机的例子中,我们需要依据其规格说明来设计测试用例。以下是根据规格说明构建的因果图和判定表: 1. 因果图:因果图是一种用于确定测试用例的方法,它表示了输入条件、输出结果以及它们之间的关系。对于自动售货机,我们可以绘制如下因果图: - 输入:硬币类型(5角,1元)、按钮选择(橙汁,啤酒) - 输出:饮料送出、找零、红灯状态 - 关系:投入适当硬币且按下按钮,应出饮料;无零钱时红灯亮;有零钱时红灯灭并找零。 2. 判定表:判定表是将所有可能的输入组合及其对应的输出结果列出来的表格。对于自动售货机,可能的判定表如下: | 硬币 | 饮料 | 零钱 | 红灯 | 结果 | | --- | --- | --- | --- | --- | | 5角 | 橙汁 | 有 | 灭 | 出饮料+找零 | | 5角 | 啤酒 | 有 | 灭 | 出饮料+找零 | | 1元 | 橙汁 | 有 | 灭 | 出饮料+找零 | | 1元 | 啤酒 | 有 | 灭 | 出饮料+找零 | | 5角 | 橙汁 | 无 | 亮 | 不出饮料+退硬币 | | 5角 | 啤酒 | 无 | 亮 | 不出饮料+退硬币 | | 1元 | 橙汁 | 无 | 亮 | 不出饮料+退硬币+1元 | | 1元 | 啤酒 | 无 | 亮 | 不出饮料+退硬币+1元 | 3. 测试用例:基于以上因果图和判定表,我们可以创建以下测试用例: - 测试用例1:投入5角硬币,选橙汁,预期结果:出橙汁,找零5角。 - 测试用例2:投入1元硬币,选橙汁,预期结果:出橙汁,无找零。 - 测试用例3:无零钱时,投入1元硬币,选橙汁,预期结果:不出橙汁,1元硬币退回。 - 测试用例4:投入5角硬币,选啤酒,预期结果:出啤酒,找零5角。 - 测试用例5:先投入5角再投入1元,选橙汁,预期结果:出橙汁,找零1元。 - 测试用例6:无零钱时,先投入5角再投入1元,选啤酒,预期结果:1元退回,5角保留,不出啤酒。 黑盒测试虽然简单且能从用户视角出发,但它的缺点是覆盖度较低,无法覆盖所有代码路径。为了提高测试覆盖率,可以结合其他测试方法,如白盒测试,来更全面地评估软件质量。同时,自动化测试工具可以帮助提高效率,但复用性可能受限于特定的输入输出条件。