本文目录导读:

测试手机端优惠券到期设置是否正常,通常分为功能逻辑验证和界面显示验证两个维度,由于手机系统(iOS/Android)和APP(电商、外卖、小程序等)的实现方式不同,你可以按照以下步骤进行系统测试:
第一步:准备测试数据(核心)
- 创建不同到期类型的优惠券:
- 固定时间: 2024年5月1日 00:00:00 至 2024年5月10日 23:59:59。
- 相对时间: 领取后7天有效,或“次日生效,有效3天”。
- 特殊时间: 月底最后一天、节假日前后。
- 设置临界值:
- 正好到期: 设置优惠券到期时间为“明天 00:00:00”或“今晚 23:59:59”。
- 已过期: 设置一张已过期的券。
- 即将过期: 设置一张距离到期还有1小时、5分钟的券。
第二步:核心测试场景
场景1:到期时间点精度测试(最易出Bug)
- 操作: 修改手机时间。
- 方法: 关闭手机“自动设置时间”,手动调整。
- 测试项:
- 到期前1秒: 将手机时间设为
2024-05-10 23:59:58,刷新优惠券列表 -> 应显示“可用”或“即将过期”。 - 到期瞬间: 时间设为
2024-05-11 00:00:00-> 列表应不再显示该券,或状态变为“已过期/已失效”。 - 边界测试: 立即尝试使用这张券下订单,系统应在提交时提示“优惠券已过期”。
- 到期前1秒: 将手机时间设为
场景2:使用场景拦截测试
- 操作: 尝试使用一张已过期的或正在过期的券。
- 方法:
- 在结算页点击“选择优惠券”,查看过期券是否变灰、是否显示“已过期”标签。
- 选择一张即将过期的券,拖到支付环节,等优惠券过期(例如在支付倒计时页面等待)后再支付,看系统是否拦截并报错。
- 测试立即使用按钮:点击后如果商品不符合(如满减不够),应提示“不可用”,而不是直接提示“已过期”。
场景3:前端显示层测试
- 操作: 前端UI展示。
- 方法:
- 倒计时: 如果APP有“即将过期”倒计时,检查秒数倒计时跳动是否准确(不要卡在00:00不消失)。
- 排序: 在“我的优惠券”列表中,即将过期的券通常应排在最前面(或置顶)。
- 错误状态: 已过期的券是否有明显的灰色背景、红色“已过期”文字,且不可勾选。
场景4:服务端/拉取逻辑测试
- 操作: 模拟多端登录、网络延迟。
- 方法:
- 跨夜测试: 在晚上23:59拥有某张券,等到00:01后刷新,看券是否消失。
- 多设备: 在手机A领取一张券,手机B使用同一账号登录,看券状态是否同步(手机B拿到的是否显示已过期)。
- API接口: 如果懂抓包(如使用Charles或Fiddler),可以尝试抓取“查询优惠券列表”的接口,看返回的
expire_time字段是否与服务端设置一致。
第三步:不同平台的特定测试
- 微信小程序/支付宝小程序:
- 检查定位授权:有些券(如到店券)结合了地理位置,要测试“位置已过期”与“时间已过期”的叠加情况。
- 检查订阅消息:到期前是否推送了“即将过期提醒”的通知。
- 原生APP(iOS/Android):
- Android:特别注意中低端机型或系统时间被篡改的情况(如用户手动改了年份)。
- iOS:测试后台唤醒:将APP切到后台,等待优惠券过期,再切回前台,看界面是否实时刷新(通常是切回时请求新数据)。
- 外卖/电商类APP:
- 多店铺适配: 如果优惠券是“某店铺专属”,检查该店铺营业状态与优惠券到期时间的叠加,店铺明天00:00打烊,但优惠券23:59到期,是否还能下单?
第四步:异常场景测试
- 时区问题: 手机设置为美国(UTC-5),但优惠券按北京时间(UTC+8)计算,会出现问题。
- 闰秒/夏令时: 如果系统处理不当,在夏令时切换日可能出现±1小时的偏差。
- 缓存问题: 旧版数据缓存导致用户看到“即将过期”但实际已过期,测试时强制刷新(下拉刷新、杀进程重进)。
测试清单(Checklist)
| 测试点 | 操作步骤 | 预期结果 |
|---|---|---|
| 到期时间点 | 手动设置手机时间 | 到期瞬间券状态变为过期 |
| 使用拦截 | 尝试用已过期券支付 | 提示“优惠券已过期” |
| 前端显示 | 查看列表 | 即将过期置顶/变红/倒计时 |
| 跨夜/跨日 | 23:59操作,00:01刷新 | 列表不显示或标记过期 |
| 多端同步 | 手机A领,手机B看 | 状态完全一致 |
| 网络波动 | 弱网环境下打开列表 | 加载后正确显示状态(不因网络错误显示错误状态) |
| 推送提醒 | 到期前N小时 | 收到站内信/短信/APP推送 |
总结建议
- 不要只测“和“明天”,一定要测临界值(23:59:59 和 00:00:00)。
- 不要只看页面,要下单,很多券在列表里显示“可用”,但提交订单时才报错“已过期”。
- 注意手机默认时区,如果后端用的UTC时间,前端没做转换,会出大问题。
- 如果支持离线使用(如多张券本地缓存),一定要测试手机断网时领券、断网时券过期的情况。
按照以上方法,你可以系统性地覆盖大部分因优惠券到期设置错误导致的线上问题。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。