Skip to content

Redmine系统性能测试计划

1. 性能测试计划概述

1.1 测试目标

本性能测试计划旨在验证Redmine系统在各种负载条件下的性能表现,确保系统能够满足用户对响应时间、吞吐量和并发用户数的要求,识别性能瓶颈并提供优化建议。

1.2 测试范围

  • 功能模块:用户登录、项目管理、问题跟踪、过滤器功能
  • 性能指标:响应时间、吞吐量、并发用户数、资源使用率
  • 测试类型:负载测试、压力测试、容量测试、稳定性测试
  • 测试环境:开发环境、测试环境、预生产环境

1.3 测试策略

采用分层测试策略,从单用户到多用户,从轻负载到重负载,逐步验证系统性能,确保测试结果的准确性和可靠性。

2. 测试环境

2.1 硬件环境

2.1.1 服务器配置

组件 配置要求 说明
CPU Intel Xeon 8核 2.4GHz 或同等性能CPU
内存 16GB DDR4 推荐32GB
硬盘 500GB SSD 推荐1TB SSD
网络 千兆网卡 低延迟网络

2.1.2 负载机配置

组件 配置要求 数量
CPU Intel i5 4核 3台
内存 8GB DDR4 3台
硬盘 256GB SSD 3台
网络 千兆网卡 3台

2.2 软件环境

2.2.1 系统软件

软件 版本 说明
操作系统 CentOS 7.9 或Ubuntu 20.04
数据库 MySQL 或PostgreSQL
Web服务器 Nginx 1.20 + Passenger 6.0
Ruby Ruby Redmine运行环境

2.2.2 测试工具

工具 版本 用途
Apache JMeter 5.4 性能测试工具
Grafana Grafana 监控数据可视化
Prometheus Prometheus 指标收集
Node Exporter 1.2 系统指标收集

2.3 测试数据

2.3.1 基础数据

数据类型 数量 说明
用户账号 1000个 包含不同角色用户
项目数据 100个 不同状态的项目
问题数据 10000个 不同类型的问题
历史数据 6个月 历史操作记录

2.3.2 测试场景数据

场景类型 数据量 说明
登录场景 1000个用户 不同权限用户
项目管理 100个项目 不同规模项目
问题跟踪 10000个问题 不同状态问题
搜索场景 1000个查询 不同复杂度查询

3. 性能指标定义

3.1 响应时间指标

3.1.1 页面响应时间

页面类型 目标值 可接受值 不可接受值
登录页面 ≤2秒 ≤3秒 >5秒
项目列表 ≤2秒 ≤3秒 >5秒
项目详情 ≤2秒 ≤3秒 >5秒
问题列表 ≤3秒 ≤5秒 >8秒
问题详情 ≤2秒 ≤3秒 >5秒
搜索页面 ≤5秒 ≤8秒 >15秒

3.1.2 操作响应时间

操作类型 目标值 可接受值 不可接受值
用户登录 ≤2秒 ≤3秒 >5秒
创建项目 ≤3秒 ≤5秒 >8秒
修改项目 ≤2秒 ≤3秒 >5秒
创建问题 ≤3秒 ≤5秒 >8秒
修改问题 ≤2秒 ≤3秒 >5秒
搜索问题 ≤5秒 ≤8秒 >15秒

3.2 吞吐量指标

3.2.1 并发用户数

场景类型 目标值 可接受值 不可接受值
正常负载 100用户 80用户 <50用户
峰值负载 200用户 150用户 <100用户
极限负载 300用户 250用户 <200用户

3.2.2 事务处理能力

事务类型 目标值 可接受值 不可接受值
登录事务 50 TPS 40 TPS <30 TPS
项目事务 30 TPS 25 TPS <20 TPS
问题事务 40 TPS 30 TPS <25 TPS
搜索事务 20 TPS 15 TPS <10 TPS

3.3 资源使用指标

3.3.1 系统资源

资源类型 目标值 警告值 危险值
CPU使用率 ≤70% ≤80% >90%
内存使用率 ≤75% ≤85% >95%
磁盘I/O ≤70% ≤80% >90%
网络带宽 ≤60% ≤70% >80%

3.3.2 数据库资源

资源类型 目标值 警告值 危险值
连接数 ≤80% ≤90% >95%
查询响应时间 ≤100ms ≤200ms >500ms
锁等待时间 ≤50ms ≤100ms >200ms
缓存命中率 ≥90% ≥85% <80%

4. 测试用例设计

4.1 登录性能测试

4.1.1 单用户登录测试

用例编号 用例标题 测试目标 测试步骤 预期结果
PERF_LOGIN_001 单用户登录响应时间 验证登录响应时间 1. 配置单用户登录脚本
2. 执行100次登录
3. 统计响应时间
平均响应时间≤2秒
PERF_LOGIN_002 登录页面加载时间 验证页面加载性能 1. 配置页面加载测试
2. 执行100次页面加载
3. 统计加载时间
平均加载时间≤2秒

