3. 基于场景法的电商下单流程测试用例设计

基于场景法的电商下单流程测试用例设计 学习卡片

场景法在下单流程中的落点

场景法把一条业务路径拆成“基本流 + 备选流”。电商下单的基本流是:浏览商品 → 加入购物车 → 进入结算页 → 选择优惠券 → 提交订单 → 支付成功 → 订单生成。备选流则是在任一环节出现异常或替代路径,例如库存不足、优惠券失效、支付超时、用户取消支付。测试用例设计的关键,是让每条备选流都能从基本流中“分叉”出来,并最终回到可验证的终态。

基本流(Happy Path) 浏览商品 加入购物车 进入结算页 选择优惠券 提交订单 支付成功 备选流 A:库存不足 提交订单时校验库存 库存不足提示 订单未生成 备选流 B:优惠券失效 结算页校验优惠券 优惠券已过期/不适用 提示失效,恢复原价 备选流 C:支付超时 进入支付页 等待支付超时 订单关闭/待支付 终态:订单生成 / 订单关闭 / 订单待支付 图例 基本流 备选流分叉

基本流与备选流的用例映射

把上面的场景图转成可执行的测试用例,需要为每条路径指定明确的输入数据、操作步骤和预期结果。以下用例表覆盖基本流和三条备选流,每条用例都从“浏览商品”开始,保证端到端可执行。

用例编号 场景路径 关键输入/前置条件 操作步骤 预期结果
TC-ORDER-01 基本流 商品库存充足;优惠券有效且满足门槛;支付账户余额充足 浏览商品 → 加入购物车 → 结算 → 选择优惠券 → 提交订单 → 完成支付 订单状态为“已支付”,优惠金额正确抵扣,库存扣减成功
TC-ORDER-02 备选流 A:库存不足 商品库存为 0 或提交时被其他用户抢空 浏览商品 → 加入购物车 → 结算 → 提交订单 页面提示“库存不足”,订单不生成,购物车商品保留
TC-ORDER-03 备选流 B:优惠券失效 优惠券已过期或商品不满足使用条件 浏览商品 → 加入购物车 → 结算 → 选择已失效优惠券 → 提交订单 提示“优惠券已失效”,订单按原价计算,用户可重新选择或放弃
TC-ORDER-04 备选流 C:支付超时 订单提交成功,进入支付页后不完成支付 浏览商品 → 加入购物车 → 结算 → 提交订单 → 进入支付页 → 等待超时 订单状态变为“待支付”或“已关闭”,库存释放,用户可重新下单

用例执行时的关键检查点

  • 库存一致性:备选流 A 触发后,确认库存未被扣减,且购物车中商品数量不变。
  • 优惠券状态回滚:备选流 B 中,若用户已选中失效券,提交后应清除该券的选中状态,避免重复提交时再次报错。
  • 支付超时后的库存释放:备选流 C 中,超时后需验证库存是否回到可用池,防止“超卖”或“少卖”。
  • 终态可区分:三条备选流的终态不同(未生成订单 / 原价订单 / 待支付或关闭),用例断言必须精确匹配,不能只检查“有提示”。
场景法用例的覆盖标准:基本流至少 1 条,每条备选流至少 1 条;若备选流内部还有条件分支(如优惠券失效分为“过期”和“不满足门槛”),应拆成独立用例或使用等价类合并,避免遗漏。