100张券退款仅回收1张?某东外卖漏洞引网友狂下百单
发布时间:2025-12-10

12月7日晚,京东外卖出现一起技术漏洞,用户购买100张优惠券后申请全额退款,系统仅回收1张券,剩余99张仍可正常使用,部分网友得知后下单数百单同类商品。


图片来源网络,侵删


12月8日,京东官方发文回应,称已修复漏洞,感谢主动退券的用户,并承诺承担已出餐商家的全部损失。


图片来源网络,侵删


要知道,这样的漏洞,如果被有心之人利用,将免费获得的优惠券批量倒卖,不仅会给平台和商家带来巨额经济损失,还可能扰乱市场秩序,影响平台信誉。


软件缺陷的特点是发现越晚,修复成本越高,若漏洞长期存在,可能引发连锁反应,届时挽回损失的难度将大幅增加。


从技术角度分析,此次漏洞极有可能源于优惠券回收机制的数据同步延迟。


在退款流程中,系统未能严格执行“全额退款应同时全部回收优惠券”的业务逻辑,只完成了金额退款和部分券回收,导致出现“退款成功但券未全收回”的异常情况。


从测试员的角度来看,漏洞可能可能源于以下方面:


01 测试覆盖不足


退款场景测试存在明显盲区,未覆盖“购买大量优惠券后全额退款”的极端场景,尤其是“100张券退款”这样的临界值场景被遗漏。


边界条件是软件缺陷的高发区,测试过程中未对1张、99张、100张等不同数量优惠券的退款逻辑进行验证,使得边界处的漏洞未被发现。


同时,测试未考虑业务规则冲突,“退款后券状态变更”与“券可重复使用”两种规则的交互影响未被纳入测试范围,导致规则执行时出现逻辑冲突。


02 数据一致性测试缺失


数据一致性测试的缺失直接导致了漏洞的发生。


“退款-券回收”本应是原子性操作,即要么全部成功,要么全部失败,但测试中未模拟网络延迟、系统中断等异常情况,无法验证原子性是否成立。


此外,缺少对优惠券从“已购买→退款中→已退款”全流程状态变化的验证,无法及时发现状态迁移过程中的数据同步问题,使得优惠券状态异常时难以被察觉。


03 并发测试不足


并发测试不足让系统在高负载下暴露缺陷。


测试过程中未模拟多人同时大量购买并退款的高并发场景,无法发现系统在高负载下的数据同步缺陷。


同时,未检查系统是否使用适当的锁机制,难以防止并发操作导致的券状态异常。


在实际使用中,一旦出现集中退款的情况,系统就容易出现数据同步延迟,引发漏洞。


04 异常处理测试薄弱


异常处理测试薄弱使得漏洞发生后无法及时控制。


测试未模拟数据库连接中断、消息队列堵塞等系统异常场景下的退款处理,导致系统在异常时采取了错误的回退策略。


更关键的是,漏洞发生时系统未给出清晰的错误提示,用户无法意识到操作异常,反而可能因“操作成功”的假象继续利用漏洞,加剧了漏洞的影响范围。


05 安全测试遗漏


测试未设计专门的防“薅羊毛”用例,无法模拟恶意用户利用系统缺陷批量获取不当利益的场景,使得系统对恶意操作的抵抗力不足。


同时,未验证用户退款操作的权限边界,难以阻止超出正常范围的退款请求,给恶意操作留下了可乘之机。


 

此次京东外卖漏洞事件,它似乎在提醒我们,软件测试不是简单的流程走查,而是涵盖场景覆盖、数据验证、并发应对、异常处理和安全防控的全面保障。


在数字经济高速运转的今天,软件测试早已不是开发流程的"附属环节",而是守护企业生命线的核心屏障。


当一张优惠券的回收逻辑出现偏差就能引发连锁损失,当边界场景的测试遗漏就可能动摇平台信誉。


我们愈发清晰地认识到:软件测试是抵御风险的"防火墙",是控制成本的"调节器",更是赢得用户信任的"通行证"。


在这个数字产品定义竞争力的时代,测试工程师不仅守护着每一个软件的稳定运行,更在定义着数字世界的安全与可靠。


这既是一份沉甸甸的责任,更是一条充满机遇的职业征途——唯有深耕技术、拥抱变革,方能在质量保障的赛道上持续领跑。



更多软件测试相关推荐:

软件测试更多干货文章

软件测试就业培训


  文章来源:网络  版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8103),我们将立即处理

相关阅读