自动售卖机的测试用例,对支付成功未出货问题定位
自动售卖机的测试用例
1. 功能测试
|
测试点 |
测试用例 |
预期结果 |
|
支付方式支持 |
选择现金支付(纸币/硬币) |
正确识别金额并完成交易 |
|
选择扫码支付(支付宝/微信) |
生成二维码,用户扫码后扣款成功 | |
|
选择NFC支付(Apple Pay/银联闪付) |
感应支付成功,扣款并出货 | |
|
金额计算 |
投入现金后选择商品,检查找零是否正确 |
找零金额 = 投入金额 - 商品价格 |
|
支付超时 |
选择商品后不支付,等待超时(如30秒) |
自动取消订单,返回待机界面 |
|
组合支付 |
现金+扫码混合支付(如差1元用扫码补足) |
正确扣除现金和电子支付金额 |
|
退款功能 |
支付后商品缺货 |
自动原路退款(现金退硬币/电子支付退回账户) |
2. 性能测试
|
测试点 |
测试用例 |
预期结果 |
|
支付响应速度 |
扫码支付从生成二维码到扣款成功的时间 |
≤2秒 |
|
高并发支付 |
多用户同时扫码支付(模拟10人并发) |
所有支付请求成功,无卡顿或失败 |
|
网络延迟 |
在弱网环境下(模拟3G网络)发起扫码支付 |
支付结果提示清晰(成功/失败),不卡死 |
3. 兼容性测试
|
测试点 |
测试用例 |
预期结果 |
|
支付平台兼容 |
支付宝/微信/银联/其他地区支付方式(如PayPal) |
均能正常完成支付 |
|
设备兼容性 |
不同手机型号(iOS/Android)的NFC支付 |
全部支持 |
|
纸币兼容性 |
投入不同版本纸币(如新旧版人民币) |
均能正确识别 |
4. 易用性测试
|
测试点 |
测试用例 |
预期结果 |
|
支付引导 |
支付界面是否有明确的步骤提示(如“请扫码”) |
用户能按提示完成支付 |
|
错误提示 |
支付失败时(如余额不足) |
显示具体原因(“余额不足,请更换支付方式”) |
|
界面语言 |
切换售卖机语言(中/英/其他) |
支付流程文字同步切换 |
5. 安全性测试
|
测试点 |
测试用例 |
预期结果 |
|
数据加密 |
抓包扫码支付通信数据 |
交易信息加密,无明文敏感数据 |
|
防重复扣款 |
同一笔订单重复发起支付请求 |
仅扣款一次,返回“订单已支付” |
|
防欺诈 |
使用伪造二维码或假币支付 |
系统识别并拒绝,触发警报记录 |
|
隐私保护 |
支付后检查系统日志 |
不存储用户银行卡号等敏感信息 |
6. 异常处理测试
|
测试点 |
测试用例 |
预期结果 |
|
支付中断 |
扫码支付过程中断网 |
恢复网络后自动重试或提示“支付失败” |
|
硬件故障 |
现金支付时硬币卡住 |
停止交易并提示“找零故障,请联系维护” |
|
金额不足 |
投入现金不足且未补足电子支付 |
提示“金额不足”并退回现金 |
|
反向操作 |
支付成功后立即断电 |
恢复供电后记录完整,无订单丢失 |
补充测试点
- 边界值测试:支付金额为0.01元(最小单位)或999元(上限)。
- 国际化测试:外币支付时的汇率转换(如支持外币的售卖机)。
- 压力测试:连续100次支付操作后系统是否崩溃。
支付成功未出货问题定位
1. 快速自查步骤
- 观察售卖机状态:
-
- 是否有电机运转声但无出货?→ 机械故障(如卡货、弹簧脱落)。
- 屏幕是否显示“出货中”?→ 通信延迟(等待同步结果)。
- 检查订单状态:
-
- 扫描机器上的订单查询二维码,确认支付是否真正到账。
- 查看后台管理系统,验证该订单是否记录为“已完成”。
2. 分模块排查
|
模块 |
排查方法 |
可能原因 |
|
支付网关 |
核对支付平台(微信/支付宝)交易记录 |
支付回调未触发或失败 |
|
通信模块 |
检查售卖机网络连接(4G/Wi-Fi信号强度) |
服务器未收到支付成功通知 |
|
库存管理 |
后台查看该商品库存是否已扣减 |
库存不同步导致逻辑拒绝出货 |
|
机械执行 |
手动测试货道电机是否正常运转 |
电机损坏/货道堵塞 |
|
日志分析 |
检查售卖机本地日志中的错误码 |
如 (门锁故障) |
3. 工具辅助
- 硬件检测:
使用售卖机维护工具(如厂家提供的调试APP)强制触发货道电机测试。 - 网络抓包:
用Wireshark捕获售卖机与服务器的通信,确认支付回调报文是否丢失。
经典故障案例
- 案例1:支付成功但货道电机不启动
-
- 原因:电源模块电压不稳导致电机驱动板断电。
- 解决:更换电源模块,增加电压异常检测。
- 案例2:微信支付成功但未出货
-
- 原因:售卖机时间未同步,支付签名过期导致回调被拒绝。
- 解决:校准售卖机系统时间,加入NTP自动同步。
- 案例3:现金支付后找零不足
-
- 原因:硬币识别器误将1元识别为0.5元,导致找零计算错误。
- 解决:清洁硬币识别传感器,升级固件算法。
预防措施
- 增加冗余校验:支付成功后,货道传感器二次确认是否有商品掉落。
- 完善日志:记录从支付到出货全流程的关键节点(如
支付回调时间、电机启动时间)。 - 远程监控:通过IoT平台实时监控设备状态(如库存、网络、电机电流)。
更多推荐
所有评论(0)