购物车功能测试用例设计
测试范围概述
购物车是电商平台的核心功能,涉及商品管理、价格计算、用户交互等多个方面。设计测试用例时需覆盖功能正确性、边界条件、异常处理和用户体验等方面。
---
title: 购物车功能测试范围
---
graph TD
A[购物车功能测试] --> B[添加商品]
A --> C[查看购物车]
A --> D[修改商品数量]
A --> E[删除商品]
A --> F[价格计算]
A --> G[结算流程]
A --> H[数据持久化]
A --> I[性能与安全]
一、添加商品到购物车
正常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-ADD-001 |
成功添加单个商品 |
商品ID: P1001, 数量: 1 |
商品成功添加到购物车,显示正确信息 |
高 |
| CART-ADD-002 |
成功添加多个不同商品 |
商品ID: P1001, P1002, 数量: 各1 |
所有商品成功添加,购物车显示所有商品 |
高 |
| CART-ADD-003 |
添加已在购物车中的商品 |
商品ID: P1001(已有1件), 再添加1件 |
商品数量增加至2,不新增条目 |
高 |
| CART-ADD-004 |
批量添加多件相同商品 |
商品ID: P1001, 数量: 5 |
商品数量显示为5 |
中 |
异常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-ADD-005 |
添加库存不足的商品 |
商品ID: P1002(库存:2), 数量: 5 |
提示"库存不足",最多添加2件 |
高 |
| CART-ADD-006 |
添加已下架的商品 |
商品ID: P1003(已下架), 数量: 1 |
提示"商品已下架",添加失败 |
高 |
| CART-ADD-007 |
添加不存在的商品 |
商品ID: P9999(不存在), 数量: 1 |
提示"商品不存在",添加失败 |
中 |
| CART-ADD-008 |
未登录用户添加商品 |
未登录状态, 商品ID: P1001, 数量: 1 |
商品添加到临时购物车,提示"登录后同步" |
中 |
| CART-ADD-009 |
网络中断时添加商品 |
断网状态下添加商品 |
提示"网络连接失败",恢复网络后重试 |
中 |
边界条件测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-ADD-010 |
购物车达到最大商品数量限制 |
购物车已有99件商品(上限100), 再添加1件 |
提示"购物车已满",添加失败 |
高 |
| CART-ADD-011 |
添加最大允许数量的商品 |
商品ID: P1001, 数量: 999(上限) |
成功添加999件商品 |
高 |
| CART-ADD-012 |
添加数量为0的商品 |
商品ID: P1001, 数量: 0 |
提示"数量必须大于0",添加失败 |
中 |
| CART-ADD-013 |
添加数量为负数的商品 |
商品ID: P1001, 数量: -1 |
提示"数量必须大于0",添加失败 |
中 |
二、查看购物车
正常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-VIEW-001 |
成功显示购物车中的商品列表 |
购物车中有3件商品 |
正确显示所有商品列表 |
高 |
| CART-VIEW-002 |
正确显示商品信息 |
商品包含名称、价格、图片等 |
所有商品信息显示完整且正确 |
高 |
| CART-VIEW-003 |
正确显示商品数量和小计 |
商品: P1001(¥10, 数量2) |
显示小计¥20 |
高 |
| CART-VIEW-004 |
正确显示购物车总金额 |
购物车中有3件商品, 总价¥100 |
正确显示总金额¥100 |
高 |
异常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-VIEW-005 |
购物车为空时查看购物车 |
空购物车 |
显示"购物车为空"提示信息 |
高 |
| CART-VIEW-006 |
网络中断时查看购物车 |
断网状态下查看购物车 |
显示缓存数据或提示"网络连接失败" |
中 |
| CART-VIEW-007 |
商品信息变更后查看购物车 |
商品价格已调整 |
显示最新价格,提示"价格已调整" |
高 |
边界条件测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-VIEW-008 |
购物车商品数量非常多时的加载性能 |
购物车中有100件商品 |
页面加载时间<3秒,滚动流畅 |
中 |
| CART-VIEW-009 |
商品名称非常长时的显示 |
商品名称: 50个字符 |
名称正确显示或适当截断并显示省略号 |
低 |
| CART-VIEW-010 |
商品价格非常大时的显示 |
商品价格: ¥9999999.99 |
价格格式正确显示 |
低 |
三、修改购物车中商品数量
正常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-MOD-001 |
成功增加商品数量 |
商品: P1001(原数量1), 增加1件 |
数量更新为2,小计和总金额相应更新 |
高 |
| CART-MOD-002 |
成功减少商品数量 |
商品: P1001(原数量2), 减少1件 |
数量更新为1,小计和总金额相应更新 |
高 |
| CART-MOD-003 |
输入具体数量修改商品数量 |
商品: P1001, 输入数量: 5 |
数量更新为5,小计和总金额相应更新 |
高 |
| CART-MOD-004 |
通过加减按钮修改数量 |
商品: P1001, 点击"+"按钮3次 |
数量增加3,小计和总金额相应更新 |
高 |
异常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-MOD-005 |
修改数量超过库存 |
商品: P1001(库存5), 原数量3, 修改为10 |
提示"库存不足",数量调整为5 |
高 |
| CART-MOD-006 |
修改数量为0 |
商品: P1001, 输入数量: 0 |
提示"是否删除该商品"或自动删除 |
高 |
| CART-MOD-007 |
修改数量为负数 |
商品: P1001, 输入数量: -1 |
提示"数量必须大于0",修改失败 |
中 |
| CART-MOD-008 |
修改不存在的商品数量 |
商品: P9999(不存在), 尝试修改数量 |
提示"商品不存在",修改失败 |
中 |
| CART-MOD-009 |
网络中断时修改数量 |
断网状态下修改商品数量 |
保存修改意图,恢复网络后同步 |
中 |
边界条件测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-MOD-010 |
修改数量为最大允许值 |
商品: P1001, 输入数量: 999(上限) |
数量更新为999,小计和总金额相应更新 |
高 |
| CART-MOD-011 |
修改数量为最小允许值 |
商品: P1001, 输入数量: 1(下限) |
数量更新为1,小计和总金额相应更新 |
高 |
| CART-MOD-012 |
快速连续多次修改数量 |
快速点击加减按钮多次 |
最终数量正确,小计和总金额计算正确 |
中 |
四、删除购物车中的商品
正常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-DEL-001 |
成功删除单个商品 |
购物车中有商品P1001, 点击删除 |
商品从购物车中移除,总金额更新 |
高 |
| CART-DEL-002 |
成功删除多个商品 |
购物车中有商品P1001、P1002, 全选后删除 |
所有选中商品从购物车中移除 |
高 |
| CART-DEL-003 |
清空购物车 |
购物车中有多个商品, 点击清空购物车 |
所有商品从购物车中移除,显示"购物车为空" |
高 |
| CART-DEL-004 |
删除前确认提示 |
删除商品时显示确认对话框 |
点击确认后删除,点击取消保留商品 |
中 |
异常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-DEL-005 |
删除不存在的商品 |
尝试删除购物车中不存在的商品 |
提示"商品不存在",无变化 |
中 |
| CART-DEL-006 |
网络中断时删除商品 |
断网状态下删除商品 |
保存删除意图,恢复网络后同步 |
中 |
| CART-DEL-007 |
删除商品时商品信息已变更 |
商品已下架或价格变更 |
成功删除,提示信息正确 |
中 |
边界条件测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-DEL-008 |
购物车只剩一个商品时删除 |
购物车中只有一件商品P1001 |
删除后显示"购物车为空" |
高 |
| CART-DEL-009 |
快速连续多次删除操作 |
快速删除多个商品 |
所有商品正确删除,总金额计算正确 |
中 |
五、购物车商品计算
正常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-CALC-001 |
正确计算单个商品小计 |
商品: P1001(¥10, 数量2) |
小计显示¥20 |
高 |
| CART-CALC-002 |
正确计算购物车总金额 |
商品: P1001(¥10, 数量2), P1002(¥20, 数量1) |
总金额显示¥40 |
高 |
| CART-CALC-003 |
正确应用优惠券折扣 |
总金额¥100, 优惠券9折 |
折后金额显示¥90,优惠¥10 |
高 |
| CART-CALC-004 |
正确计算运费 |
总金额¥80, 满¥100免运费, 运费¥10 |
显示运费¥10,应付¥90 |
高 |
| CART-CALC-005 |
正确计算税费 |
总金额¥100, 税率10% |
显示税费¥10,应付¥110 |
中 |
异常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-CALC-006 |
商品价格变更后计算 |
商品原价¥10, 调整为¥12 |
使用最新价格¥12重新计算 |
高 |
| CART-CALC-007 |
优惠券失效后计算 |
使用过期优惠券 |
提示"优惠券已失效",按原价计算 |
高 |
| CART-CALC-008 |
优惠券叠加使用 |
尝试使用多张不可叠加优惠券 |
提示"优惠券不可叠加",只应用最优优惠券 |
高 |
| CART-CALC-009 |
库存不足时计算 |
商品库存不足,无法购买全部数量 |
提示库存不足,按可购买数量计算 |
高 |
边界条件测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-CALC-010 |
商品数量为最大值时的计算 |
商品: P1001(¥10, 数量999) |
小计显示¥9990,总金额正确计算 |
中 |
| CART-CALC-011 |
折扣为100%(免费)时的计算 |
总金额¥100, 优惠券100%折扣 |
应付金额显示¥0 |
中 |
| CART-CALC-012 |
总金额为最大值时的计算 |
总金额达到系统上限 |
正确处理,不出现溢出错误 |
中 |
| CART-CALC-013 |
总金额为0时的计算 |
所有商品免费或使用100%折扣 |
应付金额显示¥0,可正常结算 |
中 |
| CART-CALC-014 |
商品价格为0时的计算 |
商品: P1001(¥0, 数量2) |
小计显示¥0,总金额计算正确 |
低 |
| CART-CALC-015 |
商品价格为负数时的计算 |
商品: P1001(¥-10, 数量2) |
提示"价格异常",标记为无效商品 |
中 |
六、购物车结算
正常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-CHECK-001 |
成功从购物车进入结算页面 |
购物车中有商品, 点击结算 |
跳转到结算页面,商品信息正确传递 |
高 |
| CART-CHECK-002 |
正确传递购物车商品信息到结算页面 |
购物车中有3件商品 |
结算页面显示所有商品及正确金额 |
高 |
| CART-CHECK-003 |
结算成功后清空购物车 |
完成支付流程 |
购物车中已结算商品被移除 |
高 |
| CART-CHECK-004 |
部分商品结算 |
选择部分商品结算 |
只结算选中商品,未选中商品保留在购物车 |
中 |
异常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-CHECK-005 |
购物车为空时尝试结算 |
空购物车, 点击结算 |
提示"购物车为空",无法进入结算 |
高 |
| CART-CHECK-006 |
结算过程中商品库存变化 |
结算时商品库存减少 |
提示库存变化,确认是否继续 |
高 |
| CART-CHECK-007 |
结算过程中商品价格变化 |
结算时商品价格调整 |
提示价格调整,确认是否继续 |
高 |
| CART-CHECK-008 |
结算过程中优惠券失效 |
结算时优惠券过期 |
提示优惠券失效,确认是否继续 |
高 |
| CART-CHECK-009 |
网络中断时结算 |
断网状态下点击结算 |
提示"网络连接失败",恢复网络后重试 |
中 |
边界条件测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-CHECK-010 |
购物车商品数量非常多时结算 |
购物车中有100件商品 |
结算页面正常加载,金额计算正确 |
中 |
| CART-CHECK-011 |
结算金额非常大时 |
总金额达到系统上限 |
正确处理大金额,不出现溢出错误 |
中 |
| CART-CHECK-012 |
结算金额非常小时 |
总金额¥0.01 |
正确处理小金额,可正常结算 |
低 |
| CART-CHECK-013 |
长时间不操作后的结算 |
购物车添加商品后24小时再结算 |
提示商品信息可能有变动,确认是否继续 |
中 |
七、购物车持久化
正常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-PERS-001 |
用户登录后购物车数据正确恢复 |
用户A登录前添加商品, 登录后 |
购物车数据与服务器同步,显示用户原有购物车数据 |
高 |
| CART-PERS-002 |
用户在不同设备间购物车数据同步 |
手机添加商品, 电脑登录查看 |
电脑显示手机添加的商品 |
高 |
| CART-PERS-003 |
用户退出登录后购物车数据保存 |
添加商品后退出登录, 重新登录 |
购物车数据保持不变 |
高 |
| CART-PERS-004 |
未登录用户购物车数据本地保存 |
未登录状态下添加商品, 关闭浏览器再打开 |
购物车数据仍然存在 |
中 |
异常场景测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-PERS-005 |
网络中断时的购物车数据保存 |
断网状态下修改购物车 |
本地保存修改,恢复网络后同步到服务器 |
中 |
| CART-PERS-006 |
多设备同时操作购物车 |
手机和电脑同时修改购物车 |
提示数据冲突,按最新时间戳处理 |
中 |
| CART-PERS-007 |
购物车数据损坏时的恢复 |
购物车数据异常 |
尝试修复或提示用户清空购物车 |
低 |
边界条件测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-PERS-008 |
购物车数据非常大时的同步性能 |
购物车中有100件商品 |
同步时间<5秒,不阻塞用户操作 |
中 |
| CART-PERS-009 |
长时间未登录后的购物车数据恢复 |
30天未登录, 重新登录 |
提示部分商品可能已下架或价格变动 |
中 |
| CART-PERS-010 |
购物车数据版本不一致时的处理 |
服务器和本地购物车数据版本不同 |
提示用户选择保留哪个版本 |
中 |
八、性能与安全测试
性能测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-PERF-001 |
购物车页面加载性能 |
购物车中有50件商品 |
页面加载时间<3秒 |
高 |
| CART-PERF-002 |
添加商品到购物车响应时间 |
添加商品到购物车 |
响应时间<1秒 |
高 |
| CART-PERF-003 |
修改商品数量响应时间 |
修改商品数量 |
响应时间<1秒 |
高 |
| CART-PERF-004 |
删除商品响应时间 |
删除购物车中的商品 |
响应时间<1秒 |
高 |
| CART-PERF-005 |
购物车数据同步性能 |
在不同设备间同步购物车 |
同步完成时间<5秒 |
中 |
安全测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-SEC-001 |
防止越权访问他人购物车 |
用户A尝试访问用户B的购物车 |
提示无权限,显示用户A自己的购物车 |
高 |
| CART-SEC-002 |
防止篡改商品价格 |
尝试通过前端修改商品价格 |
后端验证价格,使用服务器端价格 |
高 |
| CART-SEC-003 |
防止篡改商品数量限制 |
尝试通过前端修改商品数量超过限制 |
后端验证数量,限制在允许范围内 |
高 |
| CART-SEC-004 |
防止SQL注入攻击 |
在商品ID中输入SQL代码 |
系统过滤特殊字符,不执行SQL代码 |
高 |
| CART-SEC-005 |
防止XSS攻击 |
在商品名称中输入JavaScript代码 |
系统过滤脚本代码,不执行恶意脚本 |
高 |
九、兼容性测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-COMP-001 |
不同浏览器兼容性 |
Chrome, Firefox, Safari, Edge |
购物车功能在各浏览器正常工作 |
高 |
| CART-COMP-002 |
不同设备兼容性 |
PC, 手机, 平板 |
购物车功能在各设备正常显示和操作 |
高 |
| CART-COMP-003 |
不同操作系统兼容性 |
Windows, macOS, Android, iOS |
购物车功能在各系统正常工作 |
中 |
| CART-COMP-004 |
不同屏幕尺寸适配 |
小屏幕手机到大屏幕显示器 |
购物车界面自适应不同屏幕尺寸 |
中 |
十、用户体验测试
| 测试用例ID |
测试描述 |
测试数据 |
预期结果 |
优先级 |
| CART-UX-001 |
购物车图标显示商品数量 |
购物车中有3件商品 |
购物车图标显示数字"3" |
高 |
| CART-UX-002 |
添加商品到购物车动画效果 |
点击"加入购物车"按钮 |
显示商品飞入购物车的动画效果 |
中 |
| CART-UX-003 |
商品数量加减按钮易用性 |
点击加减按钮 |
按钮响应灵敏,有视觉反馈 |
中 |
| CART-UX-004 |
购物车为空时的引导 |
空购物车页面 |
显示推荐商品或引导用户浏览商品 |
中 |
| CART-UX-005 |
购物车操作成功/失败提示 |
添加/修改/删除商品 |
显示操作成功或失败的明确提示 |
高 |
---
title: 购物车测试流程
---
flowchart TD
A[开始测试] --> B[添加商品测试]
B --> C[查看购物车测试]
C --> D[修改商品数量测试]
D --> E[删除商品测试]
E --> F[价格计算测试]
F --> G[结算流程测试]
G --> H[数据持久化测试]
H --> I[性能与安全测试]
I --> J[兼容性测试]
J --> K[用户体验测试]
K --> L[生成测试报告]
L --> M[结束测试]