《 Web项目测试实战:博客系统的功能/接口/自动化/性能全流程测试报告》

文章目录

摘要

本文完整记录博客系统的功能、接口、自动化、性能测试过程:共设计 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%,性能表现优异
上线建议 ✅ 项目测试通过,建议上线

后续建议

  1. 项目上线后持续监控线上用户操作日志,关注用户反馈

  2. 关注登录接口的P99响应时间(当前140ms),若随数据量增长而劣化,需排查数据库查询计划

  3. 接口测试用例后续可考虑转为自动化(如Postman Collection + Newman),提升回归效率

  4. UI自动化脚本建议纳入CI/CD流水线,每次代码合并时自动触发回归

  5. 建议在未来用户量增长后,开展更高并发量(如50、100并发)的性能测试


相关推荐
PhotonixBay3 小时前
InGaAs微透镜3D形貌怎么测?共聚焦显微镜在光通信的应用实践
功能测试·测试工具·3d·测试标准
Bug 挖掘机4 小时前
网传阿里天猫超市技术近期迎来调整,前端和测试团队合并为“智能交付”团队
自动化测试·软件测试·功能测试·测试开发·ai测试
2601_962295995 小时前
Python+Appium 自动化测试:从基础语法到 PO 模式设计,构建稳定测试框架
自动化测试·python·appium·测试框架·po模式
2601_962077715 小时前
selenium常用的三种等待方式:sleep(),隐性等待,显性等待
selenium·sleep·等待方式·隐性等待·显性等待
测试199817 小时前
如何用appium搭建Android自动化测试框架?
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
蒸鱼Yuzheng18 小时前
游戏画质档位怎么测:配置生效、重启持久化、降级与性能收益
性能测试·游戏测试·画质测试·渲染测试·图形设置
慧都小项1 天前
汽车工具链重复测试太耗人?用 TestComplete 自动跑
功能测试·回归·汽车·嵌入式·软件工程·测试覆盖率
IPdodo_1 天前
静态 IP 访问异常排查:403/429 归因与迁移验收
服务器·网络·数据库·python·网络协议·php·性能测试
程序员杰哥1 天前
如何做接口测试?
自动化测试·python·测试工具·职场和发展·测试用例·接口测试·postman