从10年软测人的角度,一文读懂“拼多多优惠券测试”套路

文章分析了为何企业在面试中常问及优惠券测试问题,因为历史上曾发生过重大优惠券事故。文中提出了测试任何事物的四个步骤:梳理业务流程、模块细分、测试点分析和非功能测试点考虑。对于优惠券测试,强调了后台发布和前端使用两个主要部分,详细列举了后台发布优惠券的各项功能测试点,包括基本信息、基本规则、审批和用户使用场景,并提供了测试等价类和边界情况的例子。最后,文章提到了学习自动化测试对提升薪资和职业发展的重要性,并提供了软件测试面试资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习咱们AI课后,咱们的学员如虎添翼在“五一”节后都陆续收到了 offer。

从学员的反馈回来的面试中,我们发现除了像“测试工具”、“自动化测试”、“性能测试”等这些提升技能之外,必然要面试官考验到的一个技能就是“测试方法”和”测试思维“。

解惑

为什么企业面试喜欢问优惠券怎么测试呢?还不是因为这些曾经大家都熟知的优惠券事故么?

京东优惠券事故:2020 年 1 月 7 日,京东优惠券设置错误,导致的大量产品以 0 元超低价格成交,并且发货,小家电被薅羊毛 24 万件,损失金额高达 7000 多万。

2018 年 12 月 17 日,星巴克上线“星巴克 APP 注册新人礼”营销活动,遭受黑灰产羊毛党大规模攻击。

他们利用大量手机号注册星巴克 APP 的虚假账号,并成功领取活动优惠券,导致星巴克的营销活动两天即停止。

2019 年 1 月 20 日凌晨,大量用户可以免费领取拼多多“无门槛 100 元券”,可以用来充值话费 Q 币等,这个‘薅羊毛’事件,导致拼多多巨额资金损失。

所以这种京东、拼多多的优惠券如何测试,我们具体要怎么回答呢?我来给大家总结分析一下。

1 测试思维

测试任何事物的测试思路可以总结如下:

第一步:

梳理产品的核心业务流程:明白这是个什么项目,实现了什么业务,以及是怎么实现的?

这个步骤一般是参考公司的需求文档来的,如果产品提供需求文档的同时提供了业务流程图,可以遵循流程图来梳理;如果产品没有提供流程图,就需要测试人员根据需求的理解自己画出流程图,达到梳理业务的目的。

第二步:

根据流程进行模块细分,然后针对每个功能模块进行详细的测试点设计和提取。

这个单个功能的测试点提取要覆盖一下几个方面:

正常功能验证:优先覆盖正常的业务流程和功能验证,这其实也是单个功能的冒烟测试。冒烟测试先行,如果不通过,可以直接停止测试等开发修复后继续测试。

异常功能验证:为了更加贴近用户的使用产经,我们也要验证各种异常的场景,故意操作导致出错,检查系统的反馈和提示,保证用户操作失误的情况能够得到系统的友好指示。因为有很多地方的操作都有可能会导致系统异常和抛错,所以为了不漏测,我们需要找出所有可能导致异常的输入项和选项。所以就到了第三步:

第三步:

针对具体功能,寻找每个输入项和步骤,从以下三个角度来分析测试点。

长度,数据类型,必填项,重复

需求的约束条件 + 隐形需求

功能之间的交互

这其中就需要用到一些用例的具体设计方法了,比如场景法,等价类法,边界值法,错误推测法等等

第四步:

考虑非功能测试点,包括界面、易用性、兼容性、安全性、性能压力

2 优惠券测试的功能点

基于上面的测试思路,我们可以分析得出“优惠券的功能”测试点如下:

梳理拼多多直播的业务流程如下:

冒烟测试:后台添加正确优惠券,并审批通过,前端用户领取并成功抵扣付款。

然后我们再进行各个功能模块的具体细化。根据刚刚上面的业务流程分析,我们不难发现抖音直播只要分为后端发布优惠券和前端使用优惠券两个部分,所以这两个部分我们要分别进行测试。

我们先看看后台发布优惠券的基本需求:

基本信息

优惠券名称:必填项。限制 15 字 :1~15

优惠券副标题:非必填项。限制 15 字

