刷题去WLB965 如何测试商品不超卖不少卖

jack · 2021年09月16日 · 最后由 steve 回复于 2021年09月17日 · 5078 次阅读

秒杀商品 X 库存总量 10 个
A 只能买 1 个
B 只能买 2 个
C 只能买 3 个
D 只能买 4 个
如何测试商品不超卖不少卖

共收到 9 条回复 时间 点赞

按业务比例控制并发数就可以了,超过即为多卖,少于即为少卖,lr,jmeter 都可以做得到

jacksboy 回复

从开发角度,逻辑判断条件怎么写呢

设置商品及库存的时候,就把这个信息写到 redis 去,然后自减。为 0 的时候就返回库存为 0 等信息。 不知道这个是不是楼主想要的

redis 锁,然后加判断

是要测试的话,用压测并发压一下就知道了吧?

商品秒杀库存 10 个
A 只能买 1 个
B 只能买 2 个
C 只能买 3 个
D 只能买 4 个
不超卖,每个用户购买数量不大于自身限制量,库存大于等于 0
不少卖,每个用户购买数量不大于自身限制量,且库存为 0

逻辑这样判断对吗?

乐观锁

秒杀不是都走消息队列么? 故障注入走起来。 验证消息队列的精准一次性语意是不是弄对了。 这种数据流架构容易丢数据或者重复数据

1、首先基本的逻辑保证正确再来考虑并发问题
2、并发问题可以通过 jemter 模拟并发请求,在所有请求前和所有请求后都查下库存信息,然后根据收集到的接口返回的成功或失败计算出卖出的商品数 跟库存信息比较。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册