跳转至

购物车测试案例

购物车看起来简单,但它连接商品、库存、价格、优惠、登录状态和订单创建。测试时要特别关注数据同步和边界条件。

需求背景

用户可以把商品加入购物车,修改数量,勾选商品,删除商品,并从购物车结算。商品库存不足或已下架时不能继续下单。

测试点拆解

维度 测试点
添加商品 单规格、多规格、重复添加、未登录添加
数量修改 加 1、减 1、输入数量、最小值、最大值
库存 库存充足、库存不足、库存为 0、商品下架
价格 单价、总价、优惠价、价格变动
勾选 单选、全选、取消选择、跨店铺选择
删除 删除单个、批量删除、删除后恢复
数据同步 页面显示、接口返回、数据库记录一致
兼容性 刷新页面、重新登录、不同设备查看

用例示例

编号 测试点 步骤 预期结果
CART-001 添加商品 商品详情页选择规格并加入购物车 购物车数量增加,列表出现该商品
CART-002 重复添加 同一规格商品加入两次 商品数量累加,不出现重复行
CART-003 数量减到 1 后继续减 商品数量为 1 时点击减号 数量保持 1 或提示不能小于 1
CART-004 输入超过库存数量 输入数量大于库存 提示库存不足,数量不应保存为非法值
CART-005 商品下架后结算 商品加入购物车后后台下架,再结算 阻止结算并提示商品已下架
CART-006 全选商品 点击全选 所有可购买商品被选中,总价正确
CART-007 删除商品 删除购物车中的商品 商品从购物车消失,数据库记录同步删除或标记删除

数据库校验

建议校验:

  • 购物车表是否新增记录。
  • 用户 ID、商品 ID、规格 ID 是否正确。
  • 数量是否和页面一致。
  • 删除后是物理删除还是逻辑删除。
  • 商品价格变化后购物车展示是否按需求刷新。

测试数据准备

数据 用途
正常用户 验证添加、修改、删除、勾选
未登录状态 验证游客购物车或未登录限制
库存充足商品 验证正常加入购物车
库存为 1 的商品 验证边界数量
下架商品 验证不可结算
多规格商品 验证规格 ID 和价格是否正确

如果项目支持优惠券或促销价,还要准备一件有优惠的商品,专门检查购物车总价。

执行步骤示例

  1. 登录正常用户,清空购物车。
  2. 选择库存充足商品加入购物车。
  3. 刷新页面,确认商品仍在购物车。
  4. 修改数量为 2,再改为超过库存的数量。
  5. 勾选部分商品,检查总价是否只计算已勾选商品。
  6. 将商品下架或库存改为 0,再尝试结算。
  7. 删除商品,确认页面、接口、数据库结果一致。

接口与 SQL 校验示例

GET  /api/cart
POST /api/cart
PUT  /api/cart/{itemId}
DELETE /api/cart/{itemId}
SELECT user_id, product_id, sku_id, quantity, selected
FROM cart_items
WHERE user_id = 10001;

缺陷示例

字段 内容
标题 购物车商品数量可修改为超过库存数量
前置条件 商品库存为 5,购物车已有该商品 1 件
复现步骤 在购物车中将数量改为 6 并保存
实际结果 数量保存成功,总价按 6 件计算
期望结果 提示库存不足,数量不能超过当前可售库存
影响 后续下单可能出现库存超卖或订单失败

容易漏测

  • 商品加入购物车后价格发生变化。
  • 商品加入购物车后库存不足。
  • 勾选部分商品时总价计算错误。
  • 未登录用户加入购物车后登录,数据是否合并。
  • 多端同时修改购物车,数据是否同步。

复盘问题

  • 购物车价格应该保存加入时价格,还是每次按实时价格计算?
  • 库存是在加入购物车时扣减,还是下单时扣减?
  • 未登录购物车数据应该存在哪里?