4.1.2 并发登录测试

用例编号 用例标题 测试目标 测试步骤 预期结果
PERF_LOGIN_003 10用户并发登录 验证10用户并发登录性能 1. 配置10用户并发
2. 执行5分钟测试
3. 分析响应时间
平均响应时间≤3秒
PERF_LOGIN_004 50用户并发登录 验证50用户并发登录性能 1. 配置50用户并发
2. 执行5分钟测试
3. 分析响应时间
平均响应时间≤5秒
PERF_LOGIN_005 100用户并发登录 验证100用户并发登录性能 1. 配置100用户并发
2. 执行5分钟测试
3. 分析响应时间
平均响应时间≤8秒

4.2 项目管理性能测试

4.2.1 项目创建性能测试

用例编号 用例标题 测试目标 测试步骤 预期结果
PERF_PROJECT_001 单用户创建项目 验证项目创建响应时间 1. 配置项目创建脚本
2. 执行50次创建
3. 统计响应时间
平均响应时间≤3秒
PERF_PROJECT_002 10用户并发创建项目 验证并发创建项目性能 1. 配置10用户并发
2. 执行5分钟测试
3. 分析响应时间
平均响应时间≤5秒
PERF_PROJECT_003 项目列表加载性能 验证项目列表加载时间 1. 配置列表加载测试
2. 执行100次加载
3. 统计加载时间
平均加载时间≤2秒

4.2.2 项目查看性能测试

用例编号 用例标题 测试目标 测试步骤 预期结果
PERF_PROJECT_004 项目详情查看性能 验证项目详情加载时间 1. 配置详情查看测试
2. 执行100次查看
3. 统计加载时间
平均加载时间≤2秒
PERF_PROJECT_005 项目搜索性能 验证项目搜索响应时间 1. 配置搜索测试
2. 执行50次搜索
3. 统计响应时间
平均响应时间≤3秒

4.3 问题跟踪性能测试

4.3.1 问题创建性能测试

用例编号 用例标题 测试目标 测试步骤 预期结果
PERF_ISSUE_001 单用户创建问题 验证问题创建响应时间 1. 配置问题创建脚本
2. 执行50次创建
3. 统计响应时间
平均响应时间≤3秒
PERF_ISSUE_002 20用户并发创建问题 验证并发创建问题性能 1. 配置20用户并发
2. 执行5分钟测试
3. 分析响应时间
平均响应时间≤5秒
PERF_ISSUE_003 问题列表加载性能 验证问题列表加载时间 1. 配置列表加载测试
2. 执行100次加载
3. 统计加载时间
平均加载时间≤3秒

4.3.2 问题搜索性能测试

用例编号 用例标题 测试目标 测试步骤 预期结果
PERF_ISSUE_004 问题搜索性能 验证问题搜索响应时间 1. 配置搜索测试
2. 执行50次搜索
3. 统计响应时间
平均响应时间≤5秒
PERF_ISSUE_005 过滤器性能测试 验证过滤器响应时间 1. 配置过滤器测试
2. 执行50次过滤
3. 统计响应时间
平均响应时间≤3秒

4.4 综合性能测试

4.4.1 混合场景测试

用例编号 用例标题 测试目标 测试步骤 预期结果
PERF_MIXED_001 混合业务场景 验证综合业务性能 1. 配置混合场景脚本
2. 执行30分钟测试
3. 分析综合性能
各项指标满足要求
PERF_MIXED_002 长时间稳定性测试 验证系统稳定性 1. 配置长时间测试
2. 执行24小时测试
3. 分析稳定性
无内存泄漏,性能稳定

5. 测试执行计划

5.1 执行时间安排

5.1.1 测试阶段

阶段 开始时间 结束时间 主要任务 参与人员
环境准备 第1天 第1天 搭建测试环境,准备测试数据 测试工程师、运维工程师
基准测试 第2天 第2天 执行基准性能测试 测试工程师
负载测试 第3天 第4天 执行各种负载测试 测试工程师
压力测试 第5天 第5天 执行压力测试 测试工程师
稳定性测试 第6天 第8天 执行长时间稳定性测试 测试工程师
结果分析 第9天 第9天 分析测试结果,生成报告 测试工程师、开发工程师

5.1.2 每日执行计划

时间 任务 负责人 备注
09:00-10:00 环境检查,测试准备 测试工程师 检查环境状态
10:00-12:00 执行性能测试 测试工程师 按计划执行测试
14:00-16:00 继续执行测试 测试工程师 监控测试过程
16:00-17:00 结果分析,报告整理 测试工程师 分析当日结果

5.2 资源分配

