ShopXO 商城系统测试报告:功能、后台管理、异常状态与 JMeter 性能验证

ShopXO 商城系统测试报告:功能、后台管理、异常状态与 JMeter 性能验证

项目名称 ShopXO 商城系统 版本/页面标识 ShopXO v6.6.0
用户端地址 http://49.235.61.184/ 管理端地址 http://49.235.61.184/adminkpeyv4.php?s=index/index.html
测试日期 2026-07-16 测试方式 功能测试、异常状态测试、权限重定向测试、后台管理测试、JMeter 性能测试
用户端测试账号 123456789 管理端测试账号 admin
测试工具 Playwright、System Chrome、Apache JMeter 5.5、Matplotlib 重绘图表 证据目录 screenshots/*.jsonjmeter-results/
报告说明 密码不写入正文,不记录 Cookie、Token 测试结论 管理端核心页面通过;用户端主要页面通过,异常搜索与用户端登录闭环存在限制;JMeter 低负载出现 3.33% 错误率

文章目录

项目背景

项目背景与意义

本次测试对象是公网部署的 ShopXO 商城系统。用户端覆盖首页、商品分类、搜索、注册、登录、购物车、订单、个人中心等典型电商链路;管理端覆盖后台登录、用户、商品、商品分类、订单等运营页面。

本轮修订重点补齐两类证据:第一,用户端不再只截"相似登录页",而是补充注册/登录不同 tab、错误验证码拒绝、协议未勾选拒绝、未登录访问重定向等状态,并在截图顶部加入证据栏显示用例编号、HTTP 状态、请求 URL、最终 URL 和结论;第二,JMeter 不只放原生 Dashboard 截图,而是按参考报告样式重绘响应时间、吞吐量、活动线程数、聚合报告和组合图。

图 1 用户端商城首页截图

项目概述

子系统 地址 本轮验证内容 结论
用户端 http://49.235.61.184/ 首页、注册三方式、登录两方式、登录拒绝、注册拒绝、分类、搜索、购物车/订单/个人中心重定向 部分通过
管理端 http://49.235.61.184/adminkpeyv4.php?s=index/index.html 登录、首页、用户列表、商品列表、商品分类、订单列表 通过
性能测试 用户端/管理端公开 GET 页面 JMeter 3 线程、5 循环、60 请求低负载测试 部分通过,错误率 3.33%

已验证的主要功能

用户端
  • 首页可访问,商品分类、搜索入口、推荐商品和价格信息正常。
  • 注册支持账号注册、手机注册、邮箱注册三种 tab。
  • 注册异常校验生效:未勾选协议时停留注册页并提示"请勾选同意协议"。
  • 登录支持账号密码、手机验证码、邮箱验证码入口;错误验证码会被拒绝并提示"验证码错误"。
  • 未登录访问个人中心、订单中心、购物车会重定向到登录页。
  • 商品分类页可访问并展示分类与商品列表。
  • 搜索 iPhone 可返回商品结果;特定中文编码搜索触发 500,记录为缺陷。
管理端
  • 使用给定管理端账号登录成功,进入后台首页。
  • 后台首页显示系统、站点、权限、用户、商品、订单、网站、品牌、仓库、数据等菜单。
  • 用户列表、商品列表、商品分类、订单管理均可访问并正常截图。

当前系统存在的不足

编号 不足项 影响 证据
RISK-001 用户端登录需要图形验证码 自动化无法完全替代人工验证码输入;错误验证码拒绝已验证 PIC-024
RISK-002 注册页未提交新账号 避免污染公网演示环境;只验证入口、tab 和异常拒绝 PIC-019 至 PIC-021、PIC-025
RISK-003 特定中文编码搜索触发 500 搜索异常处理不稳定 PIC-030
RISK-004 低负载 JMeter 出现 2 个错误和一次 50s 级长响应 公网页面在轻量并发下存在波动 PIC-032、PIC-035、PIC-036

项目的系统功能说明

1. 用户端注册功能

用户注册登录测试思维导图

测试关注点:注册入口是否可用,账号/手机/邮箱注册 tab 是否可切换,异常输入是否被拒绝。

账号注册状态截图

手机注册状态截图

邮箱注册状态截图

注册异常拒绝截图

未勾选协议/错误验证码提交后停留注册页,页面提示"请勾选同意协议"。

结论:注册入口和三种注册方式通过;注册异常拦截通过。未进行真实注册入库,避免污染公网演示数据。

2. 用户端登录功能

测试关注点:登录方式是否完整,账号密码/手机验证码/邮箱验证码入口是否可切换,错误验证码是否拒绝。

账号密码登录状态截图

手机验证码登录状态截图

错误验证码登录拒绝截图

使用账号密码和错误验证码提交后,仍停留登录页并提示"验证码错误"。

结论:登录入口和异常拒绝通过;由于真实验证码不可无人值守识别,本轮不伪造用户端登录成功。

3. 商品搜索、分类与商品入口

用户端业务与权限测试思维导图

商品搜索结果截图

商品卡片/商品入口截图

商品分类页截图

搜索异常截图

结论:常规商品搜索和分类页通过;特定编码搜索触发 500,记录为缺陷。

4. 未登录访问控制

个人中心未登录重定向截图

订单中心未登录重定向截图

请求订单中心,最终 URL 为登录页。

购物车未登录重定向截图

请求购物车,最终 URL 为登录页。

结论:个人中心、订单中心、购物车均存在未登录保护。

5. 管理端后台功能

管理端后台测试思维导图

管理端登录页截图

管理端后台首页截图

管理端用户列表截图

管理端商品列表截图

管理端商品分类截图

管理端订单列表截图

结论:管理端登录成功,后台首页、用户、商品、分类和订单页面均通过。

测试目标

编号 测试目标 完成情况
OBJ-001 验证用户端首页可访问 已完成,通过
OBJ-002 验证用户端注册三种方式 已完成,通过
OBJ-003 验证用户端注册异常拒绝 已完成,通过
OBJ-004 验证用户端登录方式和错误验证码拒绝 已完成,通过异常拒绝;未证明真实登录成功
OBJ-005 验证商品搜索、分类、商品列表 常规通过;异常搜索发现 500
OBJ-006 验证未登录访问控制 已完成,通过
OBJ-007 验证管理端登录和后台页面 已完成,通过
OBJ-008 使用 JMeter 形成性能测试和重绘图 已完成,发现 3.33% 错误率

测试项目相关信息

测试总览思维导图

项目 内容
用户端基础测试时间 2026-07-19 14:08:57
管理端复测时间 2026-07-19 14:30:00
用户端多状态补测时间 2026-07-19 14:40:51
JMeter 执行时间 2026-07-19 14:42:25 至 14:43:35
JMeter 测试计划 shopxo-jmeter-test-plan.jmx,3 线程,5 循环,4 个 GET 页面
自动化脚本 capture_shop_tests.pycapture_shop_admin_v2.pycapture_user_states_v2.pygenerate_jmeter_visuals.py

测试安排

测试阶段 测试内容 测试方法 状态
用户端基础功能 首页、搜索、商品、购物车 Playwright 截图 已完成
用户端状态补测 注册 tab、登录 tab、异常拒绝、未登录重定向 Playwright + 证据栏截图 已完成
管理端功能 登录、首页、用户、商品、分类、订单 Playwright 登录后访问 已完成
性能测试 首页、搜索、用户登录页、管理端登录页 JMeter 3 线程 5 循环 已完成
图表生成 Dashboard、响应时间、吞吐量、线程数、聚合报告、组合图 Matplotlib 重绘 已完成

测试分类

(1) 功能测试

模块 用例数 通过 限制/缺陷 说明
用户端首页 1 1 0 首页主体正常
注册入口与 tab 3 3 0 账号、手机、邮箱注册入口均可见
注册异常 1 1 0 未勾选协议被拒绝
登录入口与 tab 2 2 0 账号密码、手机验证码入口可见
登录异常 1 1 0 错误验证码被拒绝
商品/分类/搜索 4 3 1 中文编码搜索触发 500
未登录访问控制 3 3 0 个人中心、订单、购物车均重定向登录
管理端 6 6 0 登录、首页、用户、商品、分类、订单通过
合计 21 20 1 功能通过率 95.24%

(2) 异常与权限测试

用例编号 用例名称 请求 预期 实际 状态
USER-LOGIN-REJECT-001 错误验证码登录拒绝 用户端登录 拒绝并停留登录页 提示"验证码错误",停留登录页 通过
USER-REGISTER-REJECT-001 注册协议未勾选拒绝 用户端注册 拒绝提交 提示"请勾选同意协议",停留注册页 通过
USER-AUTH-REDIRECT-001 个人中心未登录重定向 /user/index.html 跳转登录页 最终 URL 为登录页 通过
USER-AUTH-REDIRECT-002 订单中心未登录重定向 /order/index.html 跳转登录页 最终 URL 为登录页 通过
USER-AUTH-REDIRECT-003 购物车未登录重定向 /cart/index.html 跳转登录页 最终 URL 为登录页 通过
USER-SEARCH-EMPTY-001 特定编码搜索异常 search URL 空结果页或友好提示 HTTP 500 系统错误 缺陷

(3) 自动化测试

本轮自动化脚本:

powershell 复制代码
python "my_docs\商城系统测试报告\capture_shop_tests.py"
python "my_docs\商城系统测试报告\capture_shop_admin_v2.py"
python "my_docs\商城系统测试报告\capture_user_states_v2.py"
python "my_docs\商城系统测试报告\generate_jmeter_visuals.py"

证据文件:

  • test-evidence.json:用户端基础功能证据。
  • admin-evidence.json:管理端登录与后台页面证据。
  • user-state-evidence-v2.json:用户端多状态、异常拒绝、重定向证据。
  • jmeter-results/shopxo-performance.jtl:JMeter 原始结果。
  • jmeter-results/html-report/statistics.json:JMeter 聚合统计。

(4) 性能测试

JMeter 测试设计

JMeter 性能测试思维导图

配置项
线程数 3
循环次数 5
请求页面 用户端首页、搜索结果页、用户登录页、管理端登录页
总请求数 60
执行方式 非 GUI 模式,生成 JTL 和 HTML 报告

执行命令:

powershell 复制代码
jmeter.bat -n -t "my_docs\商城系统测试报告\shopxo-jmeter-test-plan.jmx" -l "my_docs\商城系统测试报告\jmeter-results\shopxo-performance.jtl" -e -o "my_docs\商城系统测试报告\jmeter-results\html-report"
JMeter 执行结果
指标 结果
总请求数 60
错误数 2
错误率 3.33%
平均响应时间 2314.12ms
中位数响应时间 1256.5ms
最小响应时间 1ms
最大响应时间 50375ms
吞吐量 0.87 req/s
请求 Samples Error % Avg(ms) Median(ms) Max(ms)
GET user home 15 0.00% 7049.07 1863.0 50375
GET search iphone 15 6.67% 1718.47 1776.0 2598
GET user login 15 6.67% 304.73 236.0 1391
GET admin login 15 0.00% 184.20 116.0 1122
JMeter 原生页面截图

JMeter 原生 Dashboard 页面截图

JMeter 原生响应时间页面截图

JMeter 吞吐量页面截图

JMeter 重绘分析图

JMeter Dashboard

JMeter 响应时间趋势图

JMeter 吞吐量趋势图

JMeter 活动线程数变化图

JMeter 聚合报告图

结论:低负载性能测试未完全通过。管理端登录页响应稳定,用户端首页出现 50s 级长响应;搜索页和用户登录页各出现 1 次错误。该结果应作为性能风险记录,不应写成全通过。

(5) 接口与连通性测试

检查项 地址 结果 说明
用户端首页 / 200 页面主体正常
用户注册页 /?s=user/reginfo.html 200 三种注册 tab 正常
用户登录页 /?s=user/logininfo.html 200 登录 tab 正常
商品搜索 iPhone /?s=search/index/wd/960586F6E656.html 200 返回 1 条商品
特定编码搜索 /?s=search/index/wd/5LiN5a2Y5Zyo.html 500 系统错误
商品分类页 /?s=category/index.html 200 分类页可访问
管理端首页 /adminkpeyv4.php?s=index/index.html 200 登录后可访问
管理端用户列表 /adminkpeyv4.php?s=user/index.html 200 表格正常
管理端商品列表 /adminkpeyv4.php?s=goods/index.html 200 表格正常
管理端订单列表 /adminkpeyv4.php?s=order/index.html 200 页面正常

(6) 安全测试

安全项 测试方法 实际结果 结论
密码框隐藏 截图检查登录表单 用户端、管理端密码均隐藏 通过
错误验证码拒绝 用户端输入错误验证码提交 提示验证码错误,停留登录页 通过
注册协议校验 不勾选协议提交 提示请勾选同意协议 通过
未登录访问控制 访问个人中心、订单、购物车 均重定向登录页 通过
管理端访问控制 未登录访问后台后再登录 登录后才能进入后台 通过
敏感信息处理 报告与截图检查 不写明文密码、Cookie、Token 通过

(7) 缺陷统计与分析

级别 数量 说明
P1 0 未发现核心后台不可访问问题
P2 2 JMeter 低负载错误率 3.33%;用户端首页一次 50s 级长响应
P3 2 特定搜索触发 500;商品详情跳转仍需补充专门选择器
合计 4 均有截图或 JMeter 数据证据
编号 级别 模块 问题描述 影响 证据
BUG-001 P2 性能 3 线程低负载 JMeter 出现 2 个错误 轻并发下稳定性不足 PIC-035
BUG-002 P2 用户端首页 GET user home 最大响应时间 50375ms 首页偶发长响应 PIC-032、PIC-036
BUG-003 P3 搜索 特定中文编码搜索返回 500 搜索异常处理不友好 PIC-030
BUG-004 P3 商品详情 商品列表展示已验证,详情页跳转未形成独立成功截图 详情链路证据不足 PIC-007

总结测试 tips

  1. 截图要能表达状态变化:本轮新增证据栏后,重定向、拒绝、HTTP 500 和最终 URL 都能直接从图片中看出来。
  2. 登录/注册截图不能只放相似表单页,要补充 tab 切换、错误输入、拒绝提示和权限拦截。
  3. JMeter 不应只截原生 HTML 页面,还应把 JTL/statistics.json 转为便于报告展示的趋势图、聚合表和组合图。
  4. 性能结果要按真实数据写:本轮 JMeter 出现 3.33% 错误率和 50s 长响应,因此不能写成性能全通过。
  5. 公网演示环境不做高压测试,本轮 3 线程 5 循环属于低负载烟测。

感谢阅读,记得点赞、关注、收藏,欢迎各位评论区交流!!!

相关推荐
小白上线*^_^*1 天前
Jmeter从入门到精通指南
软件测试·测试工具·jmeter·接口测试·测试工程师
zzz_23683 天前
码上面试平台测试报告:功能、后台管理、异常状态与 JMeter 性能验证
jmeter·面试·职场和发展
郑重其事,鹏程万里5 天前
JMeter组件说明
jmeter
川石课堂软件测试5 天前
安全测试|服务器安全加固方法
服务器·功能测试·测试工具·jmeter·mysql·web安全·单元测试
测试员周周8 天前
【skills5】一份 spec 生成 k6/JMeter/Locust:性能压测 + 全站截图,上线前的双保险
功能测试·网络协议·测试工具·jmeter·http·自动化·集成测试
余防8 天前
jmeter-接口测试
jmeter
小红帽子Alkaid9 天前
JMETER提取接口返回的token
数据库·redis·jmeter
茶栀(*´I`*)12 天前
JMeter 接口测试之参数化详解:四种常见实现方式与实操指南
jmeter
糖果店的幽灵1 个月前
软件测试接口测试从入门到精通:JMeter接口测试
软件测试·jmeter·接口测试·压力测试·性能测试