京东面试题:如何测试优惠券功能?

发表于:2021-6-09 09:52

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:程序员臻叔    来源:知乎

  早些时候,京东家电出了一个事故。
  部分用户在领取京东的无门槛优惠券之后,可以用极低的价格(几十块几块甚至0元)购买数百元的小家电,主要是烤箱及微波炉类产品。
  吸引了不少羊毛党,前来薅羊毛。
  传闻在极短的时间里,出现了24万笔低价订单,涉及商品金额数千万。
  关于此次事故,引发了圈子的热烈探讨。
  影响面无疑是巨大的,甚至有传闻说,小家电组全部开除!但其实传言难辨真假,我们作为吃瓜群众,并非内部人士,也不清楚后续的处理情况。
  假如抛开一切,单从测试的视角来看:测试是保证质量的最后一环,发生这么严重的线上事故,也是难辞其咎。在测试环节,设计测试用例的时候,考虑到会存在这样的风险了么?
  正文来了
  那么,问题来了,测试优惠券的时候,我们需要考虑哪些方面?
  先来了解一下优惠券的生命周期:
  优惠券的生命周期主要包括制券、领券、核销三个环节,缺一不可。
  在这三个环节当中,作为测试人员,都需要对里面的各个环节进行测试。
  一、制券环节
  制券环节,一般会有一个优惠券的后台,在后台中需要配置一张优惠券,并且把优惠券绑定到相应的活动或者相应的商品上去。
  在测试的时候,我们首先要搞清楚,我们将要配置的优惠券是什么类型的优惠券:优惠券是代金券还是物品券,是有门槛的优惠券还是无门槛的优惠券。
  文章开头提到的优惠券的事故,就是出在配置无门槛的优惠券没有考虑券池的容量,才导致了那么多羊毛党能够疯抢家电。
  其次,券信息也是我们主要考虑的测试点,包括金额的设置、领券的条件、兑换的条件、用户限制、时效配置以及细化到活动规则的文案等等,都应该考虑到。
  这里尤其是要说的是,我们在测试功能没问题后,一定要模拟上线预演,也就是一定要在测试环境或预发布环境中,严格按照上线标准,配置出真实且可供回归测试的优惠券。
  之前就碰到过,测试环境为了方便测试,活动规则都是随意配置的。
  但是由于运营同学的粗心,活动规则里面有好几个错别字,在测试环境中,又没有真正的进行配置预演,上线之后就被带上线了。
  当时因为还没有优惠券平台,活动规则都是直接写死在代码里的,导致又得改完错别字,重新上一次线。
  这种问题虽然谈不上什么功能bug,但是上线之后,被用户看到,也会被吐槽的。
  二、领券环节
  领券环节,用户一般会活动、积分兑换、短信/push及触发一些事件弹窗,来获得优惠券。
  至少30%的bug会出现在此处。
  大家都知道,优惠券是运营为了激励用户进行下单的一种营销手段。不同的用户,能够领取的优惠券也未必相同。
  测试的时候,应该多配备几种不同角色的账号进行测试。
  版本控制也十分重要,假如你的优惠券是在老版本app上领取的,但是你必须下载最新的app,才能核销掉这张app,那在领券的时候,应该对此进行说明。
  另外一个关注点是状态同步,当你领完优惠券之后,并不是领完就完了,你还需要到“我的优惠券”里面,看看是不是真的已经领取到优惠券了。
  曾经就有过,领取完了优惠券之后,MQ同步出现了问题,虽然看到“领取成功”了,但是在“我的优惠券”却没能看到优惠券,这种情况要是出现在线上,可是百分百会遭致投诉的。
  于此同时,优惠券的信息、领券次数和反作弊策略等,也都是我们必须要关注到的。
  三、核销环节
  核销环节是重中之重,假如这个环节出问题,前面2个环节做得再怎么优秀,都没有用。
  一般来说有核销有两种情况:
  1、代金券,在支付页选择优惠券,并且在结算页,能够查看价格优惠扣减。
  2、物品券,一般直接可以在“我的优惠券”页面,直接进行相应的兑换。
  现在市面上见得最多的,还是代金券,大家经常逛电商或外卖平台,肯定都接触得比较多了,这里就不提了。
  相反,物品券的兑换,还是见的比较少的,但不排除没有。
  像物品券的兑换,有一些坑是值得大家注意的:
  1.优惠券和礼品是一对一的关系。
  2.需要先有礼品,再上优惠券。
  3.优惠券一定是要有数量限制的,并且结合礼品的数量进行考虑。
  之前听朋友提起,他就是因为一个特别低级的bug流露线上,组内case study了。
  原因是物品券,没有优惠券的数量限制!
  当时这个优惠券的逻辑是这样婶的:
  不限用户,也就是新老用户都可以领取,只要到首页,点击广告弹窗,留下手机号,就可以拿到优惠券,优惠券是2000元京东券。
  没有设置券池大小。
  凭借数据库一段时间内的订单号,判定是否有兑奖资格。
  第2点,没有设置券池大小,当时产品估计也没有想到这点,需求文档并没有体现,开发也没有做这个限制。
  然后测试就糊里糊涂的开始测试了,项目紧急,测试完毕之后,就匆匆忙忙上线了。后面一看数据,领券的用户数量特别庞大,才醒悟过来,奖池会不会亏空,万一礼品数量不够,短期之内能不能补充上礼品。
  后来好在,客单价实在是太高了,还是是买房才送的京东券!万一这种低级失误放在京东或者淘宝这种客单价相对来说比较低的电商平台,那得损失多严重!
  所以,无门槛的优惠券和物品类的优惠券,务必要考虑优惠券的数量限制!

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号