5.2.1 人力资源

角色 人数 职责 技能要求
测试经理 1人 测试计划制定,进度管理 性能测试经验,项目管理能力
测试工程师 2人 测试执行,结果分析 JMeter使用,性能分析能力
开发工程师 1人 技术支持,问题分析 系统架构,性能优化经验
运维工程师 1人 环境维护,监控支持 系统运维,监控工具使用

5.2.2 硬件资源

资源类型 数量 配置 用途
测试服务器 1台 8核16GB 部署Redmine系统
负载机 3台 4核8GB 执行性能测试
监控服务器 1台 4核8GB 监控系统性能
网络设备 1套 千兆交换机 网络连接

5.3 风险控制

5.3.1 技术风险

风险类型 风险描述 影响程度 应对措施
环境不稳定 测试环境不稳定导致测试失败 环境监控,备用环境
工具故障 测试工具故障影响测试执行 工具备份,多工具支持
数据问题 测试数据不完整或不准确 数据验证,数据备份
网络问题 网络不稳定影响测试结果 网络监控,网络优化

5.3.2 进度风险

风险类型 风险描述 影响程度 应对措施
时间延期 测试执行时间超过计划 合理规划,预留缓冲时间
资源不足 人力资源或硬件资源不足 资源调配,外部支持
需求变更 测试需求变更影响进度 需求确认,变更控制
质量问题 测试质量问题需要重新执行 质量检查,过程监控

6. 测试通过标准

6.1 性能指标通过标准

6.1.1 响应时间标准

指标类型 通过标准 说明
页面响应时间 95%的请求≤目标值 95%的页面请求响应时间不超过目标值
操作响应时间 90%的操作≤目标值 90%的操作响应时间不超过目标值
搜索响应时间 85%的搜索≤目标值 85%的搜索响应时间不超过目标值

6.1.2 吞吐量标准

指标类型 通过标准 说明
并发用户数 支持目标并发用户数 系统能够支持目标并发用户数
事务处理能力 TPS≥目标值 每秒事务数达到目标值
请求处理能力 RPS≥目标值 每秒请求数达到目标值

6.1.3 资源使用标准

指标类型 通过标准 说明
CPU使用率 ≤80% CPU使用率不超过80%
内存使用率 ≤85% 内存使用率不超过85%
磁盘I/O ≤80% 磁盘I/O使用率不超过80%
网络带宽 ≤70% 网络带宽使用率不超过70%

6.2 稳定性标准

6.2.1 错误率标准

指标类型 通过标准 说明
HTTP错误率 ≤1% HTTP错误率不超过1%
业务错误率 ≤0.5% 业务错误率不超过0.5%
系统崩溃 0次 测试期间系统不能崩溃

6.2.2 稳定性标准

指标类型 通过标准 说明
内存泄漏 无内存泄漏 长时间测试无内存泄漏
性能衰减 ≤10% 性能衰减不超过10%
系统可用性 ≥99.5% 系统可用性不低于99.5%

7. 测试报告

7.1 报告内容

7.1.1 执行摘要

  • 测试目标达成情况
  • 主要性能指标汇总
  • 关键问题总结
  • 优化建议概要

7.1.2 详细分析

  • 测试场景详细分析
  • 性能指标详细分析
  • 问题详细分析
  • 优化方案详细说明

7.1.3 图表展示

  • 性能趋势图
  • 资源使用图
  • 对比分析图
  • 瓶颈分析图

7.2 报告格式

7.2.1 报告结构

  1. 执行摘要
  2. 测试概述
  3. 测试环境
  4. 测试结果
  5. 问题分析
  6. 优化建议
  7. 附录

7.2.2 报告分发

接收人 报告类型 分发方式 频率
项目团队 完整报告 邮件 测试完成后
开发团队 技术报告 邮件 测试完成后
管理层 执行摘要 邮件 测试完成后
客户 客户报告 邮件 测试完成后

8. 后续计划

8.1 持续监控

8.1.1 监控计划

  • 实时监控:建立实时性能监控
  • 定期监控:定期性能评估
  • 趋势分析:性能趋势分析
  • 预警机制:性能预警机制

8.1.2 优化计划

  • 短期优化:立即实施的优化措施
  • 中期优化:3-6个月的优化计划
  • 长期优化:6-12个月的优化规划
  • 持续改进:持续的性能改进

8.2 经验总结

8.2.1 经验积累

  • 测试方法:总结有效的测试方法
  • 工具使用:总结工具使用经验
  • 问题处理:总结问题处理经验
  • 优化经验:总结性能优化经验

8.2.2 知识分享

  • 团队分享:团队内部分享经验
  • 文档整理:整理测试文档和最佳实践
  • 培训计划:制定性能测试培训计划
  • 工具推广:推广性能测试工具和方法