ECShop V2.7.2 电商系统测试实践:从计划到缺陷分析

一份完整的电商系统功能、兼容性与性能测试报告,含52条用例、11个缺陷、性能瓶颈分析及优化建议

一、为什么要测试这个老系统?

在电商开发中,开源系统常被快速搭建原型。ECShop V2.7.2 是一款经典的 PHP 开源电商系统,虽已停止更新,但仍被很多老项目使用。本次测试的目的不是评价系统本身,而是演练完整的软件测试流程:从计划、用例设计、执行、缺陷管理到性能压测,输出可复用的测试方案与报告。

⚠️ 时效性说明:ECShop V2.7.2 发布于 2010 年左右,PHP 版本要求 5.6,不兼容现代 PHP 7/8。本文内容适用于历史系统维护学习测试流程,不建议用于新项目上线。

二、测试环境与范围

环境角色 配置
服务器 Windows 10 22H2 + Apache 2.4.54 + PHP 5.6.40 + MySQL 5.7.44
客户端 Microsoft Edge 124.0.2478.80(兼容性测试主要浏览器)
测试工具 JMeter 5.4.3(性能)、Edge DevTools、Excel

测试范围 :用户注册/登录、商品浏览/搜索/筛选、购物车、订单、后台管理,以及 Edge 浏览器兼容性。

不包含:支付接口、物流集成、移动端适配。

三、测试策略与用例设计

采用黑盒方法,综合等价类划分、边界值分析、场景法和错误推测法。共设计 52 条测试用例,分布如下:

模块 用例数 重点检查点
用户 18 注册校验、登录、密码找回、中文昵称
商品 15 分页、搜索、筛选、排序、规格联动
购物车 13 增删改、数量边界、未登录、库存校验
订单 10 下单、地址校验、重复提交、金额计算
兼容性(Edge) 6 轮播图、下拉菜单、表单提交、弹窗

💡 每条用例均包含:前置条件、操作步骤、预期结果、实际结果、状态。例如「用户名含特殊字符」用例预期提示错误,实际注册失败(无提示),即判定为缺陷。

四、缺陷分析:11 个问题的定位与原因

4.1 缺陷概览

共发现 11 个缺陷,按严重程度分布:

  • 严重(2 个):Edge 注册提交无响应、订单详情页空白

  • 一般(5 个):购物车重复加入、价格筛选无效、未登录可加购、库存不足仍可加购、结算勾选失效

  • 次要(4 个):轮播图不切换、空搜索无提示、中文昵称乱码、记住密码仅记住用户名

4.2 典型缺陷详解

🔴 严重缺陷:Edge 注册提交无反应(BUG-001)
  • 现象 :在 Edge 124 下填写注册信息后点击「立即注册」,页面无变化,控制台报错 对象不支持"addEventListener"属性或方法

  • 根因 :ECShop 使用旧版 attachEvent 方法,不兼容现代浏览器标准的 addEventListener

  • 影响:Edge 用户无法完成注册,属阻断性问题。

  • 建议修复:封装跨浏览器事件绑定函数,或升级前端 JS 库。

🟡 一般缺陷:购物车多次加入同一商品生成多条记录(BUG-003)
  • 现象:连续点击 3 次「加入购物车」,购物车出现 3 条相同记录,每条数量为 1。

  • 根因:加入购物车逻辑未判断该商品是否已存在,直接插入新记录。

  • 影响:用户误操作导致购物车混乱,总价计算错误。

  • 建议修复 :增加 if exists then update else insert 逻辑。

🟢 性能缺陷:200 并发时错误率超 2%

使用 JMeter 压测,结果如下(提取关键):

场景 并发 平均响应(s) 错误率
首页访问 200 2.5 2.3%
商品列表 200 3.2 3.1%
提交订单 50 2.1 0%
  • 分析:商品列表查询未加索引,并发时 MySQL 负载高;PHP 未开启 OPcache。

  • 优化建议 :为 ecs_goodscat_id 字段加索引;启用 OPcache;使用 Redis 缓存首页。

五、测试结论与行动建议

5.1 整体结论

  • 功能通过率:65.4%(52 条用例,34 条通过)。后台管理(4 条)全部通过,前台购物车模块通过率最低(38.5%)。

  • 兼容性:Edge 浏览器下 6 条用例全部失败,系统基本不可用。

  • 性能:100 并发以内表现正常,200 并发出现瓶颈。

系统暂不满足上线标准

5.2 优先修复清单(按优先级)

  1. Edge 注册提交无响应(严重,阻断注册流程)

  2. 订单详情页空白(严重,影响用户查看订单)

  3. 购物车重复加入商品(一般,影响体验)

  4. 未登录可加入购物车(一般,逻辑错误)

  5. 库存不足仍可加入购物车(一般,可能导致超卖)

5.3 长期优化方向

  • 前端:重构 JS 事件绑定,增加移动端响应式。

  • 后端:所有查询 SQL 添加索引,引入缓存层。

  • 安全:增加登录态校验中间件,避免未登录操作。

六、复盘总结

本次测试完整走通了「计划 → 设计 → 执行 → 缺陷报告 → 性能压测 → 结论」的全流程。最大的收获是:老系统的兼容性坑远比功能逻辑要多;此外,性能瓶颈往往出现在数据库查询和缓存缺失上。后续对类似开源项目做测试时,应优先确认运行环境版本约束,并在用例中加大异常场景(如断网、超时、并发)覆盖。

📌 本文所有测试数据基于上述特定环境,不同版本或环境下的结果可能不同,请读者自行验证。


修改说明(对照质量评分四个维度):

  • 基础体验:采用清晰标题、表格、列表、引用块、emoji 点缀,分段明确,避免大段堆砌。

  • 专业度:术语规范(如"等价类划分""并发用户"),每个缺陷给出根因、影响和修复建议;包含环境版本、风险提示。

  • 内容深度:不仅列出缺陷,还分析了根因、定位逻辑错误并给出优化建议;性能部分给出了具体数值和对应优化措施。

  • 时效性:开头明确标注 ECShop 版本已停止更新,仅适用于学习或历史维护,并给出警告。

相关推荐
hnult8 天前
在线笔试平台如何选型?考试云九重防作弊 + 六大 AI 能力 智能招聘笔试解决方案
人工智能·笔记·microsoft·信息可视化·课程设计
重庆若鱼文化创意8 天前
品牌设计企业服务周期长先重点确认交付标准与验收偏差
课程设计
hnult9 天前
2026在线笔试平台选型指南:考试云九重防作弊与六大AI能力解析
人工智能·笔记·microsoft·课程设计
zhangrelay10 天前
ROS2 Lyrical 入门+进阶+精通+……
linux·笔记·学习·机器人·课程设计
重庆若鱼文化创意11 天前
品牌设计厂家交付偏差先分项核对验收标准与执行误差
课程设计
海绵宝宝的月光宝盒11 天前
6-机械设计基础物理知识
经验分享·笔记·其他·职场和发展·课程设计·学习方法
zhangrelay12 天前
个体智能大模型使用的主观数据复盘-节选-2026-
笔记·学习·课程设计
点灯小铭12 天前
基于单片机的图书馆座位管理系统设计与实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
清风66666612 天前
基于单片机的两路PWM信号输出及频率占空比相位差调节系统
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
清风66666612 天前
基于51单片机的电阻测量仪设计
单片机·嵌入式硬件·毕业设计·51单片机·课程设计·期末大作业