问题1:商品管理列表中添加商品后,商品列表没有看到该条商品记录
分析:
- 第一步:查看数据库表中是否有添加的数据。
- 情况①:数据库表中有商品记录,则添加成功,分析判断大概率是列表查询问题;
- 第二步抓包查看响应: 查看商品列表,进行抓包或者查看服务器日志–继续分析:
- 如果返回状态码是4XX,大概率定位为前端问题
- 如果返回状态码是5XX,大概率定位为后端问题
- 如果返回状态码2XX,则核验接口响应中是否有这条新增商品数据-继续分析:
- 响应内容中有数据,那么后端就返回了数据,前端没有显示出来数据,问题指给前端,让前端查找原因;
- 响应内容中无数据,后端没有返回数据,继续分析请求参数是否正确
- 错误:请求参数错误直接指派给前端,让前端查找问题原因;
- 正确:请求参数正确指派给后端,让后端查看问题;
- 第二步抓包查看响应: 查看商品列表,进行抓包或者查看服务器日志–继续分析:
- 情况②:数据库表中没有商品记录,添加商品失败;
- 再次添加商品,抓包查看提交时报了什么;
- 如果前端提示成功,接口返回200,但数据库没数据,大概率是后端吞掉了异常(假成功)-指派给后端
- 如果接口返回是5XX,那么添加请求失败,服务器错误,指派给后端
- 查看后端日志,是否字段长度超限、格式不合法(如价格输入了负数),导致数据库校验异常,但是前端没有校验;
- 查看数据库插入数据没有成功–找后端
- 数据库插入异常导致事物回滚–找后端
- 如果接口返回4XX,那么前端问题,查看请求参数是否完整传过去了?有没有字段为 null 或 undefined,指派给前端,必填项填写错误或者为空必须有响应的错误提示;
总结:根据不同情况指派给不同的开发人员。
- 再次添加商品,抓包查看提交时报了什么;
- 情况①:数据库表中有商品记录,则添加成功,分析判断大概率是列表查询问题;
问题2:下单未支付,库存释放存在问题;
分析:每种情况都一一分析,如取消订单,支付后退款、未支付超时回滚都会释放库存;
- 测试下单30分钟未支付,库存是否释放加一;
- 测试29分59秒用户点击支付,支付成功,回调订单系统,核验库存是否减一;
- 测试29分59秒用户点击支付 支付成功,回调订单系统,更新订单状态为“已支付”后,核验库存是否减一,退款后核验库存是否加一;
- 测试29分59秒用户取消订单,查看是否库存是否释放,查看系统是否会回滚,核验库存是否再次加一;
- 测试29分59秒,设置服务器端网络异常导致回滚请求超时,核验系统是否会再次重试回滚-查看回滚日志记录
总结:回滚重试会导致库存被重复增加(库存虚高)。明明只锁了1件,回滚了2次,库存多了1件,导致超卖。测试模拟库存回滚接口的延迟响应,查看看系统是否有“唯一流水ID”保证回滚只执行一次。 避免多次释放库存。