文章目录
摘要
本文完整记录博客系统的功能、接口、自动化、性能测试过程:共设计 22 个功能用例、22 个自动化用例、23 条接口用例,通过率均达 100%;JMeter 梯度压测(0→20 并发)累计 12,286 样本,吞吐量 204.4 req/s、平均响应 70ms、P99 140ms、错误率 0.03%,并定位推动修复 2 个缺陷。
| 项目名称 | 博客系统 | 版本号 | V1.0 |
|---|---|---|---|
| 测试完成日期 | 08/16 | 测试负责人 | 岁月失语惟石能言 |
1、项目背景
测试目标及测试任务概括:
本次测试针对博客系统进行全面质量验证,覆盖系统核心功能模块,包括用户登录、博客列表展示、博客详情查看、博客编辑与发布等主要业务流程。测试目标包括:
-
验证系统核心功能的正确性和稳定性
-
确保用户操作流程的完整性和数据一致性
-
通过自动化测试提升回归测试效率,保障版本质量
-
通过接口测试验证系统前后端数据交互的正确性,覆盖业务逻辑、参数校验、异常处理等维度
-
通过梯度性能压测评估系统在不同并发负载下的表现,识别性能拐点与瓶颈
-
识别并跟踪缺陷修复,确保产品达到上线标准
2、测试安排
| 模块 | 子模块 | 提测时间 | 测试 | 工时 | 排期 | 进度 |
|---|---|---|---|---|---|---|
| 登录页面 | 登录功能 | 08/12 | 岁月失语惟石能言 | 0.5d | 08/12 | ✅ 已完成 |
| 博客列表页 | 博客列表展示、导航栏 | 08/12 | 岁月失语惟石能言 | 0.5d | 08/12 | ✅ 已完成 |
| 博客详情页 | 博客详情展示 | 08/12 | 岁月失语惟石能言 | 1d | 08/13 | ✅ 已完成 |
| 编辑博客页 | 博客编辑与发布 | 08/12 | 岁月失语惟石能言 | 0.5d | 08/13 | ✅ 已完成 |
注:本次测试由岁月失语惟石能言独立完成全流程测试工作,涵盖测试用例设计、功能测试执行、自动化脚本编写、接口测试、性能测试执行及缺陷跟踪。
3、测试分类
1)功能测试
本次功能测试围绕博客系统核心业务流程设计测试用例,覆盖正常场景、异常场景及边界值测试。

-
测试用例总数:22条
-
功能测试结果 :22条全部通过,通过率 100%
登录页面:

博客列表页

编辑博客页

博客详情页

2)自动化测试
为提升回归测试效率,本次对系统核心模块实施UI自动化测试覆盖。
-
自动化测试覆盖模块:登录页面、博客列表页、博客详情页、写博客页
-
自动化代码仓库 :https://gitee.com/time-is-speechless/auto_test/tree/master/BlogUIAutoTest
-
自动化测试用例数量:22条(与功能测试用例一一对应)
-
自动化测试结果 :22条全部通过,通过率 100%
-
自动化测试框架:Selenium + TestNG(基于Java)
-
测试设计模式:采用Page Object Model(POM)设计模式,提升脚本可维护性和复用性
自动化测试覆盖详情:
| 模块 | 自动化用例数 | 执行结果 |
|---|---|---|
| 登录功能 | 6 | ✅ PASS |
| 博客列表页 | 5 | ✅ PASS |
| 博客详情页 | 5 | ✅ PASS |
| 写博客页 | 6 | ✅ PASS |
| 合计 | 22 | 100% PASS |
3)接口测试
本次接口测试对博客系统核心API进行全面的数据验证、业务逻辑校验和异常场景覆盖,主要使用Postman工具发送请求并逐条验证响应结果。
3.2.1 测试覆盖范围
| 接口名称 | 请求方式 | 核心测试点 |
|---|---|---|
| 登录接口 | POST | 正常登录、账号为空、密码为空、账号不存在、密码错误 |
| 获取博客列表 | GET | 正常获取、分页参数校验、分类筛选、排序 |
| 获取博客详情 | GET | 正常获取、文章ID不存在、参数非法 |
| 发布博客 | POST | 正常发布、标题为空、内容为空、未登录发布 |
| 删除博客 | POST | 正常删除、文章ID不存在、无权限删除 |
3.2.2 接口测试用例设计
| 模块 | 用例数 | 覆盖场景 |
|---|---|---|
| 登录接口 | 6 | 正常登录(1条)+ 异常场景(5条):账号为空、密码为空、账号不存在、密码错误、请求体格式错误 |
| 博客列表接口 | 4 | 正常获取(1条)+ 异常场景(3条):分页参数边界值、非法分类ID、排序参数非法 |
| 博客详情接口 | 4 | 正常获取(1条)+ 异常场景(3条):ID不存在、ID为负数、ID为非数字字符串 |
| 发布博客接口 | 5 | 正常发布(1条)+ 异常场景(4条):标题为空、内容为空、未携带Token、Token过期 |
| 删除博客接口 | 4 | 正常删除(1条)+ 异常场景(3条):ID不存在、无权限删除、未携带Token |
| 合计 | 23 | 正常场景 5条 + 异常场景 18条 |
3.2.3 接口测试执行结果
| 模块 | 用例总数 | 通过 | 失败 | 通过率 |
|---|---|---|---|---|
| 登录接口 | 6 | 6 | 0 | 100% |
| 博客列表接口 | 4 | 4 | 0 | 100% |
| 博客详情接口 | 4 | 4 | 0 | 100% |
| 发布博客接口 | 5 | 5 | 0 | 100% |
| 删除博客接口 | 4 | 4 | 0 | 100% |
| 合计 | 23 | 23 | 0 | 100% |
3.2.4 接口缺陷发现
| 缺陷ID | 接口 | 缺陷描述 | 严重程度 | 状态 |
|---|---|---|---|---|
| BUG-001 | 登录接口 | 密码错误时返回错误码为200(预期应为401),前端据此无法正确处理错误提示 | 中 | ✅ 已修复 |
| BUG-002 | 发布博客 | 标题为空时服务端未返回明确的字段校验错误提示(预期应返回"标题不能为空"等具体信息) | 低 | ✅ 已修复 |

