自动售货机黑盒测试:因果图与判定表实践
需积分: 15 28 浏览量
更新于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角保留,不出啤酒。
黑盒测试虽然简单且能从用户视角出发,但它的缺点是覆盖度较低,无法覆盖所有代码路径。为了提高测试覆盖率,可以结合其他测试方法,如白盒测试,来更全面地评估软件质量。同时,自动化测试工具可以帮助提高效率,但复用性可能受限于特定的输入输出条件。
2020-03-31 上传
2020-05-19 上传
2010-12-28 上传
2024-07-02 上传
2024-04-19 上传
2021-03-30 上传
2022-07-02 上传
黄子衿
- 粉丝: 19
- 资源: 2万+
最新资源
- 批量文件重命名神器:HaoZipRename使用技巧
- 简洁注册登录界面设计与代码实现
- 掌握Python字符串处理与正则表达式技巧
- YOLOv5模块改进 - C3与RFAConv融合增强空间特征
- 基于EasyX的C语言打字小游戏开发教程
- 前端项目作业资源包:完整可复现的开发经验分享
- 三菱PLC与组态王实现加热炉温度智能控制
- 使用Go语言通过Consul实现Prometheus监控服务自动注册
- 深入解析Python进程与线程的并发机制
- 小波神经网络均衡算法:MATLAB仿真及信道模型对比
- PHP 8.3 中文版官方手册(CHM格式)
- SSM框架+Layuimini的酒店管理系统开发教程
- 基于SpringBoot和Vue的招聘平台完整设计与实现教程
- 移动商品推荐系统:APP设计与实现
- JAVA代码生成器:一站式后台系统快速搭建解决方案
- JSP驾校预约管理系统设计与SSM框架结合案例解析