性能测试方案模板
项目性能测试方案
1.概述
1.1 编写目的
阐述编写本文案的目的是用于指导xxxx系统的性能测试,主要从测试环境,测试策略,测试具体执行方法,任务与进度表等事先计划和设计。
1.2 系统简介
对系统功能,技术特点进行简要描述
1.3 参考资料
列出编写方案的一些资料,如开发设计文档,用户使用手册,运维信息。
1.4 术语定义
阐述本方案的一些名词,约定,如下:
- 单交易测试:指一个链路,也可以指一个接口,一个功能
- 基准测试: 1个用户,跑一段时间,看看基本处理能力, 比如说系统tps,响应时间,服务器资源使用情况
- 混合交易测试: 多支交易按照交易比一起压测
1.5 测试目的
阐述本次性能测试目的,对需求分析的目的进行扩展性描述
2.测试范围
2.1 需要测试的特性
阐述本次性能测试需要进行测试部分的特点
2.2 不需要测试的特性
阐述本次性能测试不需要进行测试部分的特点
3. 准则
3.1 启动准则
阐述测试执行前必备的入口条件,如下:
- 环境设备安装调试完毕
- 测试数据已经准备完毕,并经过脱密,初始数据量满足测试要求
- 应用服务器已经安装成功,待测试版本已经正确部署
- 测试客户端机器到位,系统软件安装完毕
- 网络配置正确,连接通畅,可以满足压力测试需求
- 测试所需的存储到位
- 环境得到项目组签字确认
- 计划审核、批准完毕,项目组签字确认
3.2 结束准则
阐述测试执行退出的条件
3.3 暂停/再启动准则
阐述测试执行过程中在何种条件下会暂停测试
若执行暂停,需阐述再次启动执行过程的约束条件、
4.测试环境
4.1 系统网络拓补图
画出系统网络拓补图
画出系统软件架构图
4.2 硬件配置
阐述测试环境的硬件配置
主机 | 数量 | 型号 | 配置 | 操作系统 |
VSS分中心APP主机 | 1台 | HP小机型 | 4C8G | HP-UX 11.2 |
压力机 | 4台 | PC | 2G | Windows XP |
... | ... | ... | ... | ... |
4.3 软件配置
阐述测试环境的软件配置
资源 | 主机IP | 描述 |
应用 | ... | ... |
中间件 | ... | ... |
数据库 | ... | ... |
测试工具 | ... | ... |
监控工具 | ... | ... |
4.4 测试数据
阐述本次测试所需的数据,包括基准数据,测试数据,数据恢复策略
ps .
序号 | 交易名称 | 设计数据库的表 | 数据量说明 |
1 | 进件状态查询 | table1,table2,table3... | 100w存量个人客户,10w存量申请,2w审批流程 |
2 | 贷款申请 | table4,table5,table6... | 20w存量申请人电核项,10w 存量贷款电核项 |
3 | 电核 | ... | ... |
4.5 数据工具
工具类型 | 工具名称 | 厂商名称 | 用途 |
性能测试工具 | HP | loadrunner8.1 | 创建虚拟用户,并发测试 |
服务器监控工具 | nmon | IBM | 获取主机CPU,磁盘等性能指标 |
5. 测试需求
5.1 总体指标
主系统
指标类型 | 指标名称 | 是否关注 | 指标值 | 备注 |
业务类指标 | 处理能力TPS | 是 | 例:>200 | |
业务类指标 | 平均响应时间ART | 是 | 例:<2s | |
业务类指标 | 交易成功率 | 是 | 例:>99.9% | |
业务类指标 | 并发用户数 | 是 | 例:100 | |
资源使用率 | CPU使用率 | 是 | 例:<=80% | |
资源使用率 | MEM使用率 | 是 | 例:<=80% | |
资源使用率 | I/O使用率 | 是 | 例:<=80% | |
稳定性 | 持续时间 | 是 | 例:24H | |
稳定性 | 压力TPS | 是 | 例:最大TPS的70%,±10% | |
稳定性 | TPS波动率 | 是 | 例:±10% | |
稳定性 | I/O使用率 | 是 | 例:<=80% |
合作商系统期望指标
指标类型 | 指标名称 | 是否关注 | 指标值 | 备注 |
业务类指标 | 处理能力TPS | 是 | 例:>200 | |
业务类指标 | 平均响应时间ART | 是 | 例:<2s | |
业务类指标 | 交易成功率 | 是 | 例:>99.9% | |
业务类指标 | 并发用户数 | 是 | 例:100 | |
资源使用率 | CPU使用率 | 是 | 例:<=80% | |
资源使用率 | MEM使用率 | 是 | 例:<=80% | |
资源使用率 | I/O使用率 | 是 | 例:<=80% | |
稳定性 | 持续时间 | 是 | 例:24H | |
稳定性 | 压力TPS | 是 | 例:最大TPS的70%,±10% | |
稳定性 | TPS波动率 | 是 | 例:±10% | |
稳定性 | I/O使用率 | 是 | 例:±10% |
6. 测试策略
6.1 交易选择
主系统单交易见下表格:
【阐述以下表单中单交易由哪一个部门,哪一个人员选定,哪位领导人审批负责】
单交单名称 | 交易步骤 | 交易流程过程 |
签署流程 | 发起签署->个人登录->查看签约文件->个人意愿认证->获取签约文件->ps系统公司签署 | ps系统->电子签->ps系统 |
贷款申请录入和保存 | 新申请页面->点击‘客户信息’->客户信息页面点击‘暂存’->点击‘担保信息’->点击‘新增押品’->新增押品向导点击‘下一步’->押品详细信息页面点击‘保存’->点击‘业务信息’->业务信息页面点击‘暂存’ | 平台1->平台2 |
面签预约 | 面签预约待办事项->选取一笔任务点击‘预约’->预约信息页面点击‘保存’->预约信息页面点击‘提交’ | ... |
... | ... | ... |
关联系统单交易见下表格:
【本次合作商平台系统测试中所选用交易都由合作商项目组开发人员选定】
序号 | 模拟发起端 | 模块 | 业务场景 |
1 | 客户端 | 登录模块 | 登录 |
2 | 客户端 | 查询所有流程 | 查询 |
3 | 客户端 | 签署 | 公司签署 |
4 | 客户端 | 签署 | 公司作废 |
5 | 客户端 | 签署 | 公司删除 |
6 | 客户端 | 用户管理 | 新增外部用户 |
... | ... | ... | ... |
6.2 测试类型和场景
- 一阶段测试以主系统自身测试为主,分为单交易测试,混合性测试和稳定性测试
- 二阶段测试以全流程测试为主,分为单交易测试,混合性测试和稳定性测试
6.3 一阶段测试场景
6.3.1 基准测试场景
执行目的
- 验证主平台测试脚本以及测试参数的正确性
- 获取系统处理单笔交易性能数据,主要是交易平均响应时间;为后续单交易场景结果提供并发性能的比较基准
前置条件
【阐述前置条件】
操作步骤
【阐述操作条件】如下:
- 在测试环境无外在压力的情况下,模拟单用户,分别运行每个选取交易,迭代50次
- 监控服务器的资源消耗,监控数据库的运行状态
- 收集整理测试记录
序号 | 交易名称 | 并发用户数 | 执行时间 | 思考时间 | 备注 |
1 | 交易一 | 1 | 循环50次 | 无 | |
2 | 交易二 | 1 | 循环50次 | 无 | |
3 | 交易三 | 1 | 循环50次 | 无 | |
4 | 交易四 | 1 | 循环50次 | 无 | |
5 | 交易五 | 1 | 循环50次 | 无 | |
6 | 交易六 | 1 | 循环50次 | 无 | |
7 | 交易七 | 1 | 循环50次 | 无 | |
8 | 交易八 | 1 | 循环50次 | 无 | |
... | ... | ... | ... | ... | ... |
6.3.2 混合交易测试场景
执行目的
获取混合交易在主系统下最大处理能力
前置条件
【阐述前置条件,比如测试环境,所用到的测试数据】
操作步骤
- 在测试环境无外在压力的情况下,分别模拟用户数(10、50、100……执行梯度),运行选取交易,持续10分钟
- 监控服务器的资源消耗
- 收集整理测试记录
序号 | 交易名称 | 并发用户数 | 交易量占比 | 执行时间 | 思考时间 | 备注 |
1 | 交易一 | 梯度增加 | 10% | 10分钟 | 无 | |
2 | 交易二 | 梯度增加 | 10% | 10分钟 | 无 | |
3 | 交易三 | 梯度增加 | 10% | 10分钟 | 无 | |
4 | 交易四 | 梯度增加 | 10% | 10分钟 | 无 | |
5 | 交易五 | 梯度增加 | 10% | 10分钟 | 无 | |
6 | 交易六 | 梯度增加 | 10% | 10分钟 | 无 | |
7 | 交易七 | 梯度增加 | 10% | 10分钟 | 无 | |
8 | 交易八 | 梯度增加 | 10% | 10分钟 | 无 | |
... | ... | ... | ... | ... | ... | ... |
6.3.2 稳定性测试场景
执行目的
获取系统长时间稳定运行的能力
前置条件
- 【指明测试环境,测试数据】
- 完成混合测试,使用混合测试最大压力的70%作为稳定性压力
操作步骤
- 在测试环境无外在压力的情况下,取混合测试巅峰值70%-80%,运行混合交易,执行24小时
- 监控服务器的资源消耗
- 收集整理测试记录
序号 | 交易名称 | 并发用户数 | 交易量占比 | 执行时间 | 思考时间 | 备注 |
1 | 交易一 | 混合测试巅峰值70%-80% | 10% | 24小时 | 无 | |
2 | 交易二 | 混合测试巅峰值70%-80% | 10% | 24小时 | 无 | |
3 | 交易三 | 混合测试巅峰值70%-80% | 10% | 24小时 | 无 | |
4 | 交易四 | 混合测试巅峰值70%-80% | 10% | 24小时 | 无 | |
5 | 交易五 | 混合测试巅峰值70%-80% | 10% | 24小时 | 无 | |
6 | 交易六 | 混合测试巅峰值70%-80% | 10% | 24小时 | 无 | |
7 | 交易七 | 混合测试巅峰值70%-80% | 10% | 24小时 | 无 | |
8 | 交易八 | 混合测试巅峰值70%-80% | 10% | 24小时 | 无 | |
... | ... | ... | ... | ... | ... | ... |
6.4 二阶段测试场景
6.4.1 基准测试测试场景
6.4.2 合作商平台混合交易测试场景
6.4.3 合作商平台+主平台系统大混合交易测试场景
6.4.4 稳定性测试场景
7. 测试进度计划
该部分对本次测试计划进行整体说明,具体以《xx项目详细测试计划》为准,具体说明整个测试执行的时间,内容和人员
序号 | 任务项 | 计划开始时间 | 计划完成时间 | 牵头部门 | 备注 |
1 | 测试前期和环境准备 | ... | ... | ... | 测试相关详细信息调研、准备相关软硬件及OA应用系统部署调试(项目人员配合) |
2 | 测试环境,工具准备和方案讨论 | ... | ... | ... | 测试工具、监控工具安装调试,测试案例、场景、方案讨论、编写 |
3 | 测试方案确定和用例业务熟悉 | ... | ... | ... | 和开发业务人员熟悉测试案例,确定测试案例, 准备测试数据 |
4 | 脚本准备、场景准备 | ... | ... | ... | 测试脚本编写与调试,测试场景设计与调试 |
5 | 测试数据准备 | ... | ... | ... | 准备测试基础数据、配置脚本所需参数数据 |
6 | 执行性能测试 | ... | ... | ... | 执行性能测试,在测试环境依据测试场景执行测试(需要项目人员配合),采集监控数据 |
7 | 测试报告 | ... | ... | ... | 分析测试数据,撰写测试报告 |
... | ... | ... | ... | ... | ... |
8. 测试风险
预先估计本次测试可能发生的风险及规避措施
风险编号 | 风险描述 | 风险发生可能性 | 风险影响 | 责任人 | 规避方法 |
1 | 需求调研不够全面、客观,导致对需求分析和方案设计产生偏差,整体项目质量遭受较大影响和产生返工 | 中 | 高 | 刘文凡 | 严格控制调研的方式、对象范围、与不同人群做好调研分析、审核工作;一旦发现偏差及时调整返工; |
2 | 测试环境不能按时到位 | 低 | 高 | 刘文凡 | 协调是否有其他环境可以使用,能否提供暂时环境以供脚本开发、数据准备使用,等待环境到位,项目延期 |
4 | 测试环境受到干扰,比如中途服务器被征用,不能专职为本测试服务 | 高 | 高 | 刘文凡 | 寻找替代环境,暂停测试,等待测试环境恢复正常,推迟测试计划。 |
5 | ... | ... | ... | ... | ... |
... | ... | ... | ... | ... | ... |
山之阿