4)性能测试
本次性能测试采用梯度加压方式模拟多用户并发访问,使用JMeter工具对博客系统核心接口进行压测,共发送 12,286个样本,总吞吐量达到 204.4 req/s。
测试场景设计:
| 测试接口 | 请求方式 | 核心业务 | 并发梯度 |
|---|---|---|---|
| 登录接口 | POST | 用户登录认证 | 0 → 5 → 10 → 15 → 20 |
| 博客列表页 | GET | 首页列表加载 | 0 → 5→ 10 → 15 → 20 |
| 博客详情页 | GET | 单篇博客查看 | 0 → 5→ 10 → 15 → 20 |
| 发布博客接口 | POST | 博客编辑与发布 | 0 → 5→ 10 → 15 → 20 |
| 删除博客接口 | POST | 博客删除操作 | 0 → 5→ 10 → 15 → 20 |
设置并发数量进行梯度压测测试,并导出测试报告以及图表

聚合报告:

响应时间:

吞吐量:

导出报告:

性能数据分析
| 分析维度 | 详情 |
|---|---|
| 平均响应时间 | 总体平均 70ms,各接口表现稳定(53~102ms),详情页最优(53ms),登录接口因涉及认证逻辑相对最慢(102ms) |
| 中位数 vs 平均值 | 各接口中位数与平均值接近(差值≤4ms),说明响应时间分布集中,无偶发长尾拖累平均值 |
| P99(99%百分位) | 总体P99为 140ms,即99%的请求在140ms内完成,远超互联网应用≤500ms的通用标准 |
| 最大响应时间 | 登录接口出现 1,106ms 的毛刺,推测为首次请求建立数据库连接或JVM冷启动导致,后续请求恢复正常 |
| 错误率 | 总体错误率 0.03%(仅详情页出现0.16%),其余接口均为0%,系统稳定性良好 |
| 吞吐量 | 整体吞吐量 204.4 req/s,满足中小型博客系统的日常访问需求 |
| 网络吞吐 | 接收 107.82 KB/sec,发送 73.98 KB/sec,网络带宽占用极低,不存在网络瓶颈 |
性能测试结论:
| 评估维度 | 结论 |
|---|---|
| 响应时间 | ✅ 平均70ms,P99仅140ms,远超行业标准 |
| 吞吐量 | ✅ 204.4 req/s,满足中小型博客系统日常访问需求 |
| 错误率 | ✅ 0.03%,系统高度稳定 |
| 稳定性 | ✅ 梯度加压过程中响应时间无劣化趋势 |
| 综合评估 | ✅ 性能表现优异,无性能瓶颈 |
4、遗留风险
本次测试未发现遗留风险,所有计划内测试用例均已执行通过,接口测试覆盖23条用例(含异常场景),UI自动化脚本运行稳定,性能测试各项指标均符合预期标准。
⚠️ 性能观察项:
- 登录接口出现单次 1,106ms 响应尖刺,推测为数据库连接建立或JVM冷启动导致,建议上线后关注登录接口的P99指标,若频繁出现可考虑优化数据库连接池预热策略。
5、测试结果评估
| 评估维度 | 结论 |
|---|---|
| 功能完整性 | ✅ 核心功能全部实现,功能用例覆盖率100% |
| 接口质量 | ✅ 接口测试23条用例全部通过,包含完整的异常场景覆盖 |
| UI自动化建设 | ✅ 核心模块已建立UI自动化回归能力,后续迭代可快速验证 |
| 性能表现 | ✅ 平均70ms,P99 140ms,吞吐量204.4 req/s,错误率0.03%,性能表现优异 |
| 上线建议 | ✅ 项目测试通过,建议上线 |
后续建议:
-
项目上线后持续监控线上用户操作日志,关注用户反馈
-
关注登录接口的P99响应时间(当前140ms),若随数据量增长而劣化,需排查数据库查询计划
-
接口测试用例后续可考虑转为自动化(如Postman Collection + Newman),提升回归效率
-
UI自动化脚本建议纳入CI/CD流水线,每次代码合并时自动触发回归
-
建议在未来用户量增长后,开展更高并发量(如50、100并发)的性能测试