优惠类型:必填项。主要有满减(满多少减多少)、立减、折扣券

发放数量:必填项。限制 1000000 份

使用说明:必填项。限制 500 字。

基本规则

用户类型:必填项。新用户、老用户、不同等级用户、不限

每人限领:必填项。默认 1 次。

有效期:a、固定日期:开始时间、结束时间 b、领取后,当天生效,有效天数:例如 30 天

跳转链接:必填项。优惠券页面

优惠券审批 :一般财务审批后优惠券 ID 生成。

优惠券发布后的约束条件

后台管理

优惠券基本信息:优惠券 id、面值、使用期限、发放量

已领取数量、已使用数量更新:

过期优惠卷处理:删除

用户使用场景

用户已领取已使用

用户已领取已过期

用户已使用订单取消/退款

所以,根据以上的需求我们先做一个基本的冒烟测试:后台添加正确优惠券,审批通过,前端用户领取并成功抵扣付款。

发布优惠券测试点

基本信息测试

优惠券名称(必填项,限制 15 字):

有效等价类:1,15

无效等价类:小于 1(0),大于 15(16),为空,负数

优惠券副标题

有效等价类:1,15

无效等价类:小于 1(0),大于 15(16),为空,负数

优惠券类型

满减(满多少减多少):例如满 200 减 50,验证前端功能正常

立减:例如设置立减 50 的优惠券,验证前端功能正常

折扣券:1-9 折的折扣券,验证前端功能正常

为空:验证必填项,前端有基本检查并报错信息友好

发放数量

有效等价类:1~1000000 范围的数字输入

无效等价类:小于 1(0),大于 1000000(10000001),非数字(字母,汉字 字符...),0,负数,为空

使用说明

有效等价类:1-500(1,500)无效等价类:0,超出 500,为空

优惠券的基本规则

用户类型:

新用户类型优惠券:前端验证新用户可以使用抵扣,老用户不能使用抵扣;

老用户类型优惠券:前端验证老用户可以使用抵扣,新用户不能使用抵扣;

用户等级优惠券:前端验证不同等级用户对应使用场景,匹配的等级可以使用抵扣,否则不可以抵扣;

无限制优惠券:任何用户都可以使用并抵扣

商品类型限制

指定区域优惠券:验证对应用户使用场景,匹配的区域可以领取并使用,否则不可以使用;

商品品类优惠券:验证对应用户使用场景,匹配的商品类型可以领取并使用抵扣,否则不可以使用;

不限商品类型优惠券:验证对应用户使用场景,所有商品都可以使用该类型的优惠券。

每人限领优惠券

设置默认每人限制领取 1 张:前端验证不能多次重复领取,只能领取一次;

设置每人限制领取不限张数:前端验证可以多次领取并使用抵扣

限制张数不输入为空:有友好的提示信息。

优惠券有效期验证

选择固定日期过期:

有效等价类:开始日期 < 结束日期,并覆盖跨年,跨月等特殊时间,开始日期 = 结束日期

无效等价类:开始日期 > 结束日期,开始日期或者结束日期为空验证,提示报错

优惠券审批验证

财务审批通过:验证审批通过后,优惠券可以在前端使用

财务审批不通过:优惠券无法在前端显示和使用

优惠券发布后验证

后台管理优惠券

优惠券基本信息查看:优惠券 id、面值、使用期限、发放量

优惠券已领取已使用数量更新:

用户领取后,已领取的数量更新

用户领取后,已使用的数量更新

用户优惠券过期

支持删除,显示状态正确;删除之后,确认能否重复领取

用户使用场景验证

用户已领取已使用:

可以按照优惠券的规则进行抵扣

验证是否可以叠加使用

验证是否可以重复使用

用户已领取已过期

过期状态失效,状态变灰;

即将过期的优惠券是否有提醒

用户已使用取消订单/退款/支付失败

取消支付:优惠券返回账户

退款:优惠券返还或者作废, 然后退还的支付金额为实际支付金额

支付失败:优惠券返回账户

如果你按照这这个学习路线把自动化测试吃透,那么月薪在15-25K是很轻松的事情,同时具备了代码能力,也就可以继续向测试开发去努力了!

最后